|
parcel 0.2.2
Wrappable, wire-transferable C++23 value system with JSON serialization
|
StructCell CRTP base, FieldsBuilder, and the per-field descriptors.
More...
#include <parcel/cell.h>#include <parcel/defaults.h>#include <parcel/descriptor.h>#include <parcel/list.h>#include <parcel/map.h>#include <parcel/primitive.h>#include <parcel/registry.h>#include <algorithm>#include <map>#include <memory>#include <optional>#include <stdexcept>#include <string>#include <string_view>#include <type_traits>#include <utility>#include <vector>

Go to the source code of this file.
Classes | |
| struct | parcel::IPayloadFieldDescriptor< Payload > |
Field-descriptor extension that knows how to read/write a specific Payload. More... | |
| class | parcel::MemberFieldDescriptor< Payload, FieldT, CellT > |
| Concrete payload field descriptor backed by a member pointer. More... | |
| class | parcel::InheritedFieldDescriptor< DerivedPayload, ParentPayload > |
| Adapter that lets a parent struct's payload field descriptor be reused by a derived struct. More... | |
| class | parcel::FieldsBuilder< Payload > |
Fluent builder used inside Derived::field_descriptors() to declare struct fields. More... | |
| class | parcel::StructCellTypeDescriptor< Derived, Payload > |
Descriptor for StructCell<Derived, Payload>. More... | |
| class | parcel::StructCell< Derived, Payload, StructId > |
| CRTP base for user-defined struct cells. More... | |
| class | parcel::SelfStructCell< Derived > |
| CRTP base for struct cells that are their own payload. More... | |
StructCell CRTP base, FieldsBuilder, and the per-field descriptors.
StructCell<Derived, Payload> makes a plain user-defined Payload struct addressable through the cell interface: each field is a runtime IPayloadFieldDescriptor keyed by JSON name and pointing back at the payload via a member pointer. FieldsBuilder<Payload> is the fluent builder used inside Derived::field_descriptors() to declare each field. See the README "Structs" section.