How tzadiko/orderbook works
This is a C++ in-memory limit order book. Its public API accepts orders, cancellations, and modifications; matching produces trades, while callers can query aggregated bid/ask levels. The supplied executable only constructs an order book, so it does not demonstrate a full user-facing workflow. Matching, order lifecycle, level aggregation, and Good-for-Day pruning are implemented in Orderbook.cpp; no external persistence or trading service is shown.
Main entry points: Orderbook.cpp Order book operations · Order.h Order · Orderbook.h In-memory book state · Trade.h Trade results
Components 15
Executable entry
- Program entry
main.cpp
Order domain
- Order
Order.h - Order modification
OrderModify.h - Order types
OrderType.h - Order side
Side.h
Order book engine
- Order book API
Orderbook.h - Order book operations
Orderbook.cpp - In-memory book state
Orderbook.h - Order matching
Orderbook.cpp - Day-order pruning
Orderbook.cpp - Level aggregates
Orderbook.cpp
Outputs
- Trade results
Trade.h - Trade details
TradeInfo.h - Book-level snapshot
OrderbookLevelInfos.h - Price-level data
LevelInfo.h
Connections 17
- Program entry → Order book API: constructs
- Order book API → Order book operations: delegates
- Order book operations → In-memory book state: updates
- Order book operations → Order: accepts
- Order book operations → Order modification: converts
- Order book operations → Order matching: matches
- Order book operations → Day-order pruning: starts
- Day-order pruning → Order book operations: cancels
- Order matching → In-memory book state: reads/writes
- Order matching → Trade results: produces
- Trade results → Trade details: contains
- Order book operations → Level aggregates: updates
- Level aggregates → In-memory book state: updates
- Order book operations → Book-level snapshot: returns
- Book-level snapshot → Price-level data: contains
- Order → Order types: uses
- Order → Order side: uses