33template <
typename Callable>
34ONIXS_ICEBOE_FORCEINLINE
35auto convert(
typename ArgType<Callable>::type value)
noexcept(
noexcept(Callable::Nothrow))
36 ->
decltype(std::declval<Callable>()(std::declval<
typename ArgType<Callable>::type>()))
38 return Callable{}(value);
41template <
typename NullValue,
typename Callable>
42auto convert(
typename ArgType<Callable>::type value,
OptionalTag)
noexcept(
noexcept(Callable::Nothrow))
43 ->
SbeOptionalConverted<
decltype(std::declval<Callable>()(std::declval<
typename ArgType<Callable>::type>()))>
45 using ReturnType =
decltype(std::declval<Callable>()(std::declval<typename ArgType<Callable>::type>()));
47 if(value == NullValue::value())
174 headerFlags_ = value;
178 BlockLength blockLength_;
179 TemplateId templateId_;
227 std::memcpy(
reinterpret_cast<Char*
>(
this) +
Size, value.data(), value.size());
281 std::memcpy(
reinterpret_cast<Char*
>(
this) +
Size, value.data(), value.size());
335 std::memcpy(
reinterpret_cast<Char*
>(
this) +
Size, value.data(), value.size());
378 blockLength_ = value;
395 BlockLength blockLength_;
396 NumInGroup numInGroup_;
428 blockLength_ = value;
445 BlockLength blockLength_;
446 NumInGroup numInGroup_;
478 systemSequenceId_(0),
511 typedef SystemID FirstArgType;
513 typedef SystemSequenceID SecondArgType;
523 std::memcpy(addr, &systemId_,
sizeof(systemId_));
526 std::memcpy(addr, &systemSequenceId_,
sizeof(systemSequenceId_));
529 std::memcpy(addr, &transactTime_,
sizeof(transactTime_));
549 return systemSequenceId_;
555 systemSequenceId_ = value;
580 (this->systemId_ == other.systemId_) &&
581 (this->systemSequenceId_ == other.systemSequenceId_) &&
582 (this->transactTime_ == other.transactTime_);
589 return !(*
this == other);
594 SystemSequenceID systemSequenceId_;
662 typedef OriginalSystemID FirstArgType;
672 std::memcpy(addr, &originalSystemId_,
sizeof(originalSystemId_));
675 std::memcpy(addr, &originalCreationTimestamp_,
sizeof(originalCreationTimestamp_));
684 return originalSystemId_;
692 originalSystemId_ = value;
706 originalCreationTimestamp_,
733 return !(*
this == other);
737 OriginalSystemID originalSystemId_;
751 bool operator ==(
const Value& other)
const noexcept
755 other.originalSystemId());
760 bool operator !=(
const Value& other)
const noexcept
762 return !(*
this == other);
794 (this->originalSystemId_ == other.originalSystemId_) &&
795 (this->originalCreationTimestamp_ == other.originalCreationTimestamp_);
#define ONIXS_ICEBOE_MESSAGING_NAMESPACE_BEGIN
#define ONIXS_ICEBOE_MESSAGING_NAMESPACE_END
#define ONIXS_ICEBOE_DATA_PACKING_END
#define ONIXS_ICEBOE_NODISCARD
#define ONIXS_ICEBOE_DATA_PACKING_BEGIN(alignment)
NumInGroup numInGroup() const noexcept
void numInGroup(NumInGroup value) noexcept
Sets the numInGroup field.
std::string toString() const
void blockLength(BlockLength value) noexcept
Sets the blockLength field.
UInt16 BlockLength
Type alias for the BlockLength.
UInt16 NumInGroup
Type alias for the NumInGroup.
BlockLength blockLength() const noexcept
MaxOneGroupSizeEncoding type.
NumInGroup numInGroup() const noexcept
void numInGroup(NumInGroup value) noexcept
Sets the numInGroup field.
std::string toString() const
void blockLength(BlockLength value) noexcept
Sets the blockLength field.
UInt16 BlockLength
Type alias for the BlockLength.
UInt16 NumInGroup
Type alias for the NumInGroup.
BlockLength blockLength() const noexcept
void transactTime(Timestamp value) noexcept(timestampToTicks::Nothrow)
Sets the transactTime field.
bool operator==(const OrderExecID &other) const noexcept
Compares encoded data.
Int32 SystemSequenceID
Type alias for the SystemSequenceID.
OrderExecID(SystemID systemId, SystemSequenceID systemSequenceId, Timestamp transactTime) noexcept(timestampToTicks::Nothrow)
Initializes fields with the provided values.
SystemSequenceID systemSequenceId() const noexcept
Timestamp transactTime() const noexcept(ticksToTimestamp::Nothrow)
SystemID systemId() const noexcept
UInt64 UTCTimestamp
Type alias for the TransactTime.
void systemId(SystemID value) noexcept
Sets the systemID field.
void systemSequenceId(SystemSequenceID value) noexcept
Sets the systemSequenceID field.
Int64 SystemID
Type alias for the SystemID.
void serialize(void *addr) const noexcept
Serializes to a data buffer.
constexpr OrderExecID() noexcept
Default constructor.
constexpr OrderExecID(SystemID systemId, SystemSequenceID systemSequenceId, UTCTimestamp transactTime) noexcept
Initializes fields with the provided values.
bool operator!=(const OrderExecID &other) const noexcept
Compares encoded data.
void originalSystemId(OriginalSystemID value) noexcept
Sets the originalSystemID field.
void originalCreationTimestamp(Timestamp value) noexcept(timestampToTicks::Nothrow)
Sets the originalCreationTimestamp field.
void originalSystemId(NullOpt) noexcept
bool operator!=(const OriginalOrderID &other) const noexcept
Compares encoded data.
IntegralConstant< Int64, -9223372036854775807LL-1 > NullOriginalSystemID
Null value for an optional OriginalSystemID field.
IntegralConstant< UInt64, 0ULL > NullUTCTimestamp
Null value for an optional UTCTimestamp field.
UInt64 UTCTimestamp
Type alias for the OriginalCreationTimestamp.
auto originalCreationTimestamp() const noexcept(ticksToTimestamp::Nothrow)
bool operator==(const OriginalOrderID &other) const noexcept
Compares encoded data.
constexpr OriginalOrderID(OriginalSystemID originalSystemId, UTCTimestamp originalCreationTimestamp) noexcept
Initializes fields with the provided values.
void originalCreationTimestamp(NullOpt) noexcept
void serialize(void *addr) const noexcept
Serializes to a data buffer.
constexpr OriginalOrderID() noexcept
Default constructor.
OriginalSystemID originalSystemId() const noexcept
OriginalOrderID(OriginalSystemID originalSystemId, Timestamp originalCreationTimestamp) noexcept(timestampToTicks::Nothrow)
Initializes fields with the provided values.
Int64 OriginalSystemID
Type alias for the OriginalSystemID.
static ONIXS_ICEBOE_FORCEINLINE constexpr SbeOptionalConverted< T > null() noexcept
The time point without the time-zone information.
ONIXS_ICEBOE_WRAP_F(ticksToTimestampImpl) ticksToTimestamp
UInt64 UTCTimestamp
Nanoseconds since Unix epoch (January 1st, 1970).
char Char
Character type alias.
MessageHeader MessageHeaderBuilder
ONIXS_ICEBOE_FORCEINLINE Type * advanceByBytes(Type *pointer, ptrdiff_t distance) noexcept
Advances the pointer to a given offset (distance) in bytes.
HeaderFlags
HeaderFlags type.
ONIXS_ICEBOE_WRAP_F(timestampToTicksImpl) timestampToTicks
std::basic_string_view< Char > StrRef
MessageHeader::SchemaId SchemaId
MessageHeader::SequenceId SequenceId
bool operator==(const Decimal &left, const Decimal &right) noexcept
constexpr OptionalTag optional
ONIXS_ICEBOE_FORCEINLINE auto convert(typename ArgType< Callable >::type value) noexcept(noexcept(Callable::Nothrow)) -> decltype(std::declval< Callable >()(std::declval< typename ArgType< Callable >::type >()))
StrRef varData() const noexcept
UInt8 VarData
VarData type.
Length binarySize() const noexcept
UInt16 Length
Length type.
void length(Length value) noexcept
Sets the length.
void varData(StrRef value) noexcept
Sets the varData field.
Length length() const noexcept
Null values definition for optional OriginalOrderID field.
constexpr Value operator()() const noexcept
static constexpr Value value() noexcept
OriginalOrderID Value
Aliases the type whose null value traits are exposed by the given class.
StrRef varData() const noexcept
Length binarySize() const noexcept
UInt16 Length
Length type.
void length(Length value) noexcept
Sets the length.
void varData(StrRef value) noexcept
Sets the varData field.
Char VarData
VarData type.
Length length() const noexcept
StrRef varData() const noexcept
Length binarySize() const noexcept
void length(Length value) noexcept
Sets the length.
void varData(StrRef value) noexcept
Sets the varData field.
Char VarData
VarData type.
Length length() const noexcept