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 size_t const roq::detail::MAX_LENGTH_ACCOUNT = 32

ClOrdId

struct ClOrdId : public roq::String<detail::MAX_LENGTH_CL_ORD_ID>
static size_t const roq::detail::MAX_LENGTH_CL_ORD_ID = 36

Currency

struct Currency : public roq::String<detail::MAX_LENGTH_CURRENCY>
static size_t const roq::detail::MAX_LENGTH_CURRENCY = 32

Description

struct Description : public roq::String<detail::MAX_LENGTH_DESCRIPTION>
static size_t const roq::detail::MAX_LENGTH_DESCRIPTION = 128

Exchange

struct Exchange : public roq::String<detail::MAX_LENGTH_EXCHANGE>
static size_t const roq::detail::MAX_LENGTH_EXCHANGE = 32

ExternalAccount

struct ExternalAccount : public roq::String<detail::MAX_LENGTH_EXTERNAL_ACCOUNT>
static size_t const roq::detail::MAX_LENGTH_EXTERNAL_ACCOUNT = 64

ExternalOrderId

struct ExternalOrderId : public roq::String<detail::MAX_LENGTH_EXTERNAL_ORDER_ID>
static size_t const roq::detail::MAX_LENGTH_EXTERNAL_ORDER_ID = 64

ExternalTradeId

struct ExternalTradeId : public roq::String<detail::MAX_LENGTH_EXTERNAL_TRADE_ID>
static size_t const roq::detail::MAX_LENGTH_EXTERNAL_TRADE_ID = 40

Label

struct Label : public roq::String<detail::MAX_LENGTH_LABEL>
static size_t const roq::detail::MAX_LENGTH_LABEL = 32

MeasurementKey

struct MeasurementKey : public roq::String<detail::MAX_LENGTH_MEASUREMENT_KEY>
static size_t const roq::detail::MAX_LENGTH_MEASUREMENT_KEY = 8

RequestTemplate

struct RequestTemplate : public roq::String<detail::MAX_LENGTH_REQUEST_TEMPLATE>
static size_t const roq::detail::MAX_LENGTH_REQUEST_TEMPLATE = 16

RequestId

struct RequestId : public roq::String<detail::MAX_LENGTH_REQUEST_ID>
static size_t const roq::detail::MAX_LENGTH_REQUEST_ID = 36

RoutingId

struct RoutingId : public roq::String<detail::MAX_LENGTH_ROUTING_ID>
static size_t const roq::detail::MAX_LENGTH_ROUTING_ID = 64

Source

struct Source : public roq::String<detail::MAX_LENGTH_USER>
static size_t const roq::detail::MAX_LENGTH_SOURCE = 16

Symbol

struct Symbol : public roq::String<detail::MAX_LENGTH_SYMBOL>
static size_t const roq::detail::MAX_LENGTH_SYMBOL = 48

TimeZone

struct TimeZone : public roq::String<detail::MAX_LENGTH_TIME_ZONE>
static size_t const roq::detail::MAX_LENGTH_TIME_ZONE = 32

User

struct User : public roq::String<detail::MAX_LENGTH_USER>
static size_t const roq::detail::MAX_LENGTH_USER = 16