COMMS
Template library intended to help with implementation of communication protocols.
|
►Ccomms::util::ArrayView< char > | |
Ccomms::Assert | Base class for any custom assertion behaviour |
Ccomms::EmptyHandler | Empty message handler, does nothing |
Ccomms::EnableAssert< TAssert > | Enable new assertion behaviour |
►Ccomms::Field< TOptions > | Base class to all the field classes |
Ccomms::GenericHandler< TDefault, TAll, TRetType > | Generic common message handler |
►Ccomms::Message< TOptions > | Main interface class for all the messages |
Ccomms::MsgDispatcher< TOptions > | An auxiliary class to force a particular way of dispatching message to its handler |
Ccomms::MsgFactory< TMsgBase, TAllMessages, TOptions > | Message factory class |
Ccomms::option::app::CustomStorageType< TType > | Set custom storage type for fields like comms::field::String or comms::field::ArrayList |
Ccomms::option::app::EmptyOption | No-op option, doesn't have any effect |
Ccomms::option::app::FixedSizeStorage< TSize > | Option that forces usage of embedded uninitialised data area instead of dynamic memory allocation |
Ccomms::option::app::ForceDispatch< T > | Force a particular way to dispatch message object and/or type |
Ccomms::option::app::Handler< T > | Option used to specify type of the message handler |
Ccomms::option::app::IdInfoInterface | Option used to add getId() function into Message interface |
Ccomms::option::app::InPlaceAllocation | Option that forces "in place" allocation with placement "new" for initialisation, instead of usage of dynamic memory allocation |
Ccomms::option::app::LengthInfoInterface | Option used to add length() function into Message interface |
Ccomms::option::app::MsgFactory< TFactory > | Force usage of the provide message factory |
Ccomms::option::app::MsgFactoryTempl< TFactory > | Force usage of the provide message factory |
Ccomms::option::app::NameInterface | Option used to add name() function into Message interface |
Ccomms::option::app::NoDispatchImpl | Option used to inhibit default implementation of dispatchImpl() in comms::MessageBase |
Ccomms::option::app::NoLengthImpl | Option that inhibits implementation of comms::MessageBase::lengthImpl() regardless of other availability conditions |
Ccomms::option::app::NoReadImpl | Option that inhibits implementation of comms::MessageBase::readImpl() regardless of other availability conditions |
Ccomms::option::app::NoRefreshImpl | Option that inhibits implementation of comms::MessageBase::refreshImpl() regardless of other availability conditions |
Ccomms::option::app::NoValidImpl | Option that inhibits implementation of comms::MessageBase::validImpl() regardless of other availability conditions |
Ccomms::option::app::NoVirtualDestructor | Force the destructor of comms::Message class to be non-virtual, even if there are other virtual functions defined |
Ccomms::option::app::NoWriteImpl | Option that inhibits implementation of comms::MessageBase::writeImpl() regardless of other availability conditions |
Ccomms::option::app::OrigDataView | Use "view" on original raw data instead of copying it |
Ccomms::option::app::ReadIterator< TIter > | Option used to specify type of iterator used for reading |
Ccomms::option::app::RefreshInterface | Option used to add refresh() function into Message interface |
Ccomms::option::app::SequenceFixedSizeUseFixedSizeStorage | Option that forces usage of fixed size storage for sequences with fixed size |
Ccomms::option::app::SupportGenericMessage< TGenericMessage > | Option used to allow comms::GenericMessage generation inside comms::MsgFactory and/or comms::protocol::MsgIdLayer classes |
Ccomms::option::app::ValidCheckInterface | Option used to add valid() function into Message interface |
Ccomms::option::app::WriteIterator< TIter > | Option used to specify type of iterator used for writing |
Ccomms::option::def::AssumeFieldsExistence | Option that notifies comms::MessageBase about existence of access to fields |
Ccomms::option::def::AvailableLengthLimit | Option used to specify that serialization length can be contolled by available data length |
Ccomms::option::def::ChecksumLayerVerifyBeforeRead | Force comms::protocol::ChecksumLayer and comms::protocol::ChecksumPrefixLayer, to verify checksum prior to forwarding read to the wrapped layer(s) |
Ccomms::option::def::ContentsValidator< T > | Option that specifies custom validation class |
Ccomms::option::def::DefaultValueInitialiser< T > | Option that specifies default initialisation class |
Ccomms::option::def::DisplayOffset< TOffset > | Option used to specify display offset for the comms::field::IntValue field |
Ccomms::option::def::EmptySerialization | Force field not to be serialized during read/write operations |
Ccomms::option::def::Endian< TEndian > | Options to specify endian |
Ccomms::option::def::ExistsBetweenVersions< TFrom, TUntil > | Mark an comms::field::Optional field as existing between specified versions |
Ccomms::option::def::ExtendingClass< T > | Option to specify real extending class |
Ccomms::option::def::ExtraTransportFields< TFields > | Option used to specify some extra fields from transport framing |
Ccomms::option::def::FailOnInvalid< TStatus > | Option that forces field's read operation to fail if invalid value is received |
Ccomms::option::def::FieldsImpl< TFields > | Option used to specify fields of the message and force implementation of default read, write, validity check, and length retrieval information of the message |
Ccomms::option::def::FieldType< TField > | Option used to specify actual type of the field |
Ccomms::option::def::FixedBitLength< TLen, TSignExtend > | Option used to specify number of bits that is used for field serialisation when a field is a member of comms::field::Bitfield |
Ccomms::option::def::FixedLength< TLen, TSignExtend > | Option used to specify number of bytes that is used for field serialisation |
Ccomms::option::def::FixedValue | Remove an ability to update field's value by the client code |
Ccomms::option::def::HasCustomRead | Mark field class to have custom implementation of read functionality |
Ccomms::option::def::HasCustomRefresh | Mark message / field class to have custom implementation of refresh functionality |
Ccomms::option::def::HasCustomVersionUpdate | Mark message / field class to have custom implementation of version update functionality |
Ccomms::option::def::HasCustomWrite | Mark field class to have custom implementation of read functionality |
Ccomms::option::def::HasDoGetId | Option that notifies comms::MessageBase about existence of doGetId() member function in derived class |
Ccomms::option::def::HasName | Mark message class as providing its name information |
Ccomms::option::def::HasVersionDependentMembers< TVersionDependent > | Mark complex fields like comms::field::Bundle or comms::field::Variant that their members are or are not version dependent |
Ccomms::option::def::IgnoreInvalid | Option that forces field's read operation to ignore read data if invalid value is received |
Ccomms::option::def::InvalidByDefault | Make the field's contents to be invalid by default |
Ccomms::option::def::MissingOnInvalid | Mark an comms::field::Optional field as missing if its contents are invalid (member field has invalid value) |
Ccomms::option::def::MissingOnReadFail | Mark an comms::field::Optional field as missing if its read operation fails |
Ccomms::option::def::MsgIdType< T > | Option used to specify type of the ID |
Ccomms::option::def::MsgType< TMsg > | Option used to specify actual type of the message |
Ccomms::option::def::NoIdImpl | Option used to specify that message doesn't have valid ID |
Ccomms::option::def::NumValueSerOffset< TOffset > | Option to specify numeric value serialisation offset |
Ccomms::option::def::ProtocolLayerDisallowReadUntilDataSplit | Disallow usage of ProtocolLayerForceReadUntilDataSplit option in earlier (outer wrapping) layers |
Ccomms::option::def::ProtocolLayerForceReadUntilDataSplit | Option to force comms::protocol::ProtocolLayerBase class to split read operation "until" and "from" data (payload) layer |
Ccomms::option::def::ProtocolLayerSuppressReadUntilDataSplitForcing | Option to forcefully disable passing the ProtocolLayerForceReadUntilDataSplit option to the layer definition |
Ccomms::option::def::PseudoValue | Option for comms::protocol::TransportValueLayer to mark that the handled field is a "pseudo" one, i.e. is not serialised |
Ccomms::option::def::RemLengthMemberField< TIdx > | Option to specify index of member field containing remaining length in bytes |
Ccomms::option::def::ScalingRatio< TNum, TDenom > | Option to specify scaling ratio |
Ccomms::option::def::SequenceElemFixedSerLengthFieldPrefix< TField, TReadErrorStatus > | Option that forces first element only of comms::field::ArrayList to be prefixed with its serialisation length |
Ccomms::option::def::SequenceElemLengthForcingEnabled | Option to enable external forcing of the collection element serialisation length |
Ccomms::option::def::SequenceElemSerLengthFieldPrefix< TField, TReadErrorStatus > | Option that forces every element of comms::field::ArrayList to be prefixed with its serialisation length |
Ccomms::option::def::SequenceFixedSize< TSize > | Option used to define exact number of elements in the collection field |
Ccomms::option::def::SequenceLengthForcingEnabled | Option to enable external forcing of the collection's serialisation length duting "read" operation |
Ccomms::option::def::SequenceSerLengthFieldPrefix< TField, TReadErrorStatus > | Option that modifies the default behaviour of collection fields to prepend the serialised data with number of bytes information |
Ccomms::option::def::SequenceSizeFieldPrefix< TField > | Option that modifies the default behaviour of collection fields to prepend the serialised data with number of elements information |
Ccomms::option::def::SequenceSizeForcingEnabled | Option to enable external forcing of the collection's elements count |
Ccomms::option::def::SequenceTerminationFieldSuffix< TField > | Option that forces termination of the sequence when predefined value is encountered |
Ccomms::option::def::SequenceTrailingFieldSuffix< TField > | Option that forces collection fields to append provides suffix every time it is serialised |
Ccomms::option::def::StaticNumIdImpl< TId > | Option used to specify numeric ID of the message |
Ccomms::option::def::Units< TType, TRatio > | Options to specify units of the field |
Ccomms::option::def::ValidBigUnsignedNumValueRange< TMinValue, TMaxValue > | Provide range of valid unsigned numeric values |
Ccomms::option::def::ValidNumValueRange< TMinValue, TMaxValue > | Provide range of valid numeric values |
Ccomms::option::def::ValidRangesClear | Clear accumulated ranges of valid values |
Ccomms::option::def::VariantHasCustomResetOnDestruct | Avoid invocation of built-in reset() member function on destruction of the comms::field::Variant field |
Ccomms::option::def::VarLength< TMin, TMax > | Option used to specify that field may have variable serialisation length |
Ccomms::option::def::VersionInExtraTransportFields< TIdx > | Option used to specify index of the version field inside extra transport fields tuple provided with comms::option::def::ExtraTransportFields option |
Ccomms::option::def::VersionStorage | Add storage of version information inside private data members |
Ccomms::option::def::VersionType< T > | Provide type to be used for versioning |
Ccomms::protocol::checksum::BasicSum< TResult, TInitValue > | Summary of all bytes checksum calculator |
Ccomms::protocol::checksum::BasicXor< TResult, TInitValue > | Exclusive OR (XOR) of all bytes checksum calculator |
Ccomms::protocol::checksum::Crc< TResult, TPoly, TInit, TFin, TReflect, TRefrectRem > | Calculate CRC values of all the bytes in the sequence |
Ccomms::protocol::MsgDataLayer< TOptions > | Message data layer |
►Ccomms::protocol::ProtocolLayerBase< TField, TNextLayer, TDerived, TOptions > | Base class for all the middle (non MsgDataLayer) protocol transport layers |
Ccomms::traits::dispatch::LinearSwitch | Tag class used to indicate linear switch dispatch |
Ccomms::traits::dispatch::Polymorphic | Tag class used to indicate polymorphic dispatch |
Ccomms::traits::dispatch::StaticBinSearch | Tag class used to indicate static binary search dispatch |
Ccomms::traits::units::Angle | Tag class used to indicate angle value |
Ccomms::traits::units::Current | Tag class used to indicate electrical current value |
Ccomms::traits::units::Distance | Tag class used to indicate distance value |
Ccomms::traits::units::Frequency | Tag class used to indicate frequency value |
Ccomms::traits::units::Memory | Tag class used to indicate memory size value |
Ccomms::traits::units::Speed | Tag class used to indicate speed value |
Ccomms::traits::units::Time | Tag class used to indicate time value |
Ccomms::traits::units::Voltage | Tag class used to indicate electrical voltage value |
Ccomms::util::alloc::DynMemory< TInterface > | Dynamic memory allocator |
Ccomms::util::alloc::DynMemoryNoVirtualDestructor< TInterface, TAllMessages, TId, TDefaultType > | Dynamic memory allocator for message types without virtual destructor |
Ccomms::util::alloc::InPlacePool< TInterface, TSize, TAllTypes > | In-place object pool allocator |
Ccomms::util::alloc::InPlaceSingle< TInterface, TAllTypes > | In-place single object allocator |
Ccomms::util::alloc::InPlaceSingleNoVirtualDestructor< TInterface, TAllocMessages, TOrigMessages, TId, TDefaultType > | In-place single object allocator for message objects without virtual destructor |
Ccomms::util::ArrayView< T > | Describes an object that can refer to a constant contiguous sequence of other objects |
Ccomms::util::Conditional< TCond > | Replacement to std::conditional |
Ccomms::util::IsInTuple< TTuple > | Check whether TType type is included in the tuple TTuple |
Ccomms::util::IsTuple< TType > | Check whether provided type is a variant of std::tuple |
Ccomms::util::ScopeGuard< TFunc > | Implements Scope Guard Idiom |
Ccomms::util::StaticString< TSize, TChar > | Replacement to std::string when no dynamic memory allocation is allowed |
Ccomms::util::StaticVector< T, TSize > | Replacement to std::vector when no dynamic memory allocation is allowed |
Ccomms::util::traits::endian::Big | Empty class used in traits to indicate Big Endian |
Ccomms::util::traits::endian::Little | Empty class used in traits to indicate Little Endian |
Ccomms::util::TupleAsAlignedUnion< TTuple > | Calculated "aligned union" storage type for all the types in provided tuple |
Ccomms::util::TupleCat< TFirst, TSecond > | Provides the type of std::tuple_cat operation |
Ccomms::Field< comms::option::def::Endian< TField::Endian >, comms::option::def::VersionType< TField::VersionType > > | |
Ccomms::MsgFactory< TMessage, TAllMessages > | |
Ccomms::util::TupleAsAlignedUnion< TAllocMessages > | |
Ccomms::util::TupleAsAlignedUnion< TAllTypes > |