Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccJsonUtil.h
Go to the documentation of this file.
1#ifndef _ICCJSONUTIL_H
2#define _ICCJSONUTIL_H
3
4#include <nlohmann/json.hpp>
5#include "..\..\..\IccProfLib\IccDefs.h"
6
7using namespace nlohmann;
8
9template <class T>
10std::string arrayToJson(T *a, int nCount);
11
12template<typename T>
13std::string valueToJson(const char* name, T v);
14
15template<>
16std::string valueToJson(const char* name, const char* v);
17
18template<>
19std::string valueToJson(const char* name, char* v);
20
21std::string valueToJson(const char* name, const char* v, bool& bPreviousLine);
22
23template<>
24std::string valueToJson(const char* name, float v);
25
26template<>
27std::string valueToJson(const char* name, double v);
28
29template<>
30std::string valueToJson(const char* name, const std::string &);
31
32std::string valueToJsonUuid(const char* name, const char* v, bool bBinary=false);
33
34std::string fixJsonString(const char* v);
35
36template <typename T>
37bool jsonToValue(const json& j, T& nValue);
38
39template <>
40bool jsonToValue(const json& j, bool& nValue);
41
42template <>
43bool jsonToValue(const json& j, std::string& nValue);
44
45bool jsonToString(const json& j, std::string& value);
46
47template <typename T>
48bool jsonToArray(const json& v, T* vals, int n);
49
50template <typename T>
51bool jsonToArray(const json& v, std::vector<T>& vals);
52
53bool jsonToArray(const json& v, std::vector<std::string>& vals);
54
55bool jsonToList(const json& v, std::list<std::string>& vals);
56
57bool jsonToCStr(const json& j, char* str, int nSize);
58
59bool jsonToColorSpace(const json& j, icColorSpaceSignature& sig);
60
61bool saveJsonAs(const json& j, const char* szFname, int indent=1);
62bool loadJsonFrom(json& j, const char* szFname);
63
64#endif //_JSONUTIL
icArraySignature sig
bool loadJsonFrom(json &j, const char *szFname)
bool jsonToArray(const json &v, T *vals, int n)
std::string valueToJson(const char *name, T v)
bool jsonToList(const json &v, std::list< std::string > &vals)
bool jsonToColorSpace(const json &j, icColorSpaceSignature &sig)
std::string arrayToJson(T *a, int nCount)
bool saveJsonAs(const json &j, const char *szFname, int indent=1)
std::string fixJsonString(const char *v)
bool jsonToValue(const json &j, T &nValue)
std::string valueToJsonUuid(const char *name, const char *v, bool bBinary=false)
bool jsonToCStr(const json &j, char *str, int nSize)
bool jsonToString(const json &j, std::string &value)
icColorSpaceSignature
Color Space Signatures.