Skip to content

Header Map

Every public header under src/rbe/, and the umbrella that includes it. #include <rbe/rbe.hpp> brings in everything; the umbrellas bring in one layer; the granular headers one thing. With the single header, everything comes from <rbe/rbe.hpp>.

Directories named detail/ and namespaces named detail (rbe::detail, rbe::frames::detail, ...) are private: user code never needs to name them, and they change without notice.

Umbrellas

Header Includes
rbe/rbe.hpp The five below.
rbe/core.hpp Concepts, wire_size_of, byte order, formatter, custom, overload.
rbe/annotations.hpp Every annotation, well_annotated, contains_annotation.
rbe/srl.hpp serialize, try_serialize.
rbe/dsrl.hpp deserialize, try_deserialize, the strategy tags, proxy, return_type.
rbe/frames.hpp Frames: vocabulary types, concepts, views, adaptors, deserialize for frames.

Core

Header Provides
rbe/core/wirable_concepts.hpp introspectable, wirable, wirable_class, wirable_range
rbe/core/trivially_wirable_concepts.hpp trivially_wirable, trivially_wirable_class, trivially_wirable_range, is_trivially_wirable
rbe/core/wirable_primitives.hpp trivially_wirable_primitive, custom_wirable, wirable_primitive and their is_* predicates
rbe/core/memory_layout.hpp wire_size_of
rbe/core/endian.hpp rbe::endian::order, to_native, native_to, load, store
rbe/core/fmt.hpp The std::formatter and operator<< for =rbe::fmt types
rbe/core/custom.hpp rbe::custom<T>, the primary template of the planned customization point
rbe/core/overload_set.hpp rbe::overload

Annotations

Header Provides
rbe/annotations/endianness.hpp order, little, big
rbe/annotations/bits.hpp bits
rbe/annotations/alignment.hpp alignment, alignment_mode, pack, align
rbe/annotations/id.hpp id, identifiable, identifying, self_identifying, id_like, id_of, id_type_of
rbe/annotations/length.hpp length, length_kind, self_length, header_length, frame_length, payload_length, payload_count
rbe/annotations/count.hpp count
rbe/annotations/empty.hpp empty, explicitly_empty
rbe/annotations/format.hpp fmt
rbe/annotations/friendly.hpp friendly
rbe/annotations/derive.hpp derive, pack_le, pack_be, debug
rbe/annotations/annotation_concepts.hpp well_annotated, contains_annotation

Serialization

Header Provides
rbe/srl/serialize.hpp serialize, try_serialize

Deserialization

Header Provides
rbe/dsrl/deserialize.hpp deserialize, try_deserialize for wirable types
rbe/dsrl/tags.hpp eager, lazy, in_place, in_place_mut, their types, strategy
rbe/dsrl/proxy.hpp rbe::dsrl::proxy
rbe/dsrl/return_type.hpp rbe::dsrl::return_type

Frames

Header Provides
rbe/frames/frame.hpp rbe::frames::frame
rbe/frames/any.hpp rbe::frames::any
rbe/frames/many.hpp rbe::frames::many
rbe/frames/blob.hpp rbe::frames::blob
rbe/frames/deserialize.hpp deserialize, try_deserialize for frames
rbe/frames/frame_concepts.hpp is_frame, is_any, is_many, header, payload, wirable_payload, header_t, payload_t, many_element_t
rbe/frames/frame_serder_concepts.hpp frame_serder, serder_payload, serder_traits, dsrl_t
rbe/frames/frame_delimiting_tags.hpp The delimiting tags, delimiting_tag, declares_delimiting_concept
rbe/frames/frame_delimiting_concepts.hpp self_delimited, buffer_delimited, explicitly_delimited, length_delimited, count_delimited, static_stride_delimited, implicitly_delimited, static_delimited, static_length, static_stride, dynamic_stride, delimiting_concept_t, frame_delimiting_tag
rbe/frames/length.hpp rbe::frames::length, distance, constant_length
rbe/frames/value_type.hpp 🚧 value_type, a placeholder
rbe/frames/dsrl/frame.hpp rbe::frames::dsrl::frame
rbe/frames/dsrl/base_frame.hpp rbe::frames::dsrl::base_frame, tuple protocol for frames
rbe/frames/dsrl/header.hpp rbe::frames::dsrl::header
rbe/frames/dsrl/payload.hpp payload_view_t, payload_extent, try_payload_extent, construct_payload, try_construct_payload, counted_extent
rbe/frames/dsrl/any.hpp rbe::frames::dsrl::any
rbe/frames/dsrl/any_unmatched.hpp rbe::unmatched
rbe/frames/dsrl/many.hpp rbe::frames::dsrl::many
rbe/frames/dsrl/flatten.hpp rbe::frames::dsrl::flatten
rbe/frames/dsrl/views.hpp rbe::views::many, with_ids, known_ids, unknown_ids
rbe/frames/dsrl/concepts.hpp rbe::frames::dsrl::is_frame, decomposable_frame, any_dispatcher
rbe/frames/srl/*.hpp 🚧 Frame serialization, placeholders