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

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...

#include <order.hpp>

Collaboration diagram for slick::orderbook::detail::Order:

Public Member Functions

 Order (OrderId id, Price p, Quantity qty, Side s, Timestamp ts, uint64_t prio) noexcept
 Constructor with all fields.
 
 Order (OrderId id, Price p, Quantity qty, Side s, Timestamp ts) noexcept
 Constructor with timestamp as priority (common case)
 
 Order () noexcept
 Default constructor (for pool allocation)
 
bool operator< (const Order &other) const noexcept
 Comparison operator for priority-based sorting Lower priority value = higher priority in queue.
 
bool operator> (const Order &other) const noexcept
 

Public Attributes

OrderId order_id
 
Price price
 
Quantity quantity
 
Side side
 
Timestamp timestamp
 
uint64_t priority
 
Order * prev
 
Order * next
 

Detailed Description

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)

Definition at line 14 of file order.hpp.

Constructor & Destructor Documentation

◆ Order() [1/3]

slick::orderbook::detail::Order::Order ( OrderId  id,
Price  p,
Quantity  qty,
Side  s,
Timestamp  ts,
uint64_t  prio 
)
inlinenoexcept

Constructor with all fields.

Definition at line 27 of file order.hpp.

◆ Order() [2/3]

slick::orderbook::detail::Order::Order ( OrderId  id,
Price  p,
Quantity  qty,
Side  s,
Timestamp  ts 
)
inlinenoexcept

Constructor with timestamp as priority (common case)

Definition at line 39 of file order.hpp.

◆ Order() [3/3]

slick::orderbook::detail::Order::Order ( )
inlinenoexcept

Default constructor (for pool allocation)

Definition at line 44 of file order.hpp.

Member Function Documentation

◆ operator<()

bool slick::orderbook::detail::Order::operator< ( const Order &  other) const
inlinenoexcept

Comparison operator for priority-based sorting Lower priority value = higher priority in queue.

Definition at line 57 of file order.hpp.

◆ operator>()

bool slick::orderbook::detail::Order::operator> ( const Order &  other) const
inlinenoexcept

Definition at line 61 of file order.hpp.

Member Data Documentation

◆ next

Order* slick::orderbook::detail::Order::next

Definition at line 24 of file order.hpp.

◆ order_id

OrderId slick::orderbook::detail::Order::order_id

◆ prev

Order* slick::orderbook::detail::Order::prev

Definition at line 23 of file order.hpp.

◆ price

◆ priority

◆ quantity

◆ side

◆ timestamp

Timestamp slick::orderbook::detail::Order::timestamp

The documentation for this struct was generated from the following file: