Solution46
LibJson::CJsonString クラス

JSON文字列クラス [詳解]

#include "CJsonString.h"

LibJson::CJsonString の継承関係図
Inheritance graph
LibJson::CJsonString 連携図
Collaboration graph

公開メンバ関数

 CJsonString (CJson *pcParent, wchar_t const *pszString=nullptr) noexcept
 コンストラクタ [詳解]
 
virtual ~CJsonString () noexcept
 デストラクタ [詳解]
 
virtual EJsonClass GetJsonClass () noexcept override
 JSONクラス種別取得関数 [詳解]
 
virtual bool IsJsonString () noexcept override
 JSONクラス種別判定関数 [詳解]
 
virtual CJsonStringGetJsonString () noexcept override
 JSONクラスインスタンス取得関数 [詳解]
 
virtual bool InputJson (CStream &rcStream) noexcept override
 JSONクラス入力関数 [詳解]
 
virtual bool OutputJson (CStreamOut &rcStreamOut) noexcept override
 JSONクラス出力関数 [詳解]
 
- 基底クラス LibJson::CJsonToken に属する継承公開メンバ関数
 CJsonToken (CJson *pcParent, wchar_t const *pszString=nullptr) noexcept
 コンストラクタ [詳解]
 
virtual ~CJsonToken () noexcept
 デストラクタ [詳解]
 
virtual bool IsJsonToken () noexcept override
 JSONクラス種別判定関数 [詳解]
 
virtual CJsonTokenGetJsonToken () noexcept override
 JSONクラスインスタンス取得関数 [詳解]
 
virtual void ClearJson () noexcept override
 JSONクラスクリア関数 [詳解]
 
virtual bool CompactJson () noexcept override
 JSONクラスコンパクト化関数 [詳解]
 
virtual bool InputJsonChars (CStream &rcStream, wchar_t const *pszNgChars=nullptr) noexcept
 JSON文字集合入力関数 [詳解]
 
virtual bool InputJsonChar (CStream &rcStream, wchar_t const *pszNgChars=nullptr) noexcept
 JSON文字入力関数 [詳解]
 
virtual bool InputJsonInt (CStream &rcStream) noexcept
 JSON整数部入力関数 [詳解]
 
virtual bool InputJsonFrac (CStream &rcStream) noexcept
 JSON小数部入力関数 [詳解]
 
virtual bool InputJsonExp (CStream &rcStream) noexcept
 JSON指数部入力関数 [詳解]
 
virtual bool InputJsonExpHeader (CStream &rcStream) noexcept
 JSON指数部ヘッダ入力関数 [詳解]
 
virtual bool InputJsonDigits (CStream &rcStream) noexcept
 JSON数字集合入力関数 [詳解]
 
virtual bool InputJsonDigit (CStream &rcStream) noexcept
 JSON数字入力関数 [詳解]
 
virtual bool InputJsonFixedChar (CStream &rcStream, wchar_t ch, bool bIgnore=false) noexcept
 JSON固定文字入力関数 [詳解]
 
virtual bool InputJsonFixedString (CStream &rcStream, wchar_t const *pszString) noexcept
 JSON固定文字列入力関数 [詳解]
 
virtual wchar_t GetLastChar () noexcept
 最後尾文字取得関数 [詳解]
 
virtual bool PushStreamPoints (CStream &rcStream) noexcept
 ストリームポインタプッシュ関数 [詳解]
 
virtual bool PopStreamPoints (CStream &rcStream, bool bResume) noexcept
 ストリームポインタポップ関数 [詳解]
 
- 基底クラス LibJson::CJsonValue に属する継承公開メンバ関数
 CJsonValue (CJson *pcParent) noexcept
 コンストラクタ [詳解]
 
virtual ~CJsonValue () noexcept
 デストラクタ [詳解]
 
virtual bool IsJsonValue () noexcept override
 JSONクラス種別判定関数 [詳解]
 
virtual CJsonValueGetJsonValue () noexcept override
 JSONクラスインスタンス取得関数 [詳解]
 
- 基底クラス LibJson::CJson に属する継承公開メンバ関数
 CJson (CJson *pcParent) noexcept
 コンストラクタ [詳解]
 
virtual ~CJson () noexcept
 デストラクタ [詳解]
 
virtual CJsonGetJsonParent () noexcept
 親JSONクラス取得関数 [詳解]
 
virtual void SetJsonParent (CJson *pcParent) noexcept
 親JSONクラス設定関数 [詳解]
 
