| Solution46
    | 
JSONドキュメントクラス [詳解]
#include "CJsonDocument.h"


| 公開メンバ関数 | |
| CJsonDocument (CJson *pcJson=nullptr) noexcept | |
| コンストラクタ  [詳解] | |
| virtual | ~CJsonDocument () noexcept | 
| デストラクタ  [詳解] | |
| virtual bool | IsEmpty () noexcept | 
| 空状態取得関数  [詳解] | |
| virtual CJson * | GetRootJson () noexcept | 
| ルートJSONクラス取得関数  [詳解] | |
| virtual bool | SetRootJson (CJson *pcJson) noexcept | 
| ルートJSONクラス設定関数  [詳解] | |
| virtual CJson * | GetCurrentJson () noexcept | 
| カレントJSONクラス取得関数  [詳解] | |
| virtual bool | SetCurrentJson (CJson *pcJson) noexcept | 
| カレントJSONクラス設定関数  [詳解] | |
| virtual void | ClearDocument () noexcept | 
| クリア関数  [詳解] | |
| virtual bool | CompactDocument () noexcept | 
| コンパクト化関数  [詳解] | |
| virtual bool | InputDocument (CStream &rcStream) noexcept | 
| JSONドキュメント入力関数  [詳解] | |
| virtual bool | OutputDocument (CStreamOut &rcStreamOut) noexcept | 
| JSONドキュメント出力関数  [詳解] | |
| virtual bool | DeleteCurrentJson () noexcept | 
| カレントJSONクラス削除関数  [詳解] | |
| virtual bool | GetCurrentPath (CString &rcPath) noexcept | 
| カレントパス取得関数  [詳解] | |
| virtual bool | SetCurrentPath (wchar_t const *pszPath) noexcept | 
| カレントパス設定関数  [詳解] | |
| virtual bool | GetCurrentSetValue (CString &rcValue, bool bClassName=false, bool bQuotes=true) noexcept | 
| カレント設定値文字列取得関数  [詳解] | |
| virtual bool | SetCurrentSetValue (wchar_t const *pszValue) noexcept | 
| カレント設定値文字列設定関数  [詳解] | |
| virtual bool | CreatePath (wchar_t const *pszPath) noexcept | 
| JSONパス作成関数  [詳解] | |
| 静的公開メンバ関数 | |
| static bool | GetJsonPath (CString &rcPath, CJson *pcJson) noexcept | 
| JSONパス取得関数  [詳解] | |
| static CJson * | FindJsonPath (wchar_t const *pszPath, CJson *pcJson) noexcept | 
| JSONパス検索関数  [詳解] | |
| static bool | GetJsonSetValue (CString &rcValue, CJson *pcJson, bool bClassName=false, bool bQuotes=true) noexcept | 
| JSON設定値文字列取得関数  [詳解] | |
| static bool | SetJsonSetValue (wchar_t const *pszValue, CJson *&rpcJson) noexcept | 
| JSON設定値設定関数  [詳解] | |
| static bool | SetJsonSetValueByStream (CStream &rcStream, CJson *&rpcJson) noexcept | 
| JSON設定値ストリーム設定関数  [詳解] | |
| static bool | DeleteJson (CJson *&rpcJson) noexcept | 
| JSONクラス削除関数  [詳解] | |
| static bool | CreateJsonPath (wchar_t const *pszPath, CJson *&rpcJson) noexcept | 
| JSONパス作成関数  [詳解] | |
| static bool | GetJsonPathList (CString &rcPathList, CJson *pcJson) noexcept | 
| JSONパスリスト取得関数  [詳解] | |
| 静的限定公開メンバ関数 | |
| static EJsonPathToken | InputPathToken (CStream &rcStream, CString &rcString, bool bEqual=false) noexcept | 
| JSONパストークン入力関数  [詳解] | |
| static bool | DeleteQuotes (CString &rcString) noexcept | 
| JSON文字列二重引用符削除関数  [詳解] | |
| 限定公開変数類 | |
| CJson * | m_pcJsonRoot | 
| ルートJSONクラスポインタ  [詳解] | |
| CJson * | m_pcJsonCurrent | 
| カレントJSONクラスポインタ  [詳解] | |
| 非公開メンバ関数 | |
| CJsonDocument (CJsonDocument const &)=delete | |
| CJsonDocument & | operator= (CJsonDocument const &)=delete | 
| 
 | strongprotected | 
