Slick OrderBook 1.1.0
High-Performance C++23 OrderBook Library
Loading...
Searching...
No Matches
slick::orderbook::detail Namespace Reference

Classes

struct  AskComparator
 Comparator for sorting ask levels (ascending price) More...
 
struct  AskComparatorL3
 Comparator for sorting ask levels (ascending price) More...
 
struct  BidComparator
 Comparator for sorting bid levels (descending price) More...
 
struct  BidComparatorL3
 Comparator for sorting bid levels (descending price) More...
 
class  IntrusiveList
 Intrusive doubly-linked list for zero-allocation order management. More...
 
class  LevelContainer
 Container for storing sorted price levels Uses a sorted vector for cache-friendly storage (optimal for < 100 levels) More...
 
class  ObjectPool
 Object pool for zero-allocation management of frequently created/destroyed objects. More...
 
struct  Order
 Order structure for Level 3 orderbook Uses intrusive list design for zero-allocation order queues at each price level Cache-aligned to 64 bytes for optimal performance (exactly 1 cache line) More...
 
class  OrderMap
 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...
 
struct  PriceLevelL2
 Price level for Level 2 orderbook (aggregated) Stores total quantity at a specific price point. More...
 
struct  PriceLevelL3
 Price level for Level 3 orderbook (order-by-order) Maintains a queue of individual orders at this price level. More...
 

Typedefs

template<typename Key , typename Value , typename Compare = std::less<Key>>
using FlatMap = std::map< Key, Value, Compare >
 Cache-friendly sorted map.
 

Typedef Documentation

◆ FlatMap

template<typename Key , typename Value , typename Compare = std::less<Key>>
using slick::orderbook::detail::FlatMap = typedef std::map<Key, Value, Compare>

Cache-friendly sorted map.

Uses std::flat_map (C++23) if available, which provides:

  • Excellent cache locality (contiguous storage)
  • Fast iteration (sequential memory access)
  • Binary search for lookups (O(log n))

Falls back to std::map on compilers without C++23 flat_map support.

Template Parameters
KeyKey type (must be comparable)
ValueValue type
CompareComparison function (default: std::less<Key>)

Definition at line 37 of file flat_map.hpp.