5#include "fastmm/core/fixed_string.hpp"
27 out.push_back(
static_cast<char>(kind));
32[[nodiscard]]
inline std::optional<std::pair<RequestKind, ClientOrderId>>
parse_request_id(
33 std::string_view
id)
noexcept {
36 if (k !=
'n' && k !=
'c' && k !=
'r' && k !=
'a')
return std::nullopt;
38 if (!cl)
return std::nullopt;
39 return std::make_pair(
static_cast<RequestKind>(k), *cl);
RequestId make_request_id(RequestKind kind, ClientOrderId id) noexcept
Definition request_id.hpp:27
FixedString< 16 > RequestId
Definition request_id.hpp:16
std::optional< std::pair< RequestKind, ClientOrderId > > parse_request_id(std::string_view id) noexcept
Returns the kind and id encoded by make_request_id, or nullopt for foreign ids.
Definition request_id.hpp:34
RequestKind
Amend: a replace the venue applies to the resting order (Binance Spot keepPriority); its response has...
Definition request_id.hpp:19
constexpr std::size_t kClOrdIdChars
"fm" + 12 lowercase hex digits (48 bits) = 14 chars. Fits Binance (36) and Bybit (36).
Definition strong_id.hpp:63
std::optional< ClientOrderId > decode_cl_ord_id(std::string_view s) noexcept
Definition strong_id.hpp:84
FixedString< 16 > encode_cl_ord_id(ClientOrderId id) noexcept
Definition strong_id.hpp:77
Strongly typed identifiers.