parcel 0.2.2
Wrappable, wire-transferable C++23 value system with JSON serialization
Loading...
Searching...
No Matches
registry.h File Reference

ParcelRegistry, Definition, and BuiltinsOptions for polymorphic dispatch. More...

#include <parcel/cell.h>
#include <parcel/descriptor.h>
#include <parcel/error.h>
#include <parcel/json.h>
#include <cstddef>
#include <functional>
#include <map>
#include <memory>
#include <ranges>
#include <stdexcept>
#include <string>
#include <string_view>
#include <typeindex>
#include <typeinfo>
#include <utility>
#include <vector>
Include dependency graph for registry.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  parcel::BuiltinsOptions
 Toggles for the built-in cell registrations performed by register_builtins. More...
 
struct  parcel::Definition
 Closed-over schema for a single root kind plus everything it references. More...
 
class  parcel::ParcelRegistry
 Runtime catalog of cell-type descriptors, keyed by wire kind id. More...
 

Detailed Description

ParcelRegistry, Definition, and BuiltinsOptions for polymorphic dispatch.

ParcelRegistry is the runtime catalog of cell-type descriptors keyed by wire kind id. Heterogeneous containers (ListCell, MapCell) and any user code dispatching from a JSON "k" go through it. The registry also walks the schema graph in define(), returning a root descriptor plus every kind it transitively references. See the README "Registry" section.