FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
fastmm::InstrumentTable Class Reference

Dense-by-id table built at startup; symbol lookup is a sorted FlatMap keyed by (venue, symbol). More...

#include <fastmm/core/instrument.hpp>

Classes

struct  Key
 

Public Member Functions

Result< InstrumentId, InstrumentError > add (const Instrument &inst) noexcept
 
std::size_t size () const noexcept
 
bool contains (InstrumentId id) const noexcept
 
const Instrument & get (InstrumentId id) const noexcept
 
Instrument & get (InstrumentId id) noexcept
 
const Instrument & operator[] (InstrumentId id) const noexcept
 
const Instrument * find (VenueId venue, std::string_view symbol) const noexcept
 
const Instrument * begin () const noexcept
 
const Instrument * end () const noexcept
 
const Instrument * data () const noexcept
 
SettlementMix settlement_mix () const noexcept
 Two instruments settle alike when they name the same settlement currency, linear or inverse (Deribit's inverse BTC-PERPETUAL and its BTC-quoted options both settle in BTC); an unnamed currency only matches another unnamed one of the same kind.
 
void clear () noexcept
 

Detailed Description

Dense-by-id table built at startup; symbol lookup is a sorted FlatMap keyed by (venue, symbol).

Ids are the insertion index.

Member Function Documentation

◆ add()

Result< InstrumentId, InstrumentError > fastmm::InstrumentTable::add ( const Instrument &  inst)
inlinenoexcept

◆ size()

std::size_t fastmm::InstrumentTable::size ( ) const
inlinenoexcept

◆ contains()

bool fastmm::InstrumentTable::contains ( InstrumentId  id) const
inlinenoexcept

◆ get() [1/2]

const Instrument & fastmm::InstrumentTable::get ( InstrumentId  id) const
inlinenoexcept

◆ get() [2/2]

Instrument & fastmm::InstrumentTable::get ( InstrumentId  id)
inlinenoexcept

◆ operator[]()

const Instrument & fastmm::InstrumentTable::operator[] ( InstrumentId  id) const
inlinenoexcept

◆ find()

const Instrument * fastmm::InstrumentTable::find ( VenueId  venue,
std::string_view  symbol 
) const
inlinenoexcept

◆ begin()

const Instrument * fastmm::InstrumentTable::begin ( ) const
inlinenoexcept

◆ end()

const Instrument * fastmm::InstrumentTable::end ( ) const
inlinenoexcept

◆ data()

const Instrument * fastmm::InstrumentTable::data ( ) const
inlinenoexcept

◆ settlement_mix()

SettlementMix fastmm::InstrumentTable::settlement_mix ( ) const
inlinenoexcept

Two instruments settle alike when they name the same settlement currency, linear or inverse (Deribit's inverse BTC-PERPETUAL and its BTC-quoted options both settle in BTC); an unnamed currency only matches another unnamed one of the same kind.

◆ clear()

void fastmm::InstrumentTable::clear ( )
inlinenoexcept