|
Slick OrderBook 1.1.0
High-Performance C++23 OrderBook Library
|
Hash table for fast OrderId -> Order* lookup Uses std::unordered_map for simplicity and performance Provides O(1) average-case lookup, insertion, and deletion. More...
#include <order_map.hpp>
Public Types | |
| using | MapType = std::unordered_map< OrderId, Order * > |
| using | iterator = MapType::iterator |
| using | const_iterator = MapType::const_iterator |
Public Member Functions | |
| OrderMap (std::size_t initial_capacity=1024) | |
| Constructor with initial capacity. | |
| bool | insert (Order *order) noexcept |
| Insert order into map. | |
| bool | erase (OrderId order_id) noexcept |
| Remove order from map. | |
| Order * | find (OrderId order_id) noexcept |
| Find order by OrderId. | |
| const Order * | find (OrderId order_id) const noexcept |
| bool | contains (OrderId order_id) const noexcept |
| Check if order exists. | |
| std::size_t | size () const noexcept |
| Get number of orders in map. | |
| bool | empty () const noexcept |
| Check if map is empty. | |
| void | reserve (std::size_t capacity) |
| Reserve capacity for orders. | |
| void | clear () noexcept |
| Clear all orders. | |
| iterator | begin () noexcept |
| Iterators. | |
| iterator | end () noexcept |
| const_iterator | begin () const noexcept |
| const_iterator | end () const noexcept |
| const_iterator | cbegin () const noexcept |
| const_iterator | cend () const noexcept |
Hash table for fast OrderId -> Order* lookup Uses std::unordered_map for simplicity and performance Provides O(1) average-case lookup, insertion, and deletion.
Definition at line 16 of file order_map.hpp.
| using slick::orderbook::detail::OrderMap::const_iterator = MapType::const_iterator |
Definition at line 20 of file order_map.hpp.
| using slick::orderbook::detail::OrderMap::iterator = MapType::iterator |
Definition at line 19 of file order_map.hpp.
| using slick::orderbook::detail::OrderMap::MapType = std::unordered_map<OrderId, Order*> |
Definition at line 18 of file order_map.hpp.
|
inlineexplicit |
Constructor with initial capacity.
Definition at line 23 of file order_map.hpp.
|
inlinenoexcept |
Definition at line 85 of file order_map.hpp.
|
inlinenoexcept |
Iterators.
Definition at line 83 of file order_map.hpp.
|
inlinenoexcept |
Definition at line 87 of file order_map.hpp.
|
inlinenoexcept |
Definition at line 88 of file order_map.hpp.
|
inlinenoexcept |
Clear all orders.
Definition at line 78 of file order_map.hpp.
|
inlinenoexcept |
Check if order exists.
Definition at line 58 of file order_map.hpp.
Referenced by slick::orderbook::OrderBookL3::addOrder().
|
inlinenoexcept |
Check if map is empty.
Definition at line 68 of file order_map.hpp.
|
inlinenoexcept |
Definition at line 86 of file order_map.hpp.
|
inlinenoexcept |
Definition at line 84 of file order_map.hpp.
|
inlinenoexcept |
Remove order from map.
| order_id | OrderId to remove |
Definition at line 40 of file order_map.hpp.
Referenced by slick::orderbook::OrderBookL3::deleteOrder().
Definition at line 52 of file order_map.hpp.
Find order by OrderId.
| order_id | OrderId to find |
Definition at line 47 of file order_map.hpp.
Referenced by slick::orderbook::OrderBookL3::addOrModifyOrder(), slick::orderbook::OrderBookL3::deleteOrder(), slick::orderbook::OrderBookL3::executeOrder(), and slick::orderbook::OrderBookL3::modifyOrder().
|
inlinenoexcept |
Insert order into map.
| order | Pointer to order (must not be null) |
Definition at line 30 of file order_map.hpp.
References SLICK_ASSERT.
Referenced by slick::orderbook::OrderBookL3::addOrModifyOrder().
|
inline |
Reserve capacity for orders.
Definition at line 73 of file order_map.hpp.
|
inlinenoexcept |
Get number of orders in map.
Definition at line 63 of file order_map.hpp.