Parsnip
parsing library
Loading...
Searching...
No Matches
Data Structures | Namespaces | Typedefs | Functions
parsnip.h File Reference

Parsnip serialization. More...

#include <config.h>
#include <exception>
#include <limits>
#include <memory>
#include <istream>
#include <ostream>
#include <iostream>
#include <string>
#include <type_traits>
#include <unordered_map>
#include <vector>
#include <set>
#include <functional>
#include <cassert>
#include <climits>
#include <cmath>
#include <cstdlib>
#include <cstring>

Go to the source code of this file.

Data Structures

class  Parsnip::Exception
 Class representing issues related to serialization & parsing. More...
 
class  Parsnip::DataRangeError
 DataRangeError indicates a value received in a stream can't be represented. More...
 
class  Parsnip::Data
 Generic data type. More...
 
struct  Parsnip::Data::dictionary_t
 
struct  Parsnip::Data::list_t
 
union  Parsnip::Data::data_t
 
struct  Parsnip::Data::iterator
 An iterator used to walk items in Data's lists. More...
 
class  Parsnip::DataFormatError
 DataFormatError represents a syntax error in a datastream. More...
 
class  Parsnip::NoSuchKey
 An element requested from a constant dictionary does not exist. More...
 
class  Parsnip::IncorrectDataType
 The data's type is inconsistent with the use requested of it. More...
 
class  Parsnip::IncorrectListSize
 The list size does not meet schema requirements. More...
 
class  Parsnip::InvalidKey
 They key is not specified in the schema. More...
 
class  Parsnip::SchemaConflict
 Parsing/command patterns produce schema inconsistency. More...
 
struct  Parsnip::SchemaBaseDeleter
 Helper functor for schema smart pointers. More...
 
class  Parsnip::SchemaBaseRef
 Smart pointer for schemas, with unusual ability to be copied. More...
 
class  Parsnip::Schema
 Schema for one JSON object. More...
 

Namespaces

namespace  Parsnip
 Serialization and parsing library.
 

Typedefs

using Parsnip::InputStream = std::istream
 
using Parsnip::SchemaRef = std::shared_ptr< class Schema >
 

Functions

Data Parsnip::parse_json (std::istream &from, bool check_termination)
 Parse a stream as JSON data.
 
Data Parsnip::parse_json (const std::string &from)
 Parse a string as a JSON stream.
 
std::ostream & Parsnip::operator<< (std::ostream &out, const Parsnip::Data &data)
 

Detailed Description

Parsnip serialization.

A flexible data type for serializing data and parsing messages into structures.