|
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
|
SymbolTable (6.2): venue symbol <-> InstrumentId. More...
#include "fastmm/core/instrument.hpp"#include "fastmm/core/strong_id.hpp"#include <array>#include <cstddef>#include <cstdint>#include <string_view>Go to the source code of this file.
Classes | |
| class | fastmm::venues::SymbolTable |
Namespaces | |
| namespace | fastmm |
| namespace | fastmm::venues |
Functions | |
| constexpr char | fastmm::venues::ascii_upper (char c) noexcept |
| constexpr char | fastmm::venues::ascii_lower (char c) noexcept |
| constexpr std::uint64_t | fastmm::venues::symbol_hash (std::string_view s) noexcept |
| FNV-1a over the upper-cased bytes. | |
| constexpr bool | fastmm::venues::iequals_symbol (std::string_view a, std::string_view b) noexcept |
SymbolTable (6.2): venue symbol <-> InstrumentId.
Built once at startup from the InstrumentTable, read-only afterwards, so the net threads can share it without locks.
Lookup is an open-addressing table keyed by (VenueId, FNV-1a of the upper-cased symbol); venues differ in case (Binance streams are lowercase, REST/user-data payloads uppercase, Bybit always uppercase) so the canonical key is uppercase and lookups fold case on the fly without allocating.