JSONパストークン種別列挙体
JSONパストークン種別列挙体です。
| 列挙値 | |
|---|---|
| Invalid | 無効値 | 
| Separator | セパレータ | 
| Dot | ドット | 
| DotDot | 二重ドット | 
| Name | 名前 | 
| Index | インデックス | 
| Equal | 等号 | 
| Size | 列挙体サイズ | 
CJsonDocument.h の 379 行目に定義があります。
| 
 | explicitnoexcept | 
コンストラクタ
コンストラクタです。
| [in] | pcJson | JSONクラスポインタ | 
CJsonDocument.cpp の 43 行目に定義があります。
| 
 | virtualnoexcept | 
デストラクタ
デストラクタです。
| なし | 
CJsonDocument.cpp の 51 行目に定義があります。
参照先 ClearDocument().

| 
 | privatedelete | 
| 
 | inlinevirtualnoexcept | 
空状態取得関数
空状態取得関数です。
| なし | 
CJsonDocument.h の 72 行目に定義があります。
| 
 | inlinevirtualnoexcept | 
ルートJSONクラス取得関数
ルートJSONクラス取得関数です。
| なし | 
CJsonDocument.h の 86 行目に定義があります。
| 
 | virtualnoexcept | 
ルートJSONクラス設定関数
ルートJSONクラス設定関数です。
| [in] | pcJson | JSONクラスポインタ | 
CJsonDocument.cpp の 60 行目に定義があります。
参照先 ClearDocument(), m_pcJsonCurrent, m_pcJsonRoot.
参照元 SetCurrentJson().


| 
 | inlinevirtualnoexcept | 
カレントJSONクラス取得関数
カレントJSONクラス取得関数です。
| なし | 
CJsonDocument.h の 110 行目に定義があります。
| 
 | virtualnoexcept | 
カレントJSONクラス設定関数
カレントJSONクラス設定関数です。
| [in] | pcJson | JSONクラスポインタ | 
CJsonDocument.cpp の 91 行目に定義があります。
参照先 LibJson::CJson::GetJsonRoot(), m_pcJsonCurrent, m_pcJsonRoot, SetRootJson().

| 
 | virtualnoexcept | 
クリア関数
クリア関数です。
| なし | 
CJsonDocument.cpp の 131 行目に定義があります。
参照先 m_pcJsonCurrent, m_pcJsonRoot.
参照元 CreatePath(), DeleteCurrentJson(), InputDocument(), SetCurrentSetValue(), SetRootJson(), ~CJsonDocument().

| 
 | virtualnoexcept | 
コンパクト化関数
コンパクト化関数です。
| なし | 
CJsonDocument.cpp の 140 行目に定義があります。
参照先 LibJson::CJson::CompactJson(), m_pcJsonRoot.

| 
 | virtualnoexcept | 
JSONドキュメント入力関数
JSONドキュメント入力関数です。
| [in] | rcStream | 入力ストリーム参照 | 
CJsonDocument.cpp の 163 行目に定義があります。
参照先 ClearDocument(), LibJson::CJsonValue::CreateInputJson(), LibJson::CJsonPair::CreateInputJson(), m_pcJsonCurrent, m_pcJsonRoot.
参照元 LibJson::CJsonConfig::Load().


| 
 | virtualnoexcept | 
JSONドキュメント出力関数
JSONドキュメント出力関数です。
| [in] | rcStreamOut | 出力ストリーム参照 | 
CJsonDocument.cpp の 206 行目に定義があります。
参照先 m_pcJsonRoot, LibJson::CJson::OutputJson().
参照元 LibJson::CJsonConfig::Save().


| 
 | virtualnoexcept | 
カレントJSONクラス削除関数
カレントJSONクラス削除関数です。
| なし | 
CJsonDocument.cpp の 234 行目に定義があります。
参照先 ClearDocument(), DeleteJson(), m_pcJsonCurrent, m_pcJsonRoot.
参照元 LibJson::CJsonConfigAuto::~CJsonConfigAuto().


| 
 | virtualnoexcept | 
カレントパス取得関数
カレントパス取得関数です。
| [out] | rcPath | 文字列クラス参照 | 
CJsonDocument.cpp の 259 行目に定義があります。
参照先 GetJsonPath(), m_pcJsonCurrent.
参照元 CreatePath().


| 
 | virtualnoexcept | 
カレントパス設定関数
カレントパス設定関数です。
| [in] | pszPath | JSONパス文字列 | 
CJsonDocument.cpp の 273 行目に定義があります。
参照先 FindJsonPath(), m_pcJsonCurrent.
参照元 LibJson::CJsonConfigAuto::~CJsonConfigAuto().


| 
 | virtualnoexcept | 
カレント設定値文字列取得関数
カレント設定値文字列取得関数です。
| [out] | rcValue | 設定値文字列参照 | 
| [in] | bClassName | クラス名取得フラグ | 
| [in] | bQuotes | JSON文字列二重引用符なしフラグ | 
CJsonDocument.cpp の 297 行目に定義があります。
参照先 GetJsonSetValue(), m_pcJsonCurrent.
参照元 LibJson::CJsonConfigAuto::~CJsonConfigAuto().


| 
 | virtualnoexcept | 
カレント設定値文字列設定関数
カレント設定値文字列設定関数です。
| [in] | pszValue | 設定値文字列 | 
CJsonDocument.cpp の 311 行目に定義があります。
参照先 ClearDocument(), m_pcJsonCurrent, m_pcJsonRoot, SetJsonSetValue().

| 
 | virtualnoexcept | 
JSONパス作成関数
JSONパス作成関数です。
| [in] | pszPath | JSONパス文字列 | 
CJsonDocument.cpp の 343 行目に定義があります。
参照先 ClearDocument(), CreateJsonPath(), FindJsonPath(), GetCurrentPath(), LibJson::CJson::GetJsonRoot(), m_pcJsonCurrent, m_pcJsonRoot.
参照元 LibJson::CJsonConfig::Set().


JSONパス取得関数
JSONパス取得関数です。
| [out] | rcPath | JSONパス文字列参照 | 
| [in] | pcJson | JSONクラスポインタ | 
CJsonDocument.cpp の 390 行目に定義があります。
参照先 LibCommon::CArray< Type >::GetCount(), LibJson::CJson::GetJsonArray(), LibJson::CJson::GetJsonParent(), LibJson::CJson::GetJsonString(), LibJson::CJson::IsJsonArray(), LibJson::CJson::IsJsonPair().
参照元 GetCurrentPath(), GetJsonPathList().


| 
 | staticnoexcept | 
JSONパス検索関数
JSONパス検索関数です。
| [in] | pszPath | JSONパス文字列 | 
| [in] | pcJson | JSONクラスポインタ | 
CJsonDocument.cpp の 519 行目に定義があります。
参照先 Dot, DotDot, LibJson::CJsonArray::GetJsonArray(), LibJson::CJsonContainer::GetJsonElement(), LibJson::CJsonObject::GetJsonObject(), LibJson::CJsonPair::GetJsonPair(), LibJson::CJsonObject::GetJsonPair(), LibJson::CJsonPair::GetJsonValue(), Index, InputPathToken(), Invalid, LibCommon::CStream::IsStreamEnd(), Name, Separator.
参照元 CreatePath(), LibJson::CJsonConfig::Delete(), LibJson::CJsonConfig::Get(), SetCurrentPath().


| 
 | staticnoexcept | 
JSON設定値文字列取得関数
JSON設定値文字列取得関数です。
| [out] | rcValue | JSON設定値文字列参照 | 
| [in] | pcJson | JSONクラスポインタ | 
| [in] | bClassName | JSONクラス名取得フラグ | 
| [in] | bQuotes | JSON文字列二重引用符なしフラグ | 
CJsonDocument.cpp の 631 行目に定義があります。
参照先 LibCommon::CArray< Type >::GetCount(), LibJson::CJsonContainer::GetJsonContainer(), LibJson::CJsonToken::GetJsonToken(), LibJson::CJson::JsonArray, LibJson::CJson::JsonFixed, LibJson::CJson::JsonNumber, LibJson::CJson::JsonObject, LibJson::CJson::JsonPair, LibJson::CJson::JsonString.
参照元 LibJson::CJsonConfig::Get(), GetCurrentSetValue(), GetJsonPathList().


| 
 | staticnoexcept | 
JSON設定値設定関数
JSON設定値設定関数です。
| [in] | pszValue | JSON設定値文字列 | 
| [in,out] | rpcJson | JSONクラスポインタ参照 | 
CJsonDocument.cpp の 771 行目に定義があります。
参照先 SetJsonSetValueByStream().
参照元 SetCurrentSetValue().


| 
 | staticnoexcept | 
