JSON Voorhees
Killer JSON for C++
forward.hpp
Go to the documentation of this file.
1 /** \file jsonv/forward.hpp
2  *
3  * Copyright (c) 2012-2014 by Travis Gockel. All rights reserved.
4  *
5  * This program is free software: you can redistribute it and/or modify it under the terms of the Apache License
6  * as published by the Apache Software Foundation, either version 2 of the License, or (at your option) any later
7  * version.
8  *
9  * \author Travis Gockel (travis@gockelhut.com)
10 **/
11 #ifndef __JSONV_FORWARD_HPP_INCLUDED__
12 #define __JSONV_FORWARD_HPP_INCLUDED__
13 
14 namespace jsonv
15 {
16 
17 class adapter;
18 template <typename T> class adapter_builder;
19 class encoder;
20 class extractor;
21 class extraction_context;
22 class formats;
23 class formats_builder;
24 enum class kind : unsigned char;
25 class kind_error;
26 template <typename T, typename TMember> class member_adapter_builder;
27 class parse_error;
28 class parse_options;
29 class path;
30 class path_element;
31 enum class path_element_kind : unsigned char;
32 template <typename TPointer> class polymorphic_adapter_builder;
33 class serializer;
35 class tokenizer;
36 enum class token_kind : unsigned int;
37 class value;
38 struct version;
39 
40 }
41 
42 #endif/*__JSONV_FORWARD_HPP_INCLUDED__*/
Configuration for various parsing options.
Definition: parse.hpp:114
Thrown from various value methods when attempting to perform an operation which is not valid for the ...
Definition: value.hpp:92
An error encountered when parsing.
Definition: parse.hpp:31
token_kind
The kind of token that was encountered in a tokenizer.
Definition: tokenizer.hpp:29
An extractor holds the method for converting a value into an arbitrary C++ type.
A serializer holds the method for converting an arbitrary C++ type into a value.
Simply put, this class is a collection of extractor and serializer instances.
Splits input into tokens, allowing traversal of JSON without verification.
Definition: tokenizer.hpp:99
Represents an exact path in some JSON structure.
Definition: path.hpp:82
kind
Describes the kind of data a value holds.
Definition: value.hpp:69
Represents a version used to extract and encode JSON objects from C++ classes.
An encoder is responsible for writing values to some form of output.
Definition: encode.hpp:25
Represents a single JSON value, which can be any one of a potential kind, each behaving slightly diff...
Definition: value.hpp:131