37 static const bool Value =
false;
40template <std::
intmax_t TNum, std::
intmax_t TDen>
41struct IsRatio<
std::ratio<TNum, TDen> >
43 static const bool Value =
true;
47constexpr bool isRatio()
49 return IsRatio<T>::Value;
52template<
typename T, T TVal>
53struct DefaultNumValueInitialiser
55 template <
typename TField>
56 void operator()(TField&& field)
58 using FieldType =
typename std::decay<TField>::type;
59 using ValueType =
typename FieldType::ValueType;
60 field.value() =
static_cast<ValueType
>(TVal);
64template<std::
intmax_t TMinValue, std::
intmax_t TMaxValue>
65struct NumValueRangeValidator
68 TMinValue <= TMaxValue,
69 "Min value must be not greater than Max value");
71 template <
typename TField>
72 constexpr bool operator()(
const TField& field)
const
76 (std::numeric_limits<
decltype(MinValue)>::min() < MinValue)
84 (MaxValue < std::numeric_limits<
decltype(MaxValue)>::max())
90 return aboveMin(field.value(), MinTag()) && belowMax(field.value(), MaxTag());
94 struct ReturnTrueTag {};
97 template <
typename TValue>
98 static constexpr bool aboveMin(
const TValue& value, CompareTag)
100 using ValueType =
typename std::decay<
decltype(value)>::type;
101 return (
static_cast<ValueType
>(MinValue) <=
static_cast<ValueType
>(value));
104 template <
typename TValue>
105 static constexpr bool aboveMin(
const TValue&, ReturnTrueTag)
110 template <
typename TValue>
111 static constexpr bool belowMax(
const TValue& value, CompareTag)
113 using ValueType =
typename std::decay<
decltype(value)>::type;
114 return (value <=
static_cast<ValueType
>(MaxValue));
117 template <
typename TValue>
118 static constexpr bool belowMax(
const TValue&, ReturnTrueTag)
123 static const auto MinValue = TMinValue;
124 static const auto MaxValue = TMaxValue;
127template<std::u
intmax_t TMask, std::u
intmax_t TValue>
128struct BitmaskReservedBitsValidator
130 template <
typename TField>
131 constexpr bool operator()(TField&& field)
const
133 using FieldType =
typename std::decay<TField>::type;
134 using ValueType =
typename FieldType::ValueType;
136 return (field.value() &
static_cast<ValueType
>(TMask)) ==
static_cast<ValueType
>(TValue);
140template <comms::field::OptionalMode TVal>
141struct DefaultOptModeInitialiser
143 template <
typename TField>
144 void operator()(TField& field)
const
150template<std::
size_t TIdx>
151struct DefaultVariantIndexInitialiser
153 template <
typename TField>
154 void operator()(TField& field)
156 field.template initField<TIdx>();
168template <
typename TEndian>
190template <std::
intmax_t TId>
199template <
typename TMsg>
204template <
typename TField>
215template <
typename TFields>
223template <std::
size_t TIdx>
231template <
typename TFields>
235template <
typename... TFields>
277template<std::
size_t TLen,
bool TSignExtend = true>
307template<std::
size_t TLen,
bool TSignExtend = true>
333template<std::
size_t TMin, std::
size_t TMax>
336 static_assert(TMin <= TMax,
"TMin must not be greater that TMax.");
375template<std::
intmax_t TOffset>
406template <std::
intmax_t TNum, std::
intmax_t TDenom>
409 static_assert(TNum != 0,
"Wrong scaling ratio");
410 static_assert(TDenom != 0,
"Wrong scaling ratio");
435template <
typename TField>
462template <
typename TField, comms::ErrorStatus TReadErrorStatus = comms::ErrorStatus::Inval
idMsgData>
472template <
typename TField, comms::ErrorStatus TReadErrorStatus = comms::ErrorStatus::Inval
idMsgData>
484template <
typename TField, comms::ErrorStatus TReadErrorStatus = comms::ErrorStatus::Inval
idMsgData>
504template <
typename TField>
528template <
typename TField>
576template <std::
size_t TSize>
671template <comms::ErrorStatus TStatus = comms::ErrorStatus::Inval
idMsgData>
689template <
typename TType,
typename TRatio>
692 static_assert(details::isRatio<TRatio>(),
693 "TRatio parameter must be a variant of std::ratio");
695 static_assert(TRatio::num != 0,
"Wrong ratio value");
696 static_assert(TRatio::den != 0,
"Wrong ratio value");
917template<std::
intmax_t TVal>
920 details::DefaultNumValueInitialiser<std::intmax_t, TVal>
931template<std::u
intmax_t TVal>
934 details::DefaultNumValueInitialiser<std::uintmax_t, TVal>
952template<std::
intmax_t TMinValue, std::
intmax_t TMaxValue>
955 static_assert(TMinValue <= TMaxValue,
"Invalid range");
966template<std::
intmax_t TMinValue, std::
intmax_t TMaxValue>
975template<std::
intmax_t TValue>
981template<std::
intmax_t TValue>
997template<std::u
intmax_t TMinValue, std::u
intmax_t TMaxValue>
1000 static_assert(TMinValue <= TMaxValue,
"Invalid range");
1008template<std::u
intmax_t TMinValue, std::u
intmax_t TMaxValue>
1017template<std::u
intmax_t TValue>
1023template<std::u
intmax_t TValue>
1037template<std::u
intmax_t TMask, std::u
intmax_t TValue = 0U>
1046template<comms::field::OptionalMode TVal>
1073template <std::
size_t TIdx>
1092template <
typename TEscField =
void>
1180template <
typename T>
1183 static_assert(std::is_integral<T>::value,
"Only unsigned integral types are supported for versions");
1184 static_assert(std::is_unsigned<T>::value,
"Only unsigned integral types are supported for versions");
1198template <std::u
intmax_t TFrom, std::u
intmax_t TUntil>
1201 static_assert(TFrom <= TUntil,
"Invalid version parameters");
1209template <std::u
intmax_t TVer>
1217template <std::u
intmax_t TVer>
1232template <
typename T>
1238template <std::
size_t TIdx>
1263template <
bool TVersionDependent>
1272template <std::
intmax_t TOffset>
1287template <
typename TIter>
1293template <
typename TIter>
1319template <
typename T>
1361template <
typename TGenericMessage>
1377template <std::
size_t TSize>
1394template <
typename TType>
1435template <
typename T>
1453template <
typename TFactory>
1461template <
template<
typename,
typename,
typename...>
class TFactory>
1470template <
typename TEndian>
1483template <
typename T>
1488template <std::
intmax_t TId>
1497template <
typename TMsg>
1502template <
typename TMsg>
1507template <
typename TFields>
1512template <std::
size_t TIdx>
1517template <
typename TFields>
1534template<std::
size_t TLen,
bool TSignExtend = true>
1539template<std::
size_t TLen,
bool TSignExtend = true>
1544template<std::
size_t TMin, std::
size_t TMax>
1549template<std::
intmax_t TOffset>
1554template <std::
intmax_t TNum, std::
intmax_t TDenom>
1559template <
typename TField>
1564template <
typename TField, comms::ErrorStatus TReadErrorStatus = comms::ErrorStatus::Inval
idMsgData>
1570template <
typename TField, comms::ErrorStatus TReadErrorStatus = comms::ErrorStatus::Inval
idMsgData>
1576template <
typename TField, comms::ErrorStatus TReadErrorStatus = comms::ErrorStatus::Inval
idMsgData>
1582template <
typename TField>
1587template <
typename TField>
1604template <std::
size_t TSize>
1609template <
typename T>
1614template <comms::ErrorStatus TStatus = comms::ErrorStatus::Inval
idMsgData>
1623template <
typename TType,
typename TRatio>
1796template<std::
intmax_t TVal>
1801template<std::u
intmax_t TVal>
1806template<std::
intmax_t TMinValue, std::
intmax_t TMaxValue>
1815template<std::
intmax_t TMinValue, std::
intmax_t TMaxValue>
1820template<std::
intmax_t TValue>
1825template<std::
intmax_t TValue>
1830template<std::u
intmax_t TMinValue, std::u
intmax_t TMaxValue>
1836template<std::u
intmax_t TMinValue, std::u
intmax_t TMaxValue>
1842template<std::u
intmax_t TValue>
1848template<std::u
intmax_t TValue>
1854template<std::u
intmax_t TMask, std::u
intmax_t TValue = 0U>
1859template<comms::field::OptionalMode TVal>
1880template <std::
size_t TIdx>
1927template <
typename T>
1936template <std::u
intmax_t TFrom, std::u
intmax_t TUntil>
1941template <std::u
intmax_t TVer>
1946template <std::u
intmax_t TVer>
1959template <
typename T>
1964template <std::
size_t TIdx>
1975template <
typename TIter>
1980template <
typename TIter>
2005template <
typename T>
2038template <
typename TGenericMessage>
2043template <std::
size_t TSize>
2048template <
typename TType>
2065template <
typename T>
This file contain definition of error statuses used by comms module.
Contains definition of the mode used for comms::field::Optional fields.
ForceDispatch< comms::traits::dispatch::LinearSwitch > ForceDispatchLinearSwitch
Force generation of linear switch statmenets for dispatch logic of message object and/or message obje...
Definition options.h:1448
ForceDispatch< comms::traits::dispatch::StaticBinSearch > ForceDispatchStaticBinSearch
Force generation of static binary search dispatch logic for message object and/or message object type...
Definition options.h:1444
ForceDispatch< comms::traits::dispatch::Polymorphic > ForceDispatchPolymorphic
Force generation of v-tables and polymorphic dispatch logic for message object and/or message object ...
Definition options.h:1440
Units< comms::traits::units::Speed, comms::traits::units::KilometersPerSecondRatio > UnitsKilometersPerSecond
Alias option, specifying field value units are "kilometers per second".
Definition options.h:797
std::tuple< ValidBigUnsignedNumValueRange< TMinValue, TMaxValue >, ValidRangesClear > ValidBigUnsignedNumValueRangeOverride
Similar to ValidBigUnsignedNumValueRange, but overrides (nullifies) all previously set valid values r...
Definition options.h:1013
Units< comms::traits::units::Distance, comms::traits::units::MicrometersRatio > UnitsMicrometers
Alias option, specifying field value units are "micrometers".
Definition options.h:747
Units< comms::traits::units::Time, comms::traits::units::HoursRatio > UnitsHours
Alias option, specifying field value units are "hours".
Definition options.h:727
Units< comms::traits::units::Frequency, comms::traits::units::MegaHzRatio > UnitsMegahertz
Alias option, specifying field value units are "megahertz".
Definition options.h:817
Units< comms::traits::units::Time, comms::traits::units::MinutesRatio > UnitsMinutes
Alias option, specifying field value units are "minutes".
Definition options.h:722
Units< comms::traits::units::Speed, comms::traits::units::KilometersPerHourRatio > UnitsKilometersPerHour
Alias option, specifying field value units are "kilometers per hour".
Definition options.h:802
Units< comms::traits::units::Current, comms::traits::units::NanoampsRatio > UnitsNanoamps
Alias option, specifying field value units are "nanoamps".
Definition options.h:837
Units< comms::traits::units::Time, comms::traits::units::WeeksRatio > UnitsWeeks
Alias option, specifying field value units are "weeks".
Definition options.h:737
Units< comms::traits::units::Memory, comms::traits::units::TerabytesRatio > UnitsTerabytes
Alias option, specifying field value units are "terabytes".
Definition options.h:907
Units< comms::traits::units::Memory, comms::traits::units::BytesRatio > UnitsBytes
Alias option, specifying field value units are "bytes".
Definition options.h:887
Units< comms::traits::units::Frequency, comms::traits::units::GigaHzRatio > UnitsGigahertz
Alias option, specifying field value units are "gigahertz".
Definition options.h:822
Units< comms::traits::units::Distance, comms::traits::units::MillimetersRatio > UnitsMillimeters
Alias option, specifying field value units are "millimeters".
Definition options.h:752
Units< comms::traits::units::Time, comms::traits::units::MillisecondsRatio > UnitsMilliseconds
Alias option, specifying field value units are "milliseconds".
Definition options.h:712
Units< comms::traits::units::Speed, comms::traits::units::MillimetersPerSecondRatio > UnitsMillimetersPerSecond
Alias option, specifying field value units are "millimeters per second".
Definition options.h:782
Units< comms::traits::units::Time, comms::traits::units::DaysRatio > UnitsDays
Alias option, specifying field value units are "days".
Definition options.h:732
Units< comms::traits::units::Distance, comms::traits::units::KilometersRatio > UnitsKilometers
Alias option, specifying field value units are "kilometers".
Definition options.h:767
std::tuple< ValidNumValueRange< TMinValue, TMaxValue >, ValidRangesClear > ValidNumValueRangeOverride
Similar to ValidNumValueRange, but overrides (nullifies) all previously set valid values ranges.
Definition options.h:971
ExistsByDefault OptionalExistsByDefault
Alias to DefaultOptionalMode<comms::field::OptinalMode::Exists>
Definition options.h:1067
Units< comms::traits::units::Speed, comms::traits::units::MicrometersPerSecondRatio > UnitsMicrometersPerSecond
Alias option, specifying field value units are "micrometers per second".
Definition options.h:777
Units< comms::traits::units::Speed, comms::traits::units::CentimetersPerSecondRatio > UnitsCentimetersPerSecond
Alias option, specifying field value units are "centimeters per second".
Definition options.h:787
Units< comms::traits::units::Voltage, comms::traits::units::NanovoltsRatio > UnitsNanovolts
Alias option, specifying field value units are "nanovolts".
Definition options.h:862
Units< comms::traits::units::Voltage, comms::traits::units::KilovoltsRatio > UnitsKilovolts
Alias option, specifying field value units are "kilovolts".
Definition options.h:882
Units< comms::traits::units::Angle, comms::traits::units::DegreesRatio > UnitsDegrees
Alias option, specifying field value units are "degrees".
Definition options.h:827
Endian< comms::traits::endian::Big > BigEndian
Alias option to Endian specifying Big endian.
Definition options.h:175
Units< comms::traits::units::Frequency, comms::traits::units::KiloHzRatio > UnitsKilohertz
Alias option, specifying field value units are "kilohertz".
Definition options.h:812
Units< comms::traits::units::Distance, comms::traits::units::NanometersRatio > UnitsNanometers
Alias option, specifying field value units are "nanometers".
Definition options.h:742
Units< comms::traits::units::Speed, comms::traits::units::NanometersPerSecondRatio > UnitsNanometersPerSecond
Alias option, specifying field value units are "nanometers per second".
Definition options.h:772
DefaultOptionalMode< comms::field::OptionalMode::Missing > MissingByDefault
Alias to DefaultOptionalMode.
Definition options.h:1054
ValidNumValueRangeOverride< TValue, TValue > ValidNumValueOverride
Alias to ValidNumValueRangeOverride.
Definition options.h:982
Units< comms::traits::units::Voltage, comms::traits::units::VoltsRatio > UnitsVolts
Alias option, specifying field value units are "volts".
Definition options.h:877
HasCustomRefresh HasDoRefresh
Option that notifies comms::MessageBase about existence of custom refresh functionality in derived cl...
Definition options.h:1171
Units< comms::traits::units::Current, comms::traits::units::AmpsRatio > UnitsAmps
Alias option, specifying field value units are "amps".
Definition options.h:852
Units< comms::traits::units::Angle, comms::traits::units::RadiansRatio > UnitsRadians
Alias option, specifying field value units are "radians".
Definition options.h:832
Units< comms::traits::units::Frequency, comms::traits::units::HzRatio > UnitsHertz
Alias option, specifying field value units are "hertz".
Definition options.h:807
Units< comms::traits::units::Voltage, comms::traits::units::MillivoltsRatio > UnitsMillivolts
Alias option, specifying field value units are "millivolts".
Definition options.h:872
EmptySerialization EmptySerialisation
Same as EmptySerialization.
Definition options.h:1108
Units< comms::traits::units::Current, comms::traits::units::MicroampsRatio > UnitsMicroamps
Alias option, specifying field value units are "microamps".
Definition options.h:842
MissingByDefault OptionalMissingByDefault
Alias to DefaultOptionalMode<comms::field::OptinalMode::Missing>
Definition options.h:1064
Units< comms::traits::units::Distance, comms::traits::units::MetersRatio > UnitsMeters
Alias option, specifying field value units are "meters".
Definition options.h:762
Units< comms::traits::units::Memory, comms::traits::units::KilobytesRatio > UnitsKilobytes
Alias option, specifying field value units are "kilobytes".
Definition options.h:892
Units< comms::traits::units::Current, comms::traits::units::KiloampsRatio > UnitsKiloamps
Alias option, specifying field value units are "kiloamps".
Definition options.h:857
Units< comms::traits::units::Voltage, comms::traits::units::MicrovoltsRatio > UnitsMicrovolts
Alias option, specifying field value units are "microvolts".
Definition options.h:867
Units< comms::traits::units::Memory, comms::traits::units::MegabytesRatio > UnitsMegabytes
Alias option, specifying field value units are "megabytes".
Definition options.h:897
Units< comms::traits::units::Time, comms::traits::units::MicrosecondsRatio > UnitsMicroseconds
Alias option, specifying field value units are "microseconds".
Definition options.h:707
Units< comms::traits::units::Time, comms::traits::units::NanosecondsRatio > UnitsNanoseconds
Alias option, specifying field value units are "nanoseconds".
Definition options.h:702
Units< comms::traits::units::Distance, comms::traits::units::CentimetersRatio > UnitsCentimeters
Alias option, specifying field value units are "centimeters".
Definition options.h:757
DefaultOptionalMode< comms::field::OptionalMode::Exists > ExistsByDefault
Alias to DefaultOptionalMode.
Definition options.h:1061
Units< comms::traits::units::Current, comms::traits::units::MilliampsRatio > UnitsMilliamps
Alias option, specifying field value units are "milliamps".
Definition options.h:847
ValidBigUnsignedNumValueRangeOverride< TValue, TValue > ValidBigUnsignedNumValueOverride
Alias to ValidBigUnsignedNumValueRangeOverride.
Definition options.h:1024
Units< comms::traits::units::Speed, comms::traits::units::MetersPerSecondRatio > UnitsMetersPerSecond
Alias option, specifying field value units are "meters per second".
Definition options.h:792
FieldsImpl< std::tuple<> > ZeroFieldsImpl
Alias to FieldsImpl<std::tuple<> >
Definition options.h:243
Endian< comms::traits::endian::Little > LittleEndian
Alias option to Endian specifying Little endian.
Definition options.h:179
Units< comms::traits::units::Time, comms::traits::units::SecondsRatio > UnitsSeconds
Alias option, specifying field value units are "seconds".
Definition options.h:717
Units< comms::traits::units::Memory, comms::traits::units::GigabytesRatio > UnitsGigabytes
Alias option, specifying field value units are "gigabytes".
Definition options.h:902
comms::option::def::ValidNumValueOverride< TValue > ValidNumValueOverride
Same as comms::option::def::ValidNumValueOverride.
Definition options.h:1826
comms::option::def::ValidBigUnsignedNumValueOverride< TValue > ValidBigUnsignedNumValueOverride
Same as comms::option::def::ValidBigUnsignedNumValueOverride.
Definition options.h:1850
comms::option::def::ValidBigUnsignedNumValueRangeOverride< TMinValue, TMaxValue > ValidBigUnsignedNumValueRangeOverride
Same as comms::option::def::ValidBigUnsignedNumValueRangeOverride.
Definition options.h:1838
comms::option::def::FieldType< TMsg > FieldType
Same as comms::option::def::FieldType.
Definition options.h:1503
comms::option::def::ValidNumValueRangeOverride< TMinValue, TMaxValue > ValidNumValueRangeOverride
Same as comms::option::def::ValidNumValueRangeOverride.
Definition options.h:1816
Main namespace for all classes / functions of COMMS library.
Set custom storage type for fields like comms::field::String or comms::field::ArrayList.
Definition options.h:1395
No-op option, doesn't have any effect.
Definition options.h:1282
Option that forces usage of embedded uninitialised data area instead of dynamic memory allocation.
Definition options.h:1378
Force a particular way to dispatch message object and/or type.
Definition options.h:1436
Option used to specify type of the message handler.
Definition options.h:1320
Option used to add getId() function into Message interface.
Definition options.h:1298
Option that forces "in place" allocation with placement "new" for initialisation, instead of usage of...
Definition options.h:1355
Option used to add length() function into Message interface.
Definition options.h:1306
Force usage of the provide message factory.
Definition options.h:1462
Force usage of the provide message factory.
Definition options.h:1454
Option used to add name() function into Message interface.
Definition options.h:1314
Option used to inhibit default implementation of dispatchImpl() in comms::MessageBase.
Definition options.h:1325
Option that inhibits implementation of comms::MessageBase::lengthImpl() regardless of other availabil...
Definition options.h:1345
Option that inhibits implementation of comms::MessageBase::readImpl() regardless of other availabilit...
Definition options.h:1330
Option that inhibits implementation of comms::MessageBase::refreshImpl() regardless of other availabi...
Definition options.h:1350
Option that inhibits implementation of comms::MessageBase::validImpl() regardless of other availabili...
Definition options.h:1340
Force the destructor of comms::Message class to be non-virtual, even if there are other virtual funct...
Definition options.h:1409
Option that inhibits implementation of comms::MessageBase::writeImpl() regardless of other availabili...
Definition options.h:1335
Use "view" on original raw data instead of copying it.
Definition options.h:1431
Option used to specify type of iterator used for reading.
Definition options.h:1288
Option used to add refresh() function into Message interface.
Definition options.h:1310
Option that forces usage of fixed size storage for sequences with fixed size.
Definition options.h:1404
Option used to allow comms::GenericMessage generation inside comms::MsgFactory and/or comms::frame::M...
Definition options.h:1362
Option used to add valid() function into Message interface.
Definition options.h:1302
Option used to specify type of iterator used for writing.
Definition options.h:1294
Option that notifies comms::MessageBase about existence of access to fields.
Definition options.h:255
Option used to specify that serialization length can be contolled by available data length.
Definition options.h:345
Option that specifies custom validation class.
Definition options.h:660
Option that specifies default initialisation class.
Definition options.h:614
Option used to specify display offset for the comms::field::IntValue field.
Definition options.h:1273
Force field not to be serialized during read/write operations.
Definition options.h:1103
Options to specify endian.
Definition options.h:170
Mark an comms::field::Optional field as existing between specified versions.
Definition options.h:1200
Option to specify real extending class.
Definition options.h:1233
Option that forces field's read operation to fail if invalid value is received.
Definition options.h:672
Option used to specify actual type of the field.
Definition options.h:205
Option used to specify fields of the message and force implementation of default read,...
Definition options.h:232
Option used to specify number of bits that is used for field serialisation when a field is a member o...
Definition options.h:308
Option used to specify number of bytes that is used for field serialisation.
Definition options.h:278
Remove an ability to update field's value by the client code.
Definition options.h:1267
Disallow usage of FrameLayerForceReadUntilDataSplit option in earlier (outer wrapping) layers.
Definition options.h:1141
Option to force comms::frame::FrameLayerBase class to split read operation "until" and "from" data (p...
Definition options.h:1116
Force the layer to seek its field before forwarding read to the wrapped layer(s).
Definition options.h:1093
Option to forcefully disable passing the FrameLayerForceReadUntilDataSplit option to the layer defini...
Definition options.h:1128
Force the layer to verify its field's value before forwarding read to the wrapped layer(s).
Definition options.h:1079
Mark field class to have custom implementation of read functionality.
Definition options.h:1150
Mark message / field class to have custom implementation of refresh functionality.
Definition options.h:1155
Mark message / field class to have custom implementation of version update functionality.
Definition options.h:1190
Mark field class to have custom implementation of read functionality.
Definition options.h:1160
Option that notifies comms::MessageBase about existence of doGetId() member function in derived class...
Definition options.h:248
Mark message class as providing its name information.
Definition options.h:1164
Mark complex fields like comms::field::Bundle or comms::field::Variant that their members are or are ...
Definition options.h:1264
Option that forces field's read operation to ignore read data if invalid value is received.
Definition options.h:681
Make the field's contents to be invalid by default.
Definition options.h:1222
Mark an comms::field::Optional field as missing if its contents are invalid (member field has invalid...
Definition options.h:1249
Mark an comms::field::Optional field as missing if its read operation fails.
Definition options.h:1244
Option used to specify type of the ID.
Definition options.h:185
Option used to specify actual type of the message.
Definition options.h:200
Option used to specify that message doesn't have valid ID.
Definition options.h:195
Option to specify numeric value serialisation offset.
Definition options.h:376
Option for comms::frame::TransportValueLayer to mark that the handled field is a "pseudo" one,...
Definition options.h:1175
Option to specify index of member field containing remaining length in bytes.
Definition options.h:1239
Option to specify scaling ratio.
Definition options.h:408
Option that forces first element only of comms::field::ArrayList to be prefixed with its serialisatio...
Definition options.h:485
Option to enable external forcing of the collection element serialisation length.
Definition options.h:568
Option that forces every element of comms::field::ArrayList to be prefixed with its serialisation len...
Definition options.h:473
Option used to define exact number of elements in the collection field.
Definition options.h:577
Option to enable external forcing of the collection's serialisation length duting "read" operation.
Definition options.h:556
Option that modifies the default behaviour of collection fields to prepend the serialised data with n...
Definition options.h:463
Option that modifies the default behaviour of collection fields to prepend the serialised data with n...
Definition options.h:436
Option to enable external forcing of the collection's elements count.
Definition options.h:542
Option that forces termination of the sequence when predefined value is encountered.
Definition options.h:505
Option that forces collection fields to append provides suffix every time it is serialised.
Definition options.h:529
Option used to specify numeric ID of the message.
Definition options.h:191
Options to specify units of the field.
Definition options.h:691
Provide range of valid unsigned numeric values.
Definition options.h:999
Provide range of valid numeric values.
Definition options.h:954
Clear accumulated ranges of valid values.
Definition options.h:959
Option used to specify that field may have variable serialisation length.
Definition options.h:335
Avoid invocation of built-in reset() member function on destruction of the comms::field::Variant fiel...
Definition options.h:1255
Add storage of version information inside private data members.
Definition options.h:1227
Provide type to be used for versioning.
Definition options.h:1182
Replacement to std::conditional.
Definition type_traits.h:29
This file contains all the classes necessary to properly define message traits.
Replacement to some types from standard type_traits.