Circus 0.0.1-alpha
C++ Serialization Framework
Loading...
Searching...
No Matches
circus::deserializer< IStreamT > Class Template Reference

Parses structured circus-formatted input and exposes access to the parsed data. More...

#include <deserializer.hpp>

Public Types

using circ_object = std::unordered_map<std::string, circ_variable>

Public Member Functions

 deserializer (IStreamT &is)
 Constructs a deserializer from an input stream.
circ_safe_proxy operator[] (const std::string &k)
 Destructor (default).

Detailed Description

template<typename IStreamT>
requires (std::is_base_of_v<std::istream, IStreamT>)
class circus::deserializer< IStreamT >

Parses structured circus-formatted input and exposes access to the parsed data.

This class reads an input stream, lexes and parses it into a structured tree (circ_variable), and provides safe, nested access through operator[] and type-safe retrieval using .value<T>().

Template Parameters
IStreamTInput stream type (must derive from std::istream)

Constructor & Destructor Documentation

◆ deserializer()

template<typename IStreamT>
circus::deserializer< IStreamT >::deserializer ( IStreamT & is)
inline

Constructs a deserializer from an input stream.

This constructor will:

  1. Read the full input into a string.
  2. Tokenize the source text.
  3. Parse the token stream into a structured root object.
Parameters
isInput stream containing serialized circus-formatted data.

The documentation for this class was generated from the following file: