COMMS
Template library intended to help with implementation of communication protocols.
Loading...
Searching...
No Matches
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 Ccomms::util::ArrayView< char >
 Ccomms::AssertBase class for any custom assertion behaviour
 Ccomms::EmptyHandlerEmpty 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::EmptyOptionNo-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::IdInfoInterfaceOption used to add getId() function into Message interface
 Ccomms::option::app::InPlaceAllocationOption that forces "in place" allocation with placement "new" for initialisation, instead of usage of dynamic memory allocation
 Ccomms::option::app::LengthInfoInterfaceOption 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::NameInterfaceOption used to add name() function into Message interface
 Ccomms::option::app::NoDispatchImplOption used to inhibit default implementation of dispatchImpl() in comms::MessageBase
 Ccomms::option::app::NoLengthImplOption that inhibits implementation of comms::MessageBase::lengthImpl() regardless of other availability conditions
 Ccomms::option::app::NoReadImplOption that inhibits implementation of comms::MessageBase::readImpl() regardless of other availability conditions
 Ccomms::option::app::NoRefreshImplOption that inhibits implementation of comms::MessageBase::refreshImpl() regardless of other availability conditions
 Ccomms::option::app::NoValidImplOption that inhibits implementation of comms::MessageBase::validImpl() regardless of other availability conditions
 Ccomms::option::app::NoVirtualDestructorForce the destructor of comms::Message class to be non-virtual, even if there are other virtual functions defined
 Ccomms::option::app::NoWriteImplOption that inhibits implementation of comms::MessageBase::writeImpl() regardless of other availability conditions
 Ccomms::option::app::OrigDataViewUse "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::RefreshInterfaceOption used to add refresh() function into Message interface
 Ccomms::option::app::SequenceFixedSizeUseFixedSizeStorageOption 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::ValidCheckInterfaceOption 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::AssumeFieldsExistenceOption that notifies comms::MessageBase about existence of access to fields
 Ccomms::option::def::AvailableLengthLimitOption used to specify that serialization length can be contolled by available data length
 Ccomms::option::def::ChecksumLayerVerifyBeforeReadForce 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::EmptySerializationForce 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::FixedValueRemove an ability to update field's value by the client code
 Ccomms::option::def::HasCustomReadMark field class to have custom implementation of read functionality
 Ccomms::option::def::HasCustomRefreshMark message / field class to have custom implementation of refresh functionality
 Ccomms::option::def::HasCustomVersionUpdateMark message / field class to have custom implementation of version update functionality
 Ccomms::option::def::HasCustomWriteMark field class to have custom implementation of read functionality
 Ccomms::option::def::HasDoGetIdOption that notifies comms::MessageBase about existence of doGetId() member function in derived class
 Ccomms::option::def::HasNameMark 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::IgnoreInvalidOption that forces field's read operation to ignore read data if invalid value is received
 Ccomms::option::def::InvalidByDefaultMake the field's contents to be invalid by default
 Ccomms::option::def::MissingOnInvalidMark an comms::field::Optional field as missing if its contents are invalid (member field has invalid value)
 Ccomms::option::def::MissingOnReadFailMark 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::NoIdImplOption 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::ProtocolLayerDisallowReadUntilDataSplitDisallow usage of ProtocolLayerForceReadUntilDataSplit option in earlier (outer wrapping) layers
 Ccomms::option::def::ProtocolLayerForceReadUntilDataSplitOption to force comms::protocol::ProtocolLayerBase class to split read operation "until" and "from" data (payload) layer
 Ccomms::option::def::ProtocolLayerSuppressReadUntilDataSplitForcingOption to forcefully disable passing the ProtocolLayerForceReadUntilDataSplit option to the layer definition
 Ccomms::option::def::PseudoValueOption 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::SequenceElemLengthForcingEnabledOption 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::SequenceLengthForcingEnabledOption 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::SequenceSizeForcingEnabledOption 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::ValidRangesClearClear accumulated ranges of valid values
 Ccomms::option::def::VariantHasCustomResetOnDestructAvoid 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::VersionStorageAdd 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::LinearSwitchTag class used to indicate linear switch dispatch
 Ccomms::traits::dispatch::PolymorphicTag class used to indicate polymorphic dispatch
 Ccomms::traits::dispatch::StaticBinSearchTag class used to indicate static binary search dispatch
 Ccomms::traits::units::AngleTag class used to indicate angle value
 Ccomms::traits::units::CurrentTag class used to indicate electrical current value
 Ccomms::traits::units::DistanceTag class used to indicate distance value
 Ccomms::traits::units::FrequencyTag class used to indicate frequency value
 Ccomms::traits::units::MemoryTag class used to indicate memory size value
 Ccomms::traits::units::SpeedTag class used to indicate speed value
 Ccomms::traits::units::TimeTag class used to indicate time value
 Ccomms::traits::units::VoltageTag 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::BigEmpty class used in traits to indicate Big Endian
 Ccomms::util::traits::endian::LittleEmpty 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 >