String#

template<std::size_t N>
struct String#

A fixed-length string buffer with automatic conversion to/from std::string_view.

This is useful for managing fixed length arrays as if they were string-like. Typically used to avoid heap allocations, e.g. stack allocated structs used for messaging.

This is a higher level abstraction than std::array to provide more * string-specific features. The interface is a subset of std::string and std::string_view.

Account#

struct Account : public roq::String<detail::MAX_LENGTH_ACCOUNT>#
static constexpr auto const roq::detail::MAX_LENGTH_ACCOUNT = size_t{32}#

ClOrdId#

struct ClOrdId : public roq::String<detail::MAX_LENGTH_CL_ORD_ID>#
static constexpr auto const roq::detail::MAX_LENGTH_CL_ORD_ID = size_t{36}#

Currency#

struct Currency : public roq::String<detail::MAX_LENGTH_CURRENCY>#
static constexpr auto const roq::detail::MAX_LENGTH_CURRENCY = size_t{32}#

Description#

struct Description : public roq::String<detail::MAX_LENGTH_DESCRIPTION>#
static constexpr auto const roq::detail::MAX_LENGTH_DESCRIPTION = size_t{128}#

Exchange#

struct Exchange : public roq::String<detail::MAX_LENGTH_EXCHANGE>#
static constexpr auto const roq::detail::MAX_LENGTH_EXCHANGE = size_t{32}#

ExternalAccount#

struct ExternalAccount : public roq::String<detail::MAX_LENGTH_EXTERNAL_ACCOUNT>#
static constexpr auto const roq::detail::MAX_LENGTH_EXTERNAL_ACCOUNT = size_t{64}#

ExternalOrderId#

struct ExternalOrderId : public roq::String<detail::MAX_LENGTH_EXTERNAL_ORDER_ID>#
static constexpr auto const roq::detail::MAX_LENGTH_EXTERNAL_ORDER_ID = size_t{64}#

ExternalTradeId#

struct ExternalTradeId : public roq::String<detail::MAX_LENGTH_EXTERNAL_TRADE_ID>#
static constexpr auto const roq::detail::MAX_LENGTH_EXTERNAL_TRADE_ID = size_t{40}#

Label#

struct Label : public roq::String<detail::MAX_LENGTH_LABEL>#
static constexpr auto const roq::detail::MAX_LENGTH_LABEL = size_t{32}#

MeasurementKey#

struct MeasurementKey : public roq::String<detail::MAX_LENGTH_MEASUREMENT_KEY>#
static constexpr auto const roq::detail::MAX_LENGTH_MEASUREMENT_KEY = size_t{8}#

RequestTemplate#

struct RequestTemplate : public roq::String<detail::MAX_LENGTH_REQUEST_TEMPLATE>#
static constexpr auto const roq::detail::MAX_LENGTH_REQUEST_TEMPLATE = size_t{16}#

RequestId#

struct RequestId : public roq::String<detail::MAX_LENGTH_REQUEST_ID>#
static constexpr auto const roq::detail::MAX_LENGTH_REQUEST_ID = size_t{36}#

RoutingId#

struct RoutingId : public roq::String<detail::MAX_LENGTH_ROUTING_ID>#
static constexpr auto const roq::detail::MAX_LENGTH_ROUTING_ID = size_t{64}#

Source#

struct Source : public roq::String<detail::MAX_LENGTH_USER>#
static constexpr auto const roq::detail::MAX_LENGTH_SOURCE = size_t{16}#

Symbol#

struct Symbol : public roq::String<detail::MAX_LENGTH_SYMBOL>#
static constexpr auto const roq::detail::MAX_LENGTH_SYMBOL = size_t{48}#

TimeZone#

struct TimeZone : public roq::String<detail::MAX_LENGTH_TIME_ZONE>#
static constexpr auto const roq::detail::MAX_LENGTH_TIME_ZONE = size_t{32}#

User#

struct User : public roq::String<detail::MAX_LENGTH_USER>#
static constexpr auto const roq::detail::MAX_LENGTH_USER = size_t{16}#