Conscience Core
Classes | Namespaces | Macros | Typedefs | Functions | Variables
json.h File Reference
#include "Util/conscience_log.h"
#include <any>
#include <boost/variant.hpp>
#include <cstring>
#include <exception>
#include <filesystem>
#include <iostream>
#include <memory>
#include <optional>
#include <type_traits>
#include <typeinfo>
#include <yyjson.h>

Go to the source code of this file.

Classes

struct  conscience_utils::JSON::JsonSerializableData
 
class  conscience_utils::JSON::MissingRequiredPropertyException
 
class  conscience_utils::JSON::CscJsonObjectReader
 
class  conscience_utils::JSON::CscJsonParser
 
class  conscience_utils::JSON::CscJsonObject
 

Namespaces

 conscience_utils
 
 conscience_utils::JSON
 

Macros

#define JSON_BASE_TYPES   std::nullptr_t, const char *, char *, bool, unsigned, int, long long, unsigned long long, string, float, double
 

Typedefs

template<class T >
using ptr = std::shared_ptr< T >
 

Functions

string conscience_utils::JSON::vectorToJson (const vector< JsonSerializableData > &list, bool noNewLines)
 
string conscience_utils::JSON::mapToJson (const map< string, JsonSerializableData > &map, bool noNewLines)
 
string conscience_utils::JSON::pairsToJson (const vector< pair< string, JsonSerializableData >> &entries, bool noNewLines)
 
string conscience_utils::JSON::jsonSerializableDataToString (JsonSerializableData data)
 
template<class TValue >
vector< JsonSerializableData > conscience_utils::JSON::vectorToJsonSerializable (const vector< TValue > &theVector)
 
template<class TValue >
map< string, JsonSerializableData > conscience_utils::JSON::mapToJsonSerializable (const map< string, TValue > &map)
 
template<class T >
conscience_utils::JSON::getNumericValueFromJson (yyjson_val *jsonValue)
 
template<IsString T>
yyjson_mut_val * conscience_utils::JSON::toJsonValue (const T &value, yyjson_mut_doc *doc)
 
yyjson_mut_val * conscience_utils::JSON::mapToJsonObject (const map< string, string > &map, yyjson_mut_doc *doc)
 
template<IsNotString T>
yyjson_mut_val * conscience_utils::JSON::toJsonValue (T &value, yyjson_mut_doc *doc)
 
template<class T >
yyjson_mut_val * conscience_utils::JSON::toJsonValue (const vector< T > &valueList, yyjson_mut_doc *doc, bool clone=false)
 

Variables

template<class T >
concept conscience_utils::JSON::IsString = std::is_same_v<T, string>
 
template<class T >
concept conscience_utils::JSON::IsNotString = !IsString<T>
 

Macro Definition Documentation

◆ JSON_BASE_TYPES

#define JSON_BASE_TYPES   std::nullptr_t, const char *, char *, bool, unsigned, int, long long, unsigned long long, string, float, double

Typedef Documentation

◆ ptr

template<class T >
using ptr = std::shared_ptr<T>