JSON設定値ストリーム設定関数
JSON設定値ストリーム設定関数です。
| [in] | rcStream | JSON設定値ストリーム参照 | 
| [in,out] | rpcJson | JSONクラスポインタ参照 | 
CJsonDocument.cpp の 779 行目に定義があります。
参照先 LibJson::CJsonValue::CreateInputJson(), LibJson::CJsonPair::CreateInputJson(), LibCommon::CArray< Type >::Find(), LibJson::CJson::GetJsonContainer(), LibJson::CJsonContainer::GetJsonElement(), LibJson::CJson::GetJsonPair(), LibJson::CJson::GetJsonParent(), LibJson::CJson::GetJsonValue(), LibJson::CJson::IsJsonArray(), LibJson::CJson::IsJsonContainer(), LibJson::CJson::IsJsonObject(), LibJson::CJson::IsJsonPair(), LibJson::CJsonContainer::SetJsonElement(), LibJson::CJsonPair::SetJsonValue().
参照元 CreateJsonPath(), SetJsonSetValue().


| 
 | staticnoexcept | 
JSONクラス削除関数
JSONクラス削除関数です。
| [in,out] | rpcJson | JSONクラスポインタ参照 | 
CJsonDocument.cpp の 925 行目に定義があります。
参照先 LibCommon::CArray< Type >::Find(), LibCommon::CArray< Type >::GetCount(), LibJson::CJson::GetJsonContainer(), LibJson::CJson::GetJsonParent(), LibJson::CJson::IsJsonContainer(), LibJson::CJson::IsJsonPair(), LibCommon::CArray< Type >::Remove().
参照元 LibJson::CJsonConfig::Delete(), DeleteCurrentJson().


| 
 | staticnoexcept | 
JSONパス作成関数
JSONパス作成関数です。
| [in] | pszPath | JSONパス文字列 | 
| [in,out] | rpcJson | JSONクラスポインタ参照 | 
CJsonDocument.cpp の 1013 行目に定義があります。
参照先 Dot, DotDot, Equal, LibJson::CJsonContainer::ExtendJsonElementCount(), LibCommon::CArray< Type >::Find(), LibCommon::CArray< Type >::GetCount(), LibJson::CJsonArray::GetJsonArray(), LibJson::CJson::GetJsonArray(), LibJson::CJsonObject::GetJsonObject(), LibJson::CJson::GetJsonObject(), LibJson::CJsonPair::GetJsonPair(), LibJson::CJsonObject::GetJsonPair(), LibJson::CJson::GetJsonPair(), LibJson::CJson::GetJsonParent(), LibJson::CJsonPair::GetJsonValue(), Index, InputPathToken(), Invalid, LibJson::CJson::IsJsonArray(), LibJson::CJson::IsJsonObject(), LibJson::CJson::IsJsonPair(), LibCommon::CStream::IsStreamEnd(), Name, LibCommon::CArray< Type >::Push(), Separator, LibJson::CJson::SetJsonParent(), SetJsonSetValueByStream(), LibJson::CJsonPair::SetJsonValue() (計28項目).
参照元 CreatePath().


| 
 | staticnoexcept | 
JSONパスリスト取得関数
JSONパスリスト取得関数です。
| [out] | rcPathList | 文字列クラス参照 | 
| [in] | pcJson | JSONクラスポインタ | 
CJsonDocument.cpp の 1352 行目に定義があります。
参照先 LibCommon::CString::GetBuffer(), LibCommon::CArray< Type >::GetCount(), LibJson::CJsonContainer::GetJsonContainer(), GetJsonPath(), GetJsonSetValue().

| 
 | staticprotectednoexcept | 
JSONパストークン入力関数
JSONパストークン入力関数です。
| [in] | rcStream | 入力ストリーム参照 | 
| [out] | rcToken | 文字列クラス参照 | 
| [in] | bEqual | 等号許可フラグ | 
CJsonDocument.cpp の 1470 行目に定義があります。
参照先 Dot, DotDot, Equal, Index, LibJson::CJsonToken::InputJsonChars(), LibJson::CJsonToken::InputJsonInt(), Invalid, Name, Separator.
参照元 CreateJsonPath(), FindJsonPath().


| 
 | staticprotectednoexcept | 
JSON文字列二重引用符削除関数
JSON文字列二重引用符削除関数です。
| [out] | rcString | 文字列参照 | 
CJsonDocument.cpp の 1602 行目に定義があります。
| 
 | privatedelete | 
| 
 | protected | 
ルートJSONクラスポインタ
CJsonDocument.h の 422 行目に定義があります。
参照元 ClearDocument(), CompactDocument(), CreatePath(), DeleteCurrentJson(), InputDocument(), OutputDocument(), SetCurrentJson(), SetCurrentSetValue(), SetRootJson().
| 
 | protected |