|
JSON Voorhees
Killer JSON for C++
|
Conversion between C++ types and JSON values. More...
#include <jsonv/config.hpp>#include <jsonv/detail/nested_exception.hpp>#include <jsonv/detail/scope_exit.hpp>#include <jsonv/path.hpp>#include <jsonv/value.hpp>#include <memory>#include <new>#include <typeinfo>#include <typeindex>#include <type_traits>#include <utility>#include <vector>Go to the source code of this file.
Classes | |
| struct | jsonv::version |
| Represents a version used to extract and encode JSON objects from C++ classes. More... | |
| class | jsonv::duplicate_type_error |
| Exception thrown if an insertion of an extractor or serializer into a formats is attempted, but there is already an extractor or serializer for that type. More... | |
| class | jsonv::extraction_error |
Exception thrown if there is any problem running extract. More... | |
| class | jsonv::no_extractor |
Thrown when formats::extract does not have an extractor for the provided type. More... | |
| class | jsonv::no_serializer |
Thrown when formats::to_json does not have a serializer for the provided type. More... | |
| class | jsonv::extractor |
An extractor holds the method for converting a value into an arbitrary C++ type. More... | |
| class | jsonv::serializer |
A serializer holds the method for converting an arbitrary C++ type into a value. More... | |
| class | jsonv::adapter |
An adapter is both an extractor and a serializer. More... | |
| class | jsonv::formats |
Simply put, this class is a collection of extractor and serializer instances. More... | |
| class | jsonv::context_base |
| Provides extra information to routines used for extraction. More... | |
| class | jsonv::extraction_context |
| class | jsonv::serialization_context |
Enumerations | |
| enum | jsonv::duplicate_type_action : unsigned char { jsonv::duplicate_type_action::ignore, jsonv::duplicate_type_action::replace, jsonv::duplicate_type_action::exception } |
| The action to take when an insertion of an extractor or serializer into a formats is attempted, but there is alredy an extractor or serializer for that type. More... | |
Functions | |
| template<typename T > | |
| T | jsonv::extract (const value &from, const formats &fmts) |
| Extract a C++ value from from using the provided fmts. More... | |
| template<typename T > | |
| T | jsonv::extract (const value &from) |
Extract a C++ value from from using jsonv::formats::global(). More... | |
| template<typename T > | |
| value | jsonv::to_json (const T &from, const formats &fmts) |
Encode a JSON value from from using the provided fmts. More... | |
| template<typename T > | |
| value | jsonv::to_json (const T &from) |
Encode a JSON value from from using jsonv::formats::global(). More... | |
Conversion between C++ types and JSON values.
Copyright (c) 2015 by Travis Gockel. All rights reserved.
This program is free software: you can redistribute it and/or modify it under the terms of the Apache License as published by the Apache Software Foundation, either version 2 of the License, or (at your option) any later version.
Definition in file serialization.hpp.