| JSON Voorhees
    Killer JSON for C++ | 
Copyright (c) 2012-2018 by Travis Gockel. More...
#include <jsonv/config.hpp>#include <jsonv/string_view.hpp>#include <jsonv/detail/basic_view.hpp>#include <cstddef>#include <cstdint>#include <initializer_list>#include <iosfwd>#include <iterator>#include <functional>#include <map>#include <stdexcept>#include <string>#include <type_traits>#include <utility>Go to the source code of this file.
| Classes | |
| union | jsonv::detail::value_storage | 
| class | jsonv::kind_error | 
| Thrown from various valuemethods when attempting to perform an operation which is not valid for thekindof value.  More... | |
| class | jsonv::value | 
| Represents a single JSON value, which can be any one of a potential kind, each behaving slightly differently.  More... | |
| struct | jsonv::value::basic_array_iterator< T, TArrayView > | 
| The base type for iterating over array values.  More... | |
| struct | jsonv::value::basic_object_iterator< T, TIterator > | 
| The base iterator type for iterating over object types.  More... | |
| struct | jsonv::value::object_insert_return_type | 
| Type returned from insertoperations when this has kind::object.  More... | |
| class | jsonv::object_node_handle | 
| A node handle used when a value is kind::object to access elements of the object in potentially destructive manner.  More... | |
| struct | std::hash< jsonv::value > | 
| Explicit specialization of std::hashforjsonv::valuetypes so you can store avaluein an unordered container.  More... | |
| Macros | |
| #define | JSONV_VALUE_INTEGER_ALTERNATIVE_CTOR_PROTO_GENERATOR(type_) value(type_ val); | 
| Enumerations | |
| enum | jsonv::kind : unsigned char { null, object, array, string, integer, decimal, boolean } | 
| Describes the kind of data a valueholds.  More... | |
| Functions | |
| JSONV_PUBLIC std::ostream & | jsonv::operator<< (std::ostream &, const kind &) | 
| Print out the name of the kind.  More... | |
| JSONV_PUBLIC std::string | jsonv::to_string (const kind &) | 
| Get the name of the kind.  More... | |
| JSONV_PUBLIC std::string | jsonv::to_string (const value &) | 
| Get a string representation of the given value.  More... | |
| JSONV_PUBLIC value | jsonv::operator""_json (const char *str, std::size_t len) | 
| A user-defined literal for parsing JSON.  More... | |
| JSONV_PUBLIC void | jsonv::swap (value &a, value &b) noexcept | 
| Swap the values a and b.  More... | |
| JSONV_PUBLIC value | jsonv::array () | 
| Create an empty array value.  More... | |
| JSONV_PUBLIC value | jsonv::array (std::initializer_list< value > source) | 
| Create an array value from the given source.  More... | |
| template<typename TForwardIterator > | |
| value | jsonv::array (TForwardIterator first, TForwardIterator last) | 
| Create an array with contents defined by range [first, last).  More... | |
| JSONV_PUBLIC value | jsonv::object () | 
| Create an empty object.  More... | |
| JSONV_PUBLIC value | jsonv::object (std::initializer_list< std::pair< std::string, value >> source) | 
| Create an object with key-value pairs from the given source.  More... | |
| JSONV_PUBLIC value | jsonv::object (std::initializer_list< std::pair< std::wstring, value >> source) | 
| template<typename TForwardIterator > | |
| value | jsonv::object (TForwardIterator first, TForwardIterator last) | 
| Create an object whose contents are defined by range [first, last).  More... | |
| Variables | |
| JSONV_PUBLIC const value | jsonv::null | 
| An instance with kind::null.  More... | |
Copyright (c) 2012-2018 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 value.hpp.
| struct jsonv::value::object_insert_return_type | 
Type returned from insert operations when this has kind::object. 
It is generally compatible with the insert_return_type of std::map, with the notable lack of node.
| Class Members | ||
|---|---|---|
| bool | inserted | Did the insert operation perform an insert? A value of falseindicates there was a key already present with the same name. | 
| const_object_iterator | position | The position of the inserted node or node with the duplicate key. |