|
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
|
Strongly typed identifiers. More...
#include "fastmm/core/config_macros.hpp"#include "fastmm/core/fixed_string.hpp"#include "fastmm/core/hex.hpp"#include <compare>#include <cstddef>#include <cstdint>#include <cstring>#include <functional>#include <limits>#include <optional>#include <string_view>#include <type_traits>Go to the source code of this file.
Classes | |
| struct | fastmm::StrongId< Tag, Rep, kInvalid > |
| struct | fastmm::Handle< T > |
| struct | std::hash< fastmm::StrongId< Tag, Rep, I > > |
Namespaces | |
| namespace | fastmm |
Typedefs | |
| using | fastmm::InstrumentId = StrongId< struct InstrumentTag, std::uint32_t > |
| Dense index into the engine's instrument table. | |
| using | fastmm::VenueId = StrongId< struct VenueTag, std::uint8_t > |
| using | fastmm::ClientOrderId = StrongId< struct ClientOrderTag, std::uint64_t, 0 > |
| 48-bit: session_epoch(16) << 32 | seq(32). 0 is never issued. | |
| using | fastmm::VenueOrderId = FixedString< 40 > |
| using | fastmm::TimerId = StrongId< struct TimerTag, std::uint32_t > |
| using | fastmm::ExecId = FixedString< 40 > |
Functions | |
| FASTMM_FORCE_INLINE void | fastmm::write_cl_ord_id (char *dst, ClientOrderId id) noexcept |
| Writes the kClOrdIdChars characters of the wire form to dst (no terminator) with two 8-byte stores. | |
| FixedString< 16 > | fastmm::encode_cl_ord_id (ClientOrderId id) noexcept |
| std::optional< ClientOrderId > | fastmm::decode_cl_ord_id (std::string_view s) noexcept |
| constexpr ClientOrderId | fastmm::make_cl_ord_id (std::uint16_t epoch, std::uint32_t seq) noexcept |
| constexpr std::uint16_t | fastmm::cl_ord_id_epoch (ClientOrderId id) noexcept |
| constexpr std::uint32_t | fastmm::cl_ord_id_seq (ClientOrderId id) noexcept |
Variables | |
| constexpr std::uint32_t | fastmm::kNullHandle = std::numeric_limits<std::uint32_t>::max() |
| 32-bit pool index handle. | |
| constexpr std::size_t | fastmm::kClOrdIdChars = 14 |
| "fm" + 12 lowercase hex digits (48 bits) = 14 chars. Fits Binance (36) and Bybit (36). | |
Strongly typed identifiers.
Mixing an InstrumentId with a VenueId is a compile error.