MarketByPrice

struct MarketByPrice

Interface.

Public Functions

inline virtual ~MarketByPrice()
virtual std::string_view exchange() const = 0
virtual std::string_view symbol() const = 0
virtual uint16_t max_depth() const = 0
virtual double price_increment() const = 0
virtual double quantity_increment() const = 0
virtual Precision price_precision() const = 0
virtual Precision quantity_precision() const = 0
virtual uint16_t stream_id() const = 0
virtual std::chrono::nanoseconds exchange_time_utc() const = 0
virtual uint64_t exchange_sequence() const = 0
virtual uint32_t checksum() const = 0
virtual std::pair<size_t, size_t> size() const = 0
virtual bool empty() const = 0
virtual void clear() = 0
virtual std::pair<std::span<MBPUpdate const>, std::span<MBPUpdate const>> extract(std::span<MBPUpdate> const &bids, std::span<MBPUpdate> const &asks, bool allow_truncate = false) const = 0
virtual void extract_2(std::vector<MBPUpdate> &bids, std::vector<MBPUpdate> &asks, size_t max_depth = 0) const = 0
virtual std::span<Layer const> extract(std::span<Layer> const&, bool fill_zero = false) const = 0
virtual void extract_2(std::vector<Layer>&, size_t max_depth = 0) const = 0
virtual bool exists(Side, double price) const = 0
virtual std::pair<size_t, bool> find_index(Side, double price) const = 0
virtual double total_quantity(Side, double price) const = 0
virtual bool is_bad() const = 0
virtual Layer compute_vwap(double total_quantity) const = 0
virtual Layer compute_impact_price(double total_quantity, uint16_t number_of_orders = 0) const = 0
inline void operator()(auto const &value)
inline void operator()(std::span<MBPUpdate const> const &bids, std::span<MBPUpdate const> const &asks)
template<typename Callback>
inline void operator()(MarketByPriceUpdate const &market_by_price_update, std::vector<MBPUpdate> &bids, std::vector<MBPUpdate> &asks, Callback callback)
inline void operator()(Side side, MBPUpdate const &mbp_update)
template<typename Callback>
inline void create_snapshot(std::vector<MBPUpdate> &bids, std::vector<MBPUpdate> &asks, Callback callback) const
virtual void create_depth_update(MarketByPriceUpdate const&, size_t depth, std::vector<MBPUpdate> &bids, std::vector<MBPUpdate> &asks) const = 0