virtual bool IsJsonObject () noexcept
 JSONクラス種別判定関数 [詳解]
 
virtual bool IsJsonArray () noexcept
 
virtual bool IsJsonNumber () noexcept
 
virtual bool IsJsonFixed () noexcept
 
virtual bool IsJsonPair () noexcept
 
virtual bool IsJsonContainer () noexcept
 
virtual CJsonObjectGetJsonObject () noexcept
 JSONクラスインスタンス取得関数 [詳解]
 
virtual CJsonArrayGetJsonArray () noexcept
 
virtual CJsonNumberGetJsonNumber () noexcept
 
virtual CJsonFixedGetJsonFixed () noexcept
 
virtual CJsonPairGetJsonPair () noexcept
 
virtual CJsonContainerGetJsonContainer () noexcept
 
virtual CJsonGetJsonRoot () noexcept
 ルートJSONクラス取得関数 [詳解]
 
- 基底クラス LibCommon::CStringStream に属する継承公開メンバ関数
 CStringStream (wchar_t const *pszString=nullptr) noexcept
 コンストラクタ [詳解]
 
virtual ~CStringStream () noexcept
 デストラクタ [詳解]
 
virtual void Clear () noexcept override
 クリア関数 [詳解]
 
virtual bool OutputChar (wchar_t ch) noexcept override
 1文字出力関数 [詳解]
 
virtual bool OutputString (wchar_t const *pszString) noexcept override
 文字列出力関数 [詳解]
 
virtual bool InputChar (wchar_t &rCh) noexcept override
 1文字入力関数 [詳解]
 
virtual int GetStreamSize () const noexcept override
 ストリームサイズ取得関数 [詳解]
 
virtual int GetStreamPoint () const noexcept override
 ストリームポインタ取得関数 [詳解]
 
virtual bool SetStreamPoint (int nPoint) noexcept override
 ストリームポインタ設定関数 [詳解]
 
virtual bool SetStreamEnd () noexcept override
 ストリーム終端設定関数 [詳解]
 
