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)
124 static const auto MinValue = TMinValue;
125 static const auto MaxValue = TMaxValue;
128template<std::u
intmax_t TMask, std::u
intmax_t TValue>
129struct BitmaskReservedBitsValidator
131 template <
typename TField>
132 constexpr bool operator()(TField&& field)
const
134 using FieldType =
typename std::decay<TField>::type;
135 using ValueType =
typename FieldType::ValueType;
137 return (field.value() &
static_cast<ValueType
>(TMask)) ==
static_cast<ValueType
>(TValue);
141template <comms::field::OptionalMode TVal>
142struct DefaultOptModeInitialiser
144 template <
typename TField>
145 void operator()(TField& field)
const
151template<std::
size_t TIdx>
152struct DefaultVariantIndexInitialiser
154 template <
typename TField>
155 void operator()(TField& field)
157 field.template initField<TIdx>();
170template <
typename TEndian>
192template <std::
intmax_t TId>
201template <
typename TMsg>
206template <
typename TField>
217template <
typename TFields>
225template <std::
size_t TIdx>
233template <
typename TFields>
237template <
typename... TFields>
279template<std::
size_t TLen,
bool TSignExtend = true>
309template<std::
size_t TLen,
bool TSignExtend = true>
335template<std::
size_t TMin, std::
size_t TMax>
338 static_assert(TMin <= TMax,
"TMin must not be greater that TMax.");
377template<std::
intmax_t TOffset>
408template <std::
intmax_t TNum, std::
intmax_t TDenom>
411 static_assert(TNum != 0,
"Wrong scaling ratio");
412 static_assert(TDenom != 0,
"Wrong scaling ratio");
437template <
typename TField>
464template <
typename TField, comms::ErrorStatus TReadErrorStatus = comms::ErrorStatus::Inval
idMsgData>
474template <
typename TField, comms::ErrorStatus TReadErrorStatus = comms::ErrorStatus::Inval
idMsgData>
486template <
typename TField, comms::ErrorStatus TReadErrorStatus = comms::ErrorStatus::Inval
idMsgData>
506template <
typename TField>
530template <
typename TField>
578template <std::
size_t TSize>
673template <comms::ErrorStatus TStatus = comms::ErrorStatus::Inval
idMsgData>
691template <
typename TType,
typename TRatio>
694 static_assert(details::isRatio<TRatio>(),
695 "TRatio parameter must be a variant of std::ratio");
697 static_assert(TRatio::num != 0,
"Wrong ratio value");
698 static_assert(TRatio::den != 0,
"Wrong ratio value");
919template<std::
intmax_t TVal>
922 details::DefaultNumValueInitialiser<std::intmax_t, TVal>
933template<std::u
intmax_t TVal>
936 details::DefaultNumValueInitialiser<std::uintmax_t, TVal>
954template<std::
intmax_t TMinValue, std::
intmax_t TMaxValue>
957 static_assert(TMinValue <= TMaxValue,
"Invalid range");
968template<std::
intmax_t TMinValue, std::
intmax_t TMaxValue>
977template<std::
intmax_t TValue>
983template<std::
intmax_t TValue>
999template<std::u
intmax_t TMinValue, std::u
intmax_t TMaxValue>
1002 static_assert(TMinValue <= TMaxValue,
"Invalid range");
1010template<std::u
intmax_t TMinValue, std::u
intmax_t TMaxValue>
1019template<std::u
intmax_t TValue>
1025template<std::u
intmax_t TValue>
1039template<std::u
intmax_t TMask, std::u
intmax_t TValue = 0U>
1048template<comms::field::OptionalMode TVal>
1075template <std::
size_t TIdx>
1157template <
typename T>
1160 static_assert(std::is_integral<T>::value,
"Only unsigned integral types are supported for versions");
1161 static_assert(std::is_unsigned<T>::value,
"Only unsigned integral types are supported for versions");
1175template <std::u
intmax_t TFrom, std::u
intmax_t TUntil>
1178 static_assert(TFrom <= TUntil,
"Invalid version parameters");
1186template <std::u
intmax_t TVer>
1194template <std::u
intmax_t TVer>
1209template <
typename T>
1215template <std::
size_t TIdx>
1240template <
bool TVersionDependent>
1255template <
typename TIter>
1261template <
typename TIter>
1287template <
typename T>
1329template <
typename TGenericMessage>
1345template <std::
size_t TSize>
1362template <
typename TType>
1403template <
typename T>
1421template <
typename TFactory>
1429template <
template<
typename,
typename,
typename...>
class TFactory>
1437template <
typename TEndian>
1447template <
typename T>
1451template <std::
intmax_t TId>
1458template <
typename TMsg>
1462template <
typename TMsg>
1466template <
typename TFields>
1470template <std::
size_t TIdx>
1474template <
typename TFields>
1487template<std::
size_t TLen,
bool TSignExtend = true>
1491template<std::
size_t TLen,
bool TSignExtend = true>
1495template<std::
size_t TMin, std::
size_t TMax>
1499template<std::
intmax_t TOffset>
1503template <std::
intmax_t TNum, std::
intmax_t TDenom>
1507template <
typename TField>
1511template <
typename TField, comms::ErrorStatus TReadErrorStatus = comms::ErrorStatus::Inval
idMsgData>
1516template <
typename TField, comms::ErrorStatus TReadErrorStatus = comms::ErrorStatus::Inval
idMsgData>
1521template <
typename TField, comms::ErrorStatus TReadErrorStatus = comms::ErrorStatus::Inval
idMsgData>
1526template <
typename TField>
1530template <
typename TField>
1543template <std::
size_t TSize>
1547template <
typename T>
1551template <comms::ErrorStatus TStatus = comms::ErrorStatus::Inval
idMsgData>
1558template <
typename TType,
typename TRatio>
1688template<std::
intmax_t TVal>
1692template<std::u
intmax_t TVal>
1696template<std::
intmax_t TMinValue, std::
intmax_t TMaxValue>
1704template<std::
intmax_t TMinValue, std::
intmax_t TMaxValue>
1708template<std::
intmax_t TValue>
1713template<std::
intmax_t TValue>
1717template<std::u
intmax_t TMinValue, std::u
intmax_t TMaxValue>
1723template<std::u
intmax_t TMinValue, std::u
intmax_t TMaxValue>
1728template<std::u
intmax_t TValue>
1734template<std::u
intmax_t TValue>
1739template<std::u
intmax_t TMask, std::u
intmax_t TValue = 0U>
1743template<comms::field::OptionalMode TVal>
1759template <std::
size_t TIdx>
1796template <
typename T>
1803template <std::u
intmax_t TFrom, std::u
intmax_t TUntil>
1807template <std::u
intmax_t TVer>
1811template <std::u
intmax_t TVer>
1821template <
typename T>
1825template <std::
size_t TIdx>
1834template <
typename TIter>
1838template <
typename TIter>
1857template <
typename T>
1882template <
typename TGenericMessage>
1886template <std::
size_t TSize>
1890template <
typename TType>
1903template <
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:1416
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:1412
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:1408
Units< comms::traits::units::Speed, comms::traits::units::KilometersPerSecondRatio > UnitsKilometersPerSecond
Alias option, specifying field value units are "kilometers per second".
Definition options.h:799
std::tuple< ValidBigUnsignedNumValueRange< TMinValue, TMaxValue >, ValidRangesClear > ValidBigUnsignedNumValueRangeOverride
Similar to ValidBigUnsignedNumValueRange, but overrides (nullifies) all previously set valid values r...
Definition options.h:1015
Units< comms::traits::units::Distance, comms::traits::units::MicrometersRatio > UnitsMicrometers
Alias option, specifying field value units are "micrometers".
Definition options.h:749
Units< comms::traits::units::Time, comms::traits::units::HoursRatio > UnitsHours
Alias option, specifying field value units are "hours".
Definition options.h:729
Units< comms::traits::units::Frequency, comms::traits::units::MegaHzRatio > UnitsMegahertz
Alias option, specifying field value units are "megahertz".
Definition options.h:819
Units< comms::traits::units::Time, comms::traits::units::MinutesRatio > UnitsMinutes
Alias option, specifying field value units are "minutes".
Definition options.h:724
Units< comms::traits::units::Speed, comms::traits::units::KilometersPerHourRatio > UnitsKilometersPerHour
Alias option, specifying field value units are "kilometers per hour".
Definition options.h:804
Units< comms::traits::units::Current, comms::traits::units::NanoampsRatio > UnitsNanoamps
Alias option, specifying field value units are "nanoamps".
Definition options.h:839
Units< comms::traits::units::Time, comms::traits::units::WeeksRatio > UnitsWeeks
Alias option, specifying field value units are "weeks".
Definition options.h:739
Units< comms::traits::units::Memory, comms::traits::units::TerabytesRatio > UnitsTerabytes
Alias option, specifying field value units are "terabytes".
Definition options.h:909
Units< comms::traits::units::Memory, comms::traits::units::BytesRatio > UnitsBytes
Alias option, specifying field value units are "bytes".
Definition options.h:889
Units< comms::traits::units::Frequency, comms::traits::units::GigaHzRatio > UnitsGigahertz
Alias option, specifying field value units are "gigahertz".
Definition options.h:824
Units< comms::traits::units::Distance, comms::traits::units::MillimetersRatio > UnitsMillimeters
Alias option, specifying field value units are "millimeters".
Definition options.h:754
Units< comms::traits::units::Time, comms::traits::units::MillisecondsRatio > UnitsMilliseconds
Alias option, specifying field value units are "milliseconds".
Definition options.h:714
Units< comms::traits::units::Speed, comms::traits::units::MillimetersPerSecondRatio > UnitsMillimetersPerSecond
Alias option, specifying field value units are "millimeters per second".
Definition options.h:784
Units< comms::traits::units::Time, comms::traits::units::DaysRatio > UnitsDays
Alias option, specifying field value units are "days".
Definition options.h:734
Units< comms::traits::units::Distance, comms::traits::units::KilometersRatio > UnitsKilometers
Alias option, specifying field value units are "kilometers".
Definition options.h:769
std::tuple< ValidNumValueRange< TMinValue, TMaxValue >, ValidRangesClear > ValidNumValueRangeOverride
Similar to ValidNumValueRange, but overrides (nullifies) all previously set valid values ranges.
Definition options.h:973
Units< comms::traits::units::Speed, comms::traits::units::MicrometersPerSecondRatio > UnitsMicrometersPerSecond
Alias option, specifying field value units are "micrometers per second".
Definition options.h:779
Units< comms::traits::units::Speed, comms::traits::units::CentimetersPerSecondRatio > UnitsCentimetersPerSecond
Alias option, specifying field value units are "centimeters per second".
Definition options.h:789
Units< comms::traits::units::Voltage, comms::traits::units::NanovoltsRatio > UnitsNanovolts
Alias option, specifying field value units are "nanovolts".
Definition options.h:864
Units< comms::traits::units::Voltage, comms::traits::units::KilovoltsRatio > UnitsKilovolts
Alias option, specifying field value units are "kilovolts".
Definition options.h:884
Units< comms::traits::units::Angle, comms::traits::units::DegreesRatio > UnitsDegrees
Alias option, specifying field value units are "degrees".
Definition options.h:829
Endian< comms::traits::endian::Big > BigEndian
Alias option to Endian specifying Big endian.
Definition options.h:177
Units< comms::traits::units::Frequency, comms::traits::units::KiloHzRatio > UnitsKilohertz
Alias option, specifying field value units are "kilohertz".
Definition options.h:814
Units< comms::traits::units::Distance, comms::traits::units::NanometersRatio > UnitsNanometers
Alias option, specifying field value units are "nanometers".
Definition options.h:744
Units< comms::traits::units::Speed, comms::traits::units::NanometersPerSecondRatio > UnitsNanometersPerSecond
Alias option, specifying field value units are "nanometers per second".
Definition options.h:774
DefaultOptionalMode< comms::field::OptionalMode::Missing > MissingByDefault
Alias to DefaultOptionalMode.
Definition options.h:1056
ValidNumValueRangeOverride< TValue, TValue > ValidNumValueOverride
Alias to ValidNumValueRangeOverride.
Definition options.h:984
Units< comms::traits::units::Voltage, comms::traits::units::VoltsRatio > UnitsVolts
Alias option, specifying field value units are "volts".
Definition options.h:879
HasCustomRefresh HasDoRefresh
Option that notifies comms::MessageBase about existence of custom refresh functionality in derived cl...
Definition options.h:1148
Units< comms::traits::units::Current, comms::traits::units::AmpsRatio > UnitsAmps
Alias option, specifying field value units are "amps".
Definition options.h:854
Units< comms::traits::units::Angle, comms::traits::units::RadiansRatio > UnitsRadians
Alias option, specifying field value units are "radians".
Definition options.h:834
Units< comms::traits::units::Frequency, comms::traits::units::HzRatio > UnitsHertz
Alias option, specifying field value units are "hertz".
Definition options.h:809
Units< comms::traits::units::Voltage, comms::traits::units::MillivoltsRatio > UnitsMillivolts
Alias option, specifying field value units are "millivolts".
Definition options.h:874
EmptySerialization EmptySerialisation
Same as EmptySerialization.
Definition options.h:1097
Units< comms::traits::units::Current, comms::traits::units::MicroampsRatio > UnitsMicroamps
Alias option, specifying field value units are "microamps".
Definition options.h:844
MissingByDefault OptionalMissingByDefault
Alias to DefaultOptionalMode<comms::field::OptinalMode::Missing>
Definition options.h:1066
Units< comms::traits::units::Distance, comms::traits::units::MetersRatio > UnitsMeters
Alias option, specifying field value units are "meters".
Definition options.h:764
Units< comms::traits::units::Memory, comms::traits::units::KilobytesRatio > UnitsKilobytes
Alias option, specifying field value units are "kilobytes".
Definition options.h:894
Units< comms::traits::units::Current, comms::traits::units::KiloampsRatio > UnitsKiloamps
Alias option, specifying field value units are "kiloamps".
Definition options.h:859
Units< comms::traits::units::Voltage, comms::traits::units::MicrovoltsRatio > UnitsMicrovolts
Alias option, specifying field value units are "microvolts".
Definition options.h:869
Units< comms::traits::units::Memory, comms::traits::units::MegabytesRatio > UnitsMegabytes
Alias option, specifying field value units are "megabytes".
Definition options.h:899
Units< comms::traits::units::Time, comms::traits::units::MicrosecondsRatio > UnitsMicroseconds
Alias option, specifying field value units are "microseconds".
Definition options.h:709
Units< comms::traits::units::Time, comms::traits::units::NanosecondsRatio > UnitsNanoseconds
Alias option, specifying field value units are "nanoseconds".
Definition options.h:704
Units< comms::traits::units::Distance, comms::traits::units::CentimetersRatio > UnitsCentimeters
Alias option, specifying field value units are "centimeters".
Definition options.h:759
DefaultOptionalMode< comms::field::OptionalMode::Exists > ExistsByDefault
Alias to DefaultOptionalMode.
Definition options.h:1063
Units< comms::traits::units::Current, comms::traits::units::MilliampsRatio > UnitsMilliamps
Alias option, specifying field value units are "milliamps".
Definition options.h:849
ValidBigUnsignedNumValueRangeOverride< TValue, TValue > ValidBigUnsignedNumValueOverride
Alias to ValidBigUnsignedNumValueRangeOverride.
Definition options.h:1026
Units< comms::traits::units::Speed, comms::traits::units::MetersPerSecondRatio > UnitsMetersPerSecond
Alias option, specifying field value units are "meters per second".
Definition options.h:794
FieldsImpl< std::tuple<> > ZeroFieldsImpl
Alias to FieldsImpl<std::tuple<> >
Definition options.h:245
Endian< comms::traits::endian::Little > LittleEndian
Alias option to Endian specifying Little endian.
Definition options.h:181
Units< comms::traits::units::Time, comms::traits::units::SecondsRatio > UnitsSeconds
Alias option, specifying field value units are "seconds".
Definition options.h:719
Units< comms::traits::units::Memory, comms::traits::units::GigabytesRatio > UnitsGigabytes
Alias option, specifying field value units are "gigabytes".
Definition options.h:904
comms::option::def::ValidNumValueOverride< TValue > ValidNumValueOverride
Same as comms::option::def::ValidNumValueOverride.
Definition options.h:1714
comms::option::def::ValidBigUnsignedNumValueOverride< TValue > ValidBigUnsignedNumValueOverride
Same as comms::option::def::ValidBigUnsignedNumValueOverride.
Definition options.h:1736
comms::option::def::ValidBigUnsignedNumValueRangeOverride< TMinValue, TMaxValue > ValidBigUnsignedNumValueRangeOverride
Same as comms::option::def::ValidBigUnsignedNumValueRangeOverride.
Definition options.h:1725
comms::option::def::FieldType< TMsg > FieldType
Same as comms::option::def::FieldType.
Definition options.h:1463
comms::option::def::ValidNumValueRangeOverride< TMinValue, TMaxValue > ValidNumValueRangeOverride
Same as comms::option::def::ValidNumValueRangeOverride.
Definition options.h:1705
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:1363
No-op option, doesn't have any effect.
Definition options.h:1250
Option that forces usage of embedded uninitialised data area instead of dynamic memory allocation.
Definition options.h:1346
Force a particular way to dispatch message object and/or type.
Definition options.h:1404
Option used to specify type of the message handler.
Definition options.h:1288
Option used to add getId() function into Message interface.
Definition options.h:1266
Option that forces "in place" allocation with placement "new" for initialisation, instead of usage of...
Definition options.h:1323
Option used to add length() function into Message interface.
Definition options.h:1274
Force usage of the provide message factory.
Definition options.h:1430
Force usage of the provide message factory.
Definition options.h:1422
Option used to add name() function into Message interface.
Definition options.h:1282
Option used to inhibit default implementation of dispatchImpl() in comms::MessageBase.
Definition options.h:1293
Option that inhibits implementation of comms::MessageBase::lengthImpl() regardless of other availabil...
Definition options.h:1313
Option that inhibits implementation of comms::MessageBase::readImpl() regardless of other availabilit...
Definition options.h:1298
Option that inhibits implementation of comms::MessageBase::refreshImpl() regardless of other availabi...
Definition options.h:1318
Option that inhibits implementation of comms::MessageBase::validImpl() regardless of other availabili...
Definition options.h:1308
Force the destructor of comms::Message class to be non-virtual, even if there are other virtual funct...
Definition options.h:1377
Option that inhibits implementation of comms::MessageBase::writeImpl() regardless of other availabili...
Definition options.h:1303
Use "view" on original raw data instead of copying it.
Definition options.h:1399
Option used to specify type of iterator used for reading.
Definition options.h:1256
Option used to add refresh() function into Message interface.
Definition options.h:1278
Option that forces usage of fixed size storage for sequences with fixed size.
Definition options.h:1372
Option used to allow comms::GenericMessage generation inside comms::MsgFactory and/or comms::protocol...
Definition options.h:1330
Option used to add valid() function into Message interface.
Definition options.h:1270
Option used to specify type of iterator used for writing.
Definition options.h:1262
Option that notifies comms::MessageBase about existence of access to fields.
Definition options.h:257
Option used to specify that serialization length can be contolled by available data length.
Definition options.h:347
Force comms::protocol::ChecksumLayer and comms::protocol::ChecksumPrefixLayer, to verify checksum pri...
Definition options.h:1082
Option that specifies custom validation class.
Definition options.h:662
Option that specifies default initialisation class.
Definition options.h:616
Force field not to be serialized during read/write operations.
Definition options.h:1092
Options to specify endian.
Definition options.h:172
Mark an comms::field::Optional field as existing between specified versions.
Definition options.h:1177
Option to specify real extending class.
Definition options.h:1210
Option that forces field's read operation to fail if invalid value is received.
Definition options.h:674
Option used to specify actual type of the field.
Definition options.h:207
Option used to specify fields of the message and force implementation of default read,...
Definition options.h:234
Option used to specify number of bits that is used for field serialisation when a field is a member o...
Definition options.h:310
Option used to specify number of bytes that is used for field serialisation.
Definition options.h:280
Mark field class to have custom implementation of read functionality.
Definition options.h:1127
Mark message / field class to have custom implementation of refresh functionality.
Definition options.h:1132
Mark message / field class to have custom implementation of version update functionality.
Definition options.h:1167
Mark field class to have custom implementation of read functionality.
Definition options.h:1137
Option that notifies comms::MessageBase about existence of doGetId() member function in derived class...
Definition options.h:250
Mark message class as providing its name information.
Definition options.h:1141
Mark complex fields like comms::field::Bundle or comms::field::Variant that their members are or are ...
Definition options.h:1241
Option that forces field's read operation to ignore read data if invalid value is received.
Definition options.h:683
Make the field's contents to be invalid by default.
Definition options.h:1199
Mark an comms::field::Optional field as missing if its contents are invalid (member field has invalid...
Definition options.h:1226
Mark an comms::field::Optional field as missing if its read operation fails.
Definition options.h:1221
Option used to specify type of the ID.
Definition options.h:187
Option used to specify actual type of the message.
Definition options.h:202
Option used to specify that message doesn't have valid ID.
Definition options.h:197
Option to specify numeric value serialisation offset.
Definition options.h:378
Disallow usage of ProtocolLayerForceReadUntilDataSplit option in earlier (outer wrapping) layers.
Definition options.h:1122
Option to force comms::protocol::ProtocolLayerBase class to split read operation "until" and "from" d...
Definition options.h:1105
Option to forcefully disable passing the ProtocolLayerForceReadUntilDataSplit option to the layer def...
Definition options.h:1113
Option for comms::protocol::TransportValueLayer to mark that the handled field is a "pseudo" one,...
Definition options.h:1152
Option to specify index of member field containing remaining length in bytes.
Definition options.h:1216
Option to specify scaling ratio.
Definition options.h:410
Option that forces first element only of comms::field::ArrayList to be prefixed with its serialisatio...
Definition options.h:487
Option to enable external forcing of the collection element serialisation length.
Definition options.h:570
Option that forces every element of comms::field::ArrayList to be prefixed with its serialisation len...
Definition options.h:475
Option used to define exact number of elements in the collection field.
Definition options.h:579
Option to enable external forcing of the collection's serialisation length duting "read" operation.
Definition options.h:558
Option that modifies the default behaviour of collection fields to prepend the serialised data with n...
Definition options.h:465
Option that modifies the default behaviour of collection fields to prepend the serialised data with n...
Definition options.h:438
Option to enable external forcing of the collection's elements count.
Definition options.h:544
Option that forces termination of the sequence when predefined value is encountered.
Definition options.h:507
Option that forces collection fields to append provides suffix every time it is serialised.
Definition options.h:531
Option used to specify numeric ID of the message.
Definition options.h:193
Options to specify units of the field.
Definition options.h:693
Provide range of valid unsigned numeric values.
Definition options.h:1001
Provide range of valid numeric values.
Definition options.h:956
Clear accumulated ranges of valid values.
Definition options.h:961
Option used to specify that field may have variable serialisation length.
Definition options.h:337
Avoid invocation of built-in reset() member function on destruction of the comms::field::Variant fiel...
Definition options.h:1232
Add storage of version information inside private data members.
Definition options.h:1204
Provide type to be used for versioning.
Definition options.h:1159
Replacement to std::conditional.
Definition type_traits.h:28
This file contains all the classes necessary to properly define message traits.
Replacement to some types from standard type_traits.