Alternate e697dbe9c5997e35395fe158628dd8c5209481da
for Visual Studio 2022 and Windows 11.
読み取り中…
検索中…
一致する文字列を見つけられません
picojson.h ファイル
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cstddef>
#include <iostream>
#include <iterator>
#include <limits>
#include <map>
#include <stdexcept>
#include <string>
#include <vector>
#include <utility>
#include <math.h>
#include <locale.h>

[ソースコード]

クラス

union  picojson::value::_storage
 
class  picojson::default_parse_context
 
class  picojson::deny_parse_context
 
struct  picojson::null_parse_context::dummy_str
 
class  picojson::input< Iter >
 
struct  picojson::last_error_t< T >
 
struct  picojson::null
 
class  picojson::null_parse_context
 
struct  picojson::serialize_str_char< Iter >
 
class  picojson::value
 

名前空間

namespace  picojson
 
namespace  std
 STL namespace
 

マクロ定義

#define DEINIT(p)
 
#define GET(ctype, var)
 
#define INIT(p, v)
 
#define INIT(p, v)
 
#define IS(ch, text, op)
 
#define IS(ctype, jtype)
 
#define MAP(sym, val)
 
#define MAP(val, sym)
 
#define PICOJSON_ASSERT(e)
 
#define PICOJSON_CMP(type)
 
#define PICOJSON_NOEXCEPT   throw()
 
#define PICOJSON_USE_LOCALE   1
 
#define PICOJSON_USE_RVALUE_REFERENCE   0
 
#define SET(ctype, jtype, setter)
 
#define SNPRINTF   snprintf
 

型定義

typedef value::array picojson::array
 
typedef value::object picojson::object
 

列挙型

enum  {
  picojson::null_type , picojson::boolean_type , picojson::number_type , picojson::string_type ,
  picojson::array_type , picojson::object_type
}
 
enum  { picojson::INDENT_WIDTH = 2 }
 

関数

template<typename Context , typename Iter >
Iter picojson::_parse (Context &ctx, const Iter &first, const Iter &last, std::string *err)
 
template<typename Context , typename Iter >
bool picojson::_parse (Context &ctx, input< Iter > &in)
 
template<typename Context , typename Iter >
bool picojson::_parse_array (Context &ctx, input< Iter > &in)
 
template<typename String , typename Iter >
bool picojson::_parse_codepoint (String &out, input< Iter > &in)
 
template<typename Iter >
std::string picojson::_parse_number (input< Iter > &in)
 
template<typename Context , typename Iter >
bool picojson::_parse_object (Context &ctx, input< Iter > &in)
 
template<typename Iter >
int picojson::_parse_quadhex (input< Iter > &in)
 
template<typename String , typename Iter >
bool picojson::_parse_string (String &out, input< Iter > &in)
 
template<typename Iter >
void picojson::copy (const std::string &s, Iter oi)
 
const std::string & picojson::get_last_error ()
 
bool picojson::operator!= (const value &x, const value &y)
 
std::ostream & operator<< (std::ostream &os, const picojson::value &x)
 
bool picojson::operator== (const value &x, const value &y)
 
std::istream & operator>> (std::istream &is, picojson::value &x)
 
template<typename Iter >
Iter picojson::parse (value &out, const Iter &first, const Iter &last, std::string *err)
 
std::string picojson::parse (value &out, const std::string &s)
 
template<typename Iter >
std::string picojson::parse (value &out, Iter &pos, const Iter &last)
 
std::string picojson::parse (value &out, std::istream &is)
 
template<typename Iter >
void picojson::serialize_str (const std::string &s, Iter oi)
 
void picojson::set_last_error (const std::string &s)
 
template<>
void std::swap (picojson::value &x, picojson::value &y)
 

マクロ定義詳解

◆ DEINIT

#define DEINIT (   p)
値:
case p##type: \
delete u_.p; \
break

◆ GET

#define GET (   ctype,
  var 
)
値:
template <> inline const ctype &value::get<ctype>() const { \
PICOJSON_ASSERT("type mismatch! call is<type>() before get<type>()" && is<ctype>()); \
return var; \
} \
template <> inline ctype &value::get<ctype>() { \
PICOJSON_ASSERT("type mismatch! call is<type>() before get<type>()" && is<ctype>()); \
return var; \
}

picojson.h371 行目に定義があります。

◆ INIT [1/2]

#define INIT (   p,
 
)
値:
case p##type: \
u_.p = v; \
break

◆ INIT [2/2]

#define INIT (   p,
 
)
値:
case p##type: \
u_.p = v; \
break

◆ IS [1/2]

#define IS (   ch,
  text,
  op 
)
値:
case ch: \
if (in.match(text) && op) { \
return true; \
} else { \
return false; \
}

picojson.h350 行目に定義があります。

◆ IS [2/2]

#define IS (   ctype,
  jtype 
)
値:
template <> inline bool value::is<ctype>() const { \
return type_ == jtype##_type; \
}

picojson.h350 行目に定義があります。

◆ MAP [1/2]

#define MAP (   sym,
  val 
)
値:
case sym: \
out.push_back(val); \
break

◆ MAP [2/2]

#define MAP (   val,
  sym 
)
値:
case val: \
copy(sym, oi); \
break

◆ PICOJSON_ASSERT

#define PICOJSON_ASSERT (   e)
値:
do { \
if (!(e)) \
throw std::runtime_error(#e); \
} while (0)

picojson.h100 行目に定義があります。

◆ PICOJSON_CMP

#define PICOJSON_CMP (   type)
値:
if (x.is<type>()) \
return y.is<type>() && x.get<type>() == y.get<type>()

◆ PICOJSON_NOEXCEPT

#define PICOJSON_NOEXCEPT   throw()

picojson.h72 行目に定義があります。

◆ PICOJSON_USE_LOCALE

#define PICOJSON_USE_LOCALE   1

picojson.h91 行目に定義があります。

◆ PICOJSON_USE_RVALUE_REFERENCE

#define PICOJSON_USE_RVALUE_REFERENCE   0

picojson.h64 行目に定義があります。

◆ SET

#define SET (   ctype,
  jtype,
  setter 
)
値:
template <> inline void value::set<ctype>(const ctype &_val) { \
clear(); \
type_ = jtype##_type; \
setter \
}

picojson.h394 行目に定義があります。

◆ SNPRINTF

#define SNPRINTF   snprintf

picojson.h114 行目に定義があります。

関数詳解

◆ operator<<()

std::ostream & operator<< ( std::ostream &  os,
const picojson::value x 
)
inline

picojson.h1166 行目に定義があります。

参照先 picojson::value::serialize().

◆ operator>>()

std::istream & operator>> ( std::istream &  is,
picojson::value x 
)
inline

picojson.h1156 行目に定義があります。

参照先 picojson::parse(), picojson::set_last_error().