- 基底クラス LibCommon::CString に属する継承公開メンバ関数
 CString () noexcept
 コンストラクタ [詳解]
 
 CString (wchar_t const &rChar) noexcept
 コンストラクタ [詳解]
 
 CString (wchar_t const *pszString) noexcept
 コンストラクタ [詳解]
 
 CString (wchar_t const *pszString, int nCount) noexcept
 コンストラクタ [詳解]
 
 CString (char const *pszMbString) noexcept
 コンストラクタ [詳解]
 
 CString (char const *pszMbString, int nCount) noexcept
 コンストラクタ [詳解]
 
 CString (std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 コンストラクタ [詳解]
 
 CString (CString const &rcInstance) noexcept
 コピーコンストラクタ [詳解]
 
 CString (CString &&rcInstance) noexcept
 ムーブコンストラクタ [詳解]
 
virtual ~CString () noexcept
 デストラクタ [詳解]
 
virtual wchar_t const * GetBuffer () const noexcept
 文字列バッファ取得関数 [詳解]
 
virtual int GetSize () const noexcept
 バッファサイズ取得関数 [詳解]
 
virtual int GetCount () const noexcept
 文字数取得関数 [詳解]
 
virtual int GetSegmentSize () const noexcept
 セグメントサイズ取得関数 [詳解]
 
virtual CStringoperator= (CString const &rcInstance) noexcept
 コピー代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator= (CString &&rcInstance) noexcept
 ムーブ代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator= (wchar_t const &rChar) noexcept
 代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator= (wchar_t const *pszString) noexcept
 代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator= (char const *pszMbString) noexcept
 代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator= (std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator+= (CString const &rcInstance) noexcept
 加算代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator+= (wchar_t const &rChar) noexcept
 加算代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator+= (wchar_t const *pszString) noexcept
 加算代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator+= (char const *pszMbString) noexcept
 加算代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator+= (std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 加算代入演算子オーバーロード関数 [詳解]
 
virtual wchar_t & operator[] (int nIndex) noexcept
 配列添字演算子オーバーロード関数 [詳解]
 
virtual operator wchar_t const * () noexcept
 文字列ポインタキャスト演算子オーバーロード関数 [詳解]
 
virtual CStringoperator() () noexcept
 関数演算子オーバーロード関数 [詳解]
 
virtual bool CreateBuffer (int nSize) noexcept
 バッファ作成関数 [詳解]
 
virtual bool UpdateBuffer (int nCount) noexcept
 バッファサイズ更新関数 [詳解]
 
virtual bool CompactBuffer () noexcept
 バッファサイズコンパクト化関数 [詳解]
 
virtual bool Copy (CString const &rcInstance) noexcept
 コピー関数 [詳解]
 
virtual bool Copy (wchar_t const &rChar) noexcept
 コピー関数 [詳解]
 
virtual bool Copy (wchar_t const *pszString) noexcept
 コピー関数 [詳解]
 
virtual bool Copy (wchar_t const *pszString, int nCount) noexcept
 コピー関数 [詳解]
 
virtual bool Copy (char const *pszMbString) noexcept
 コピー関数 [詳解]
 
virtual bool Copy (char const *pszMbString, int nCount) noexcept
 コピー関数 [詳解]
 
virtual bool Copy (std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 コピー関数 [詳解]
 
virtual bool Move (CString &&rcInstance) noexcept
 ムーブ関数 [詳解]
 
virtual bool Append (CString const &rcInstance) noexcept
 追加関数 [詳解]
 
virtual bool Append (wchar_t const &rChar) noexcept
 追加関数 [詳解]
 
virtual bool Append (wchar_t const *pszString) noexcept
 追加関数 [詳解]
 
virtual bool Append (wchar_t const *pszString, int nCount) noexcept
 追加関数 [詳解]
 
virtual bool Append (char const *pszMbString) noexcept
 追加関数 [詳解]
 
virtual bool Append (char const *pszMbString, int nCount) noexcept
 追加関数 [詳解]
 
virtual bool Append (std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 追加関数 [詳解]
 
virtual bool Insert (int nIndex, CString const &rcInstance) noexcept
 挿入関数 [詳解]
 
virtual bool Insert (int nIndex, wchar_t const &rChar) noexcept
 挿入関数 [詳解]
 
virtual bool Insert (int nIndex, wchar_t const *pszString) noexcept
 挿入関数 [詳解]
 
virtual bool Insert (int nIndex, wchar_t const *pszString, int nCount) noexcept
 挿入関数 [詳解]
 
virtual bool Insert (int nIndex, char const *pszMbString) noexcept
 挿入関数 [詳解]
 
virtual bool Insert (int nIndex, char const *pszMbString, int nCount) noexcept
 挿入関数 [詳解]
 
virtual bool Insert (int nIndex, std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 挿入関数 [詳解]
 
virtual bool Remove () noexcept
 削除関数 [詳解]
 
virtual bool Remove (int nIndex) noexcept
 削除関数 [詳解]
 
virtual bool Remove (int nIndex, int nCount) noexcept
 削除関数 [詳解]
 
virtual bool Get (int nIndex, wchar_t &rChar) const noexcept
 取得関数 [詳解]
 
virtual bool Set (int nIndex, wchar_t const &rChar) noexcept
 設定関数 [詳解]
 
virtual int Find (wchar_t const &rChar) const noexcept
 検索関数 [詳解]
 
virtual bool Push (wchar_t const &rChar) noexcept
 プッシュ関数 [詳解]
 
virtual bool Push (wchar_t const *pszString) noexcept
 プッシュ関数 [詳解]
 
virtual bool Push (wchar_t const *pszString, int nCount) noexcept
 プッシュ関数 [詳解]
 
virtual bool Push (char const *pszMbString) noexcept
 プッシュ関数 [詳解]
 
virtual bool Push (char const *pszMbString, int nCount) noexcept
 プッシュ関数 [詳解]
 
virtual bool Push (std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 プッシュ関数 [詳解]
 
virtual bool Pop (wchar_t &rChar) noexcept
 ポップ関数 [詳解]
 
virtual bool PopFront (wchar_t &rChar) noexcept
 ポップフロント関数 [詳解]
 
virtual wchar_t const * Format (wchar_t const *pszFormat,...) noexcept
 書式設定文字列代入関数 [詳解]
 
virtual wchar_t const * FormatArgs (wchar_t const *pszFormat, va_list vaArgs) noexcept
 引数リスト書式設定文字列代入関数 [詳解]
 
- 基底クラス LibCommon::CStream に属する継承公開メンバ関数
virtual int InputString (wchar_t *pszBuffer, int nSize) noexcept
 文字列入力関数 [詳解]
 
virtual bool IsStreamEnd () const noexcept
 ストリーム終端状態取得関数 [詳解]
 
virtual bool SkipSpace () noexcept
 空白スキップ関数 [詳解]
 
virtual bool SkipChar (wchar_t ch, bool bIgnore=false) noexcept
 1文字スキップ関数 [詳解]
 
virtual bool SkipChar (wchar_t const *pszString, bool bIgnore=false) noexcept
 1文字スキップ関数 [詳解]
 
virtual bool PushStreamPoint (CArray< int > *pcPointerList) noexcept
 ストリームポインタプッシュ関数 [詳解]
 
virtual bool PopStreamPoint (CArray< int > *pcPointerList, bool bResume) noexcept
 ストリームポインタポップ数 [詳解]
 
- 基底クラス LibCommon::CStreamOut に属する継承公開メンバ関数
virtual bool OutputFormat (wchar_t const *pszFormat,...) noexcept
 書式設定文字列出力関数 [詳解]
 
virtual bool OutputArgs (wchar_t const *pszFormat, va_list vaArgs) noexcept
 引数リスト文字列出力関数 [詳解]
 
virtual bool OutputNewLine () noexcept
 改行出力関数 [詳解]
 
virtual bool OutputLineHeader () noexcept
 行ヘッダー出力関数 [詳解]
 
virtual bool UpdateLineNumber () noexcept
 行番号更新関数 [詳解]
 
virtual int GetLineNumber () noexcept
 行番号取得関数 [詳解]
 
virtual int GetIndentCount () noexcept
 インデントカウント取得関数 [詳解]
 
virtual bool OutputIndent () noexcept
 インデント出力関数 [詳解]
 
virtual bool Indent () noexcept
 インデント関数 [詳解]
 
virtual bool Unindent () noexcept
 アンインデント関数 [詳解]
 
virtual bool OutputLineString (wchar_t const *pszString, bool bHeader=true, bool bIndent=true) noexcept
 文字列行出力関数 [詳解]
 
virtual bool OutputLineFormat (wchar_t const *pszFormat,...) noexcept
 書式設定文字列行出力関数 [詳解]
 
virtual bool OutputLineArgs (wchar_t const *pszFormat, va_list vaArgs) noexcept
 引数リスト文字列行出力関数 [詳解]
 
virtual bool ExOutputLineFormat (bool bHeader, bool bIndent, wchar_t const *pszFormat,...) noexcept
 拡張書式設定文字列行出力関数 [詳解]
 
virtual bool ExOutputLineArgs (bool bHeader, bool bIndent, wchar_t const *pszFormat, va_list vaArgs) noexcept
 拡張引数リスト文字列行出力関数 [詳解]
 

静的公開メンバ関数

static CJsonStringCreateInputJson (CStream &rcStream, CJson *pcParent) noexcept
 JSON文字列入力作成関数 [詳解]
 
- 基底クラス LibJson::CJsonValue に属する継承静的公開メンバ関数
static CJsonValueCreateInputJson (CStream &rcStream, CJson *pcParent) noexcept
 JSONバリュー入力作成関数 [詳解]
 

非公開メンバ関数

 CJsonString (CJsonString const &)=delete
 
CJsonStringoperator= (CJsonString const &)=delete
 

その他の継承メンバ

- 基底クラス LibJson::CJson に属する継承公開型
enum  EJsonClass {
  EJsonClass::Invalid, EJsonClass::JsonObject, EJsonClass::JsonArray, EJsonClass::JsonString,
  EJsonClass::JsonNumber, EJsonClass::JsonFixed, EJsonClass::JsonPair, EJsonClass::JsonValue,
  EJsonClass::JsonContainer, EJsonClass::JsonToken, EJsonClass::Size
}
 JSONクラス種別列挙体 [詳解]
 
- 基底クラス LibCommon::CString に属する継承静的公開変数類
static int const SEGMENT_SIZE = 256
 セグメントサイズ初期値 [詳解]
 
- 基底クラス LibCommon::CStringStream に属する継承限定公開メンバ関数
virtual bool UpdateStreamPoint (int nPoint) noexcept
 ストリームポインタ更新関数 [詳解]
 
virtual bool UpdateEndPoint (int nPoint) noexcept
 終端ストリームポインタ更新関数 [詳解]
 
- 基底クラス LibCommon::CStream に属する継承限定公開メンバ関数
 CStream () noexcept
 コンストラクタ [詳解]
 
virtual ~CStream () noexcept
 デストラクタ [詳解]
 
- 基底クラス LibCommon::CStreamOut に属する継承限定公開メンバ関数
 CStreamOut () noexcept
 コンストラクタ [詳解]
 
virtual ~CStreamOut () noexcept
 デストラクタ [詳解]
 
- 基底クラス LibJson::CJsonToken に属する継承限定公開変数類
CArray< int > * m_pcStringPointerList
 文字列ストリームポインタリストポインタ [詳解]
 
- 基底クラス LibJson::CJson に属する継承限定公開変数類
CJsonm_pcParent
 親JSONクラスポインタ [詳解]
 
CArray< int > * m_pcInputPointerList
 入力ストリームポインタリストポインタ [詳解]
 
- 基底クラス LibCommon::CStringStream に属する継承限定公開変数類
int m_nStreamPoint
 ストリームポインタ [詳解]
 
- 基底クラス LibCommon::CString に属する継承限定公開変数類
wchar_t * m_pszBuffer
 文字列ポインタ [詳解]
 
int m_nSize
 バッファサイズ [詳解]
 
int m_nCount
 要素数 [詳解]
 
- 基底クラス LibCommon::CStreamOut に属する継承限定公開変数類
int m_nLine
 行番号 [詳解]
 
int m_nIndent
 インデントカウント [詳解]
 
- 基底クラス LibCommon::CStreamOut に属する継承静的限定公開変数類
static int const FORMAT_BUFFER_SIZE = ( 2048 - 1 )
 書式設定文字列バッファサイズ [詳解]
 

詳解

JSON文字列クラス

JSON文字列クラスです。

注意
なし

CJsonString.h30 行目に定義があります。

構築子と解体子

LibJson::CJsonString::CJsonString ( CJson pcParent,
wchar_t const *  pszString = nullptr 
)
explicitnoexcept

コンストラクタ

コンストラクタです。

引数
[in]pcParent親JSONクラスポインタ
[in]pszString文字列ポインタ
戻り値
なし
注意
なし

CJsonString.cpp28 行目に定義があります。

30  : CJsonToken( pcParent, pszString )
31  {}
CJsonToken(CJson *pcParent, wchar_t const *pszString=nullptr) noexcept
コンストラクタ
Definition: CJsonToken.cpp:29
virtual LibJson::CJsonString::~CJsonString ( )
inlinevirtualnoexcept

デストラクタ

デストラクタです。

引数
なし
戻り値
なし
注意
なし

CJsonString.h55 行目に定義があります。

55 {}
LibJson::CJsonString::CJsonString ( CJsonString const &  )
privatedelete

関数詳解

virtual EJsonClass LibJson::CJsonString::GetJsonClass ( )
inlineoverridevirtualnoexcept

JSONクラス種別取得関数

JSONクラス種別取得関数です。

引数
なし
戻り値
JSONクラス種別
注意
オーバライド関数です。

LibJson::CJsonTokenを再実装しています。

CJsonString.h69 行目に定義があります。

69 { return EJsonClass::JsonString; }
virtual bool LibJson::CJsonString::IsJsonString ( )
inlineoverridevirtualnoexcept

JSONクラス種別判定関数

JSONクラス種別判定関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibJson::CJsonを再実装しています。

CJsonString.h82 行目に定義があります。

82 { return true; }
virtual CJsonString* LibJson::CJsonString::GetJsonString ( )
inlineoverridevirtualnoexcept

JSONクラスインスタンス取得関数

JSONクラスインスタンス取得関数です。

引数
なし
戻り値
JSONクラスインスタンスポインタ
注意
オーバライド関数です。

LibJson::CJsonを再実装しています。

CJsonString.h93 行目に定義があります。

93 { return this; }
bool LibJson::CJsonString::InputJson ( CStream rcStream)
overridevirtualnoexcept

JSONクラス入力関数

JSONクラス入力関数です。

引数
[in]rcStream入力ストリーム参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibJson::CJsonを再実装しています。

CJsonString.cpp37 行目に定義があります。

参照先 LibCommon::CString::CompactBuffer().

参照元 CreateInputJson().

37  {
38  // 処理ブロック
39  bool result = false;
40  do {
41  // クリアする
42  ClearJson();
43 
44  // ストリームポインタをプッシュする
45  if ( !PushStreamPoints( rcStream ) ) {
46  // 失敗!
47  break;
48  }
49  // 処理ブロック
50  else do {
51  // 空白をスキップする
52  rcStream.SkipSpace();
53 
54  // 1文字スキップする
55  if ( !rcStream.SkipChar( L'\"' ) ) {
56  // 失敗!
57  break;
58  }
59  // JSON文字集合を入力する
60  else if ( !InputJsonChars( rcStream ) ) {
61  // 失敗!
62  break;
63  }
64  // 1文字スキップする
65  else if ( !rcStream.SkipChar( L'\"' ) ) {
66  // 失敗!
67  break;
68  }
69  // コンパクト化する
70  else if ( !CString::CompactBuffer() ) {
71  // 失敗!
72  break;
73  }
74 
75  // 成功!
76  result = true;
77  } while ( false );
78 
79  // ストリームポインタをポップする
80  PopStreamPoints( rcStream, !result );
81  } while ( false );
82 
83  // 実行結果を返す
84  return result;
85  }
virtual bool PushStreamPoints(CStream &rcStream) noexcept
ストリームポインタプッシュ関数
Definition: CJsonToken.cpp:599
virtual bool PopStreamPoints(CStream &rcStream, bool bResume) noexcept
ストリームポインタポップ関数
Definition: CJsonToken.cpp:627
virtual bool InputJsonChars(CStream &rcStream, wchar_t const *pszNgChars=nullptr) noexcept
JSON文字集合入力関数
Definition: CJsonToken.cpp:127
virtual bool CompactBuffer() noexcept
バッファサイズコンパクト化関数
Definition: CString.cpp:348
virtual void ClearJson() noexcept override
JSONクラスクリア関数
Definition: CJsonToken.cpp:59

呼び出し関係図:

被呼び出し関係図:

bool LibJson::CJsonString::OutputJson ( CStreamOut rcStreamOut)
overridevirtualnoexcept

JSONクラス出力関数

JSONクラス出力関数です。

引数
[in]rcStreamOut出力ストリーム参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibJson::CJsonTokenを再実装しています。

CJsonString.cpp89 行目に定義があります。

参照元 LibJson::CJsonPair::OutputJson().

89  {
90  // 処理ブロック
91  bool result = false;
92  do {
93  // 1文字出力する
94  if ( !rcStreamOut.OutputChar( L'\"' ) ) {
95  // 失敗!
96  break;
97  }
98 
99  // 文字列バッファを調べる
100  if ( nullptr != GetBuffer() ) {
101  // 文字列を出力する
102  if ( !rcStreamOut.OutputString( GetBuffer() ) ) {
103  // 失敗!
104  break;
105  }
106  }
107 
108  // 1文字出力する
109  if ( !rcStreamOut.OutputChar( L'\"' ) ) {
110  // 失敗!
111  break;
112  }
113 
114  // 成功!
115  result = true;
116  } while ( false );
117 
118  // 実行結果を返す
119  return result;
120  }
virtual wchar_t const * GetBuffer() const noexcept
文字列バッファ取得関数
Definition: CString.h:159

被呼び出し関係図:

CJsonString * LibJson::CJsonString::CreateInputJson ( CStream rcStream,
CJson pcParent 
)
staticnoexcept

JSON文字列入力作成関数

JSON文字列入力作成関数です。

引数
[in]rcStream入力ストリーム参照
[in]pcParent親JSONクラスポインタ
戻り値
JSON文字列ポインタ
注意
なし

CJsonString.cpp126 行目に定義があります。

参照先 InputJson().

参照元 LibJson::CJsonValue::CreateInputJson(), LibJson::CJsonPair::InputJson().

126  {
127  // 処理ブロック
128  CJsonString* result = nullptr;
129  do {
130  // JSON文字列を作成する
131  CJsonString* pcJsonString = new CJsonString( pcParent );
132  if ( nullptr == pcJsonString ) {
133  // 失敗!
134  break;
135  }
136  // JSON文字列を入力する
137  else if ( !pcJsonString->InputJson( rcStream ) ) {
138  // JSON文字列を削除する
139  delete pcJsonString;
140 
141  // 失敗!
142  break;
143  }
144 
145  // 成功!
146  result = pcJsonString;
147  } while ( false );
148 
149  // 実行結果を返す
150  return result;
151  }
CJsonString(CJson *pcParent, wchar_t const *pszString=nullptr) noexcept
コンストラクタ
Definition: CJsonString.cpp:28

呼び出し関係図:

被呼び出し関係図:

CJsonString& LibJson::CJsonString::operator= ( CJsonString const &  )
privatedelete

このクラス詳解は次のファイルから抽出されました: