TNB Library
モジュール | クラス | 型定義 | 関数
コレクション関係

  [詳解]

モジュール

 DBase関係
 

クラス

class  CAbstractAdapterT< TYP >
 アダプタベーステンプレート [詳解]
 
class  CAttributedVectorT< TYP, ATT >
 配列型情報管理テンプレート [詳解]
 
class  CAutoVectorT< TYP >
 自動拡張列型情報管理テンプレート [詳解]
 
class  CBitVector
 配列型bit情報管理テンプレート [詳解]
 
class  CBlockingQueueT< TYP, ISI, INV >
 ブロック付キュー型情報管理テンプレート [詳解]
 
class  CBlockLinkVectorT< TYP >
 配列型情報管理テンプレート [詳解]
 
class  CConstAdapterT< TYP >
 情報参照アダプタテンプレート [詳解]
 
class  CConstAppendAdapterT< TYP >
 アペンド参照アダプタテンプレート [詳解]
 
class  CConstFileMappingT< TYP >
 コンストファイルマッピングテンプレートクラス [詳解]
 
class  CMapT< KEY, VAL, INK >::CConstKeysAdapter
 マップ型情報のキーのみ参照アダプタクラス [詳解]
 
class  CConstOffsetAdapterT< TYP >
 オフセット参照アダプタテンプレート [詳解]
 
class  CConstResourceData
 リソースデータ参照クラス [詳解]
 
class  CConstReverseAdapterT< TYP >
 リバース参照アダプタテンプレート [詳解]
 
class  CMapT< KEY, VAL, INK >::CConstValuesAdapter
 マップ型情報の値のみ参照アダプタクラス [詳解]
 
class  CConverterT< DST, SRC >
 情報変換ベースクラス [詳解]
 
class  CDeserializeAdapter
 デシリアライズアダプタ. [詳解]
 
class  CDummyCollectionT< TYP >
 ダミーコレクションテンプレート [詳解]
 
class  CFigurePointerT< T, TR >
 図形管理計算クラス [詳解]
 
class  CFileMappingT< TYP >
 ファイルマッピングテンプレートクラス [詳解]
 
class  CIndexAdapterT< TYP >
 INDEXアダプタテンプレート [詳解]
 
class  CListQueueT< TYP >
 リスト式キュー型情報管理テンプレート [詳解]
 
class  CListT< TYP, ATT >
 リスト型情報管理テンプレート [詳解]
 
class  CMapT< KEY, VAL, INK >
 マップ型情報管理テンプレート [詳解]
 
class  COffsetAdapterT< TYP >
 オフセットアダプタテンプレート [詳解]
 
class  CPointerVectorT< TYP >
 ポインタ配列管理テンプレート [詳解]
 
class  CPriorityQueueT< TYP >
 優先順位付キュー型情報管理テンプレート [詳解]
 
class  CReaderAdapter
 ファイル読み込みアダプタ [詳解]
 
class  CBitVector::CRef
 配列型bit情報管理の参照クラス [詳解]
 
class  CWriterAdapter::CRef
 ファイル読み書きの参照クラス [詳解]
 
class  CRingQueueT< TYP, ISI, INV >
 リング式キュー型情報管理テンプレート [詳解]
 
class  CSerializeAdapter
 シリアライズアダプタ. [詳解]
 
class  CSharedQueueT< TYP, SIZ >
 共有キュー型情報管理テンプレート [詳解]
 
class  CSimpleMapT< KEY, VAL, INK >
 マップ型情報管理テンプレート [詳解]
 
class  CSimpleQueueT< TYP, ISI, INV >
 簡易リング式キュー型情報管理テンプレート [詳解]
 
class  CSimpleVectorT< TYP >
 簡易配列型情報管理テンプレート [詳解]
 
class  CSingleSetT< TYP >
 シングルセット情報管理テンプレート [詳解]
 
class  ICollectionT< TYP >::CSort
 情報群管理操作インターフェースのソート処理クラス [詳解]
 
class  CStackT< TYP >
 スタック型情報管理テンプレート [詳解]
 
class  CStaticMapT< TYP, VAL >
 静的簡易マップクラス. [詳解]
 
class  CConstResourceData::CValue
 リソース値設定補助クラス [詳解]
 
class  CVectorT< TYP >
 配列型情報管理テンプレート [詳解]
 
class  CWriterAdapter
 ファイル読み書きアダプタ [詳解]
 
struct  IConstCollectionT< TYP >::IChecker
 情報群管理インターフェースのチェッカーインターフェース. [詳解]
 
class  ICollectionMidT< TYP >
 情報群管理操作インターフェース拡張テンプレート [詳解]
 
struct  ICollectionT< TYP >
 情報群管理操作インターフェーステンプレート [詳解]
 
struct  IConstCollectionT< TYP >
 情報群管理インターフェーステンプレート [詳解]
 
struct  IQueueT< TYP >
 キュー型情報管理インターフェーステンプレート [詳解]
 
struct  ISequenceCollectionT< TYP >
 連続メモリ配置型情報群管理インターフェーステンプレート [詳解]
 

型定義

typedef TNB::CMapT< CAscii, CAscii, LPCSTR > CAsciisMap
 文字文字マップクラス. [詳解]
 
typedef TNB::CVectorT< CAscii > CAsciiVector
 文字列配列管理クラス [詳解]
 
typedef TNB::CBlockingQueueT< BYTE > CByteBlockingQueue
 BYTE型(unsigned 8bit)ブロッキングキュークラス [詳解]
 
typedef TNB::CListT< BYTE > CByteList
 BYTE配列管理クラス [詳解]
 
typedef TNB::CRingQueueT< BYTE > CByteQueue
 BYTE型(unsigned 8bit)キュークラス [詳解]
 
typedef TNB::CVectorT< BYTE > CByteVector
 BYTE配列管理クラス [詳解]
 
typedef TNB::CRingQueueT< DWORD > CDwordQueue
 DWORD型(unsigned 32bit)キュー管理クラス [詳解]
 
typedef TNB::CVectorT< DWORD > CDwordVector
 DWORD配列管理クラス [詳解]
 
typedef TNB::CBlockingQueueT< CStr, true > CStrBlockingQueue
 CStr型ブロッキングキュー管理クラス [詳解]
 
typedef TNB::CRingQueueT< CString, true > CStringQueue
 CString型キュー管理クラス [詳解]
 
typedef TNB::CVectorT< CString > CStringVector
 CString配列管理クラス [詳解]
 
typedef TNB::CRingQueueT< CStr, true > CStrQueue
 CStr型キュー管理クラス [詳解]
 
typedef TNB::CMapT< CStr, CStr, LPCTSTR > CStrsMap
 文字文字マップクラス. [詳解]
 
typedef TNB::CVectorT< CStr > CStrVector
 文字列配列管理クラス [詳解]
 
typedef TNB::CVectorT< CUnicode > CUnicodeVector
 文字列配列管理クラス [詳解]
 
typedef TNB::CVectorT< WORD > CWordVector
 WORD配列管理クラス [詳解]
 

関数

void Copy (CByteArray &ba, const CByteVector &dat)
 [複製] CByteVector からCByteArrayへコピー [詳解]
 
template<typename TYP >
void DecodeDeltaCollection (ICollectionT< TYP > &_c)
 デルタ符号コレクション復号化 [詳解]
 
template<typename TYP >
void EncodeDeltaCollection (ICollectionT< TYP > &_c)
 デルタ符号コレクション符号化 [詳解]
 
CByteVector ToByteVector (const CByteArray &ba)
 [複製] CByteArrayから CByteVector へコピー [詳解]
 
CStrVector ToStrVector (const CStringArray &astr)
 [複製] CStringArrayから CStrVector へコピー [詳解]
 

詳解

 

オブジェクトをコレクションするクラスです。多くがテンプレートになっており、 宣言時に要素の型を宣言することが可能になっています。
コレクションをコレクション(要素にコレクションを指定)することも可能です。
基本的にシリアライズに対応しています(要素がシリアライズ対応している必要があります)。
また、ただの配列にコレクションや、ファイルにコレクションインターフェースを付随させる アダプタクラスや、アクセス順序を変化させるアダプタクラスも、用意されています。
コレクションインターフェースを実装しているテンプレート
テンプレート名 主なインターフェース 内容・特徴 複製 Thread
Save
CVectorT IConstCollectionT
ICollectionT
ISequenceCollectionT
情報を連続したメモリで配置し管理してます。AddやSetSizeでサイズを動的に 拡張できますが、メモリの再確保および要素のコピーが発生する可能性があります。
SetやElementで自動的にサイズを拡張する CAutoVectorTもあります。
○ ○
CListT IConstCollectionT
ICollectionT
情報の個々をリンクすることで管理してます。そのため、 追加、削除が他のコレクションに比べ高速です。 逆にランダムアクセスが高速ではありません。 ○ ○
CStackT IConstCollectionT
ICollectionT
ISequenceCollectionT
IQueueT
情報をLIFO(Last In First Out)で管理するクラスです。 情報数に限度がありません。 ○ ○
CRingQueueT IConstCollectionT
ICollectionT
IQueueT
情報をFIFO(First In First Out)で管理するクラスです。
情報数に限度があります(コンストラクト時に指定します)。
情がない時の取り出しと、限界数時の時の追加時にブロックする CBlockingQueueTもあります
○ ○
CListQueueT IConstCollectionT
ICollectionT
IQueueT
情報をFIFO(First In First Out)で管理するクラスです。
情報数に限度がありません。
○ ○
CPriorityQueueT IConstCollectionT
ICollectionT
IQueueT
情報をFIFO(First In First Out)で管理するクラスです。
入れる時、個々の情報に優先度をつけることが出来、 取り出す時優先度の高いほうが優先されます。
○ ○
CMapT IConstCollectionT
ICollectionT
一意なキーに値を割り当ててコレクションすることができます。 キーで値を取り出したり削除することができます。 ○ ○
CSingleSetT IConstCollectionT
ISequenceCollectionT
一意の値をコレクションすることができます。 値をソートしてコレクションします。検索が高速です。 ○ ○
CBlockLinkVectorT IConstCollectionT
ICollectionT
ブロックがリンクする形でメモリを確保します。そのため、 大量のデータをコレクションする時に、メモリの再配置が発生しないため、高速です。 途中への追加、削除は得意ではありません。 × ×
CDummyCollectionT IConstCollectionT
ICollectionT
要素は一切保管せず、サイズのみ対応するコレクションです。 ICollectionT インターフェースを欲する API に対して、サイズのみ欲しい時などに 使用できます。
※複製は「○」になっていますが、コピーされるのはサイズだけです。
○* ×
–以下、要素が特殊なもの–
CConstFileMappingT IConstCollectionT ファイルをある型の配列としてメモリ上に配置するクラスですが、 コレクションインターフェースも持っています。
要素で扱える型は基本データ型、あるいは基本データ型のみの構造体のみです。
× ○
CFileMappingT IConstCollectionT
ICollectionT
ファイルをある型の配列としてメモリ上に配置するクラスですが、 コレクションインターフェースも持っています。
要素で扱える型は基本データ型、あるいは基本データ型のみの構造体のみです。
× ×
CPointerVectorT IConstCollectionT new で確保したポインタを管理するVectorです。不必要になれば自動的に delete します。
※複製は「○」になっていますが、情報は複製されずに、共有されるだけになります。
○* ×
CBitVector IConstCollectionT
ICollectionT
要素が 1BIT(bool)の vector です。他のコレクションの要素 bool にしたものと、 コピーなどが出来ます。CVectorT<bool>に比べ本クラスではメモリ効率が良くなっています。 ○ ○
CSharedQueueT IConstCollectionT
ICollectionT
IQueueT
共有メモリを使用して、情報をFIFO(First In First Out)で管理するクラスです。
プロセス間での情報のやり取りが可能です。
扱える型は基本型(コンストラクタ/デストラクタのないもの)のみです。
× ○
–以下、アダプタ–
CConstAdapterT IConstCollectionT
ISequenceCollectionT
別の方法で確保したメモリブロックをコレクションインターフェースに対応させるアダプタクラスです。
※複製は「○」になっていますが、情報は複製されずに、共有されるだけになります。
○* ×
CConstOffsetAdapterT IConstCollectionT 指定コレクションの一部を参照するためのアダプタです。
※複製は「○」になっていますが、情報は複製されずに、共有されるだけになります。
○* ○
COffsetAdapterT IConstCollectionT
ICollectionT
指定コレクションの一部を操作するためのアダプタです。
※複製は「○」になっていますが、情報は複製されずに、共有されるだけになります。
○* ○
CConstReverseAdapterT IConstCollectionT 指定コレクションを降順で参照するためのアダプタです。
検索など、後ろから行いたい時に有効です。
※複製は「○」になっていますが、情報は複製されずに、共有されるだけになります。
○* ○
CConstAppendAdapterT IConstCollectionT 同じ要素を持つ二つの指定コレクションを連結して参照するためのアダプタです。
実体は変化しません。一時的に連結して検索したい時などに有効です。
※複製は「○」になっていますが、情報は複製されずに、共有されるだけになります。
○* ○
CMapT::CConstKeysAdapter IConstCollectionT CMapTのキーだけをコレクションとして参照するためのアダプタです。
※複製は「○」になっていますが、情報は複製されずに、共有されるだけになります。
○* ○
CMapT::CConstValuesAdapter IConstCollectionT CMapTの値だけをコレクションとして参照するためのアダプタです。
※複製は「○」になっていますが、情報は複製されずに、共有されるだけになります。
○* ○
CIndexAdapterT IConstCollectionT Index変換テーブルを持ち、指定コレクションを操作せず、ソートおよび 操作するためのアダプタです。 SortメソッドとSwapメソッドを持っています。
× ○
CReaderAdapter IConstCollectionT IReader をコレクションに変換するアダプタです。
型は BYTE 固定になっています。
※複製は「○」になっていますが、ファイルは複製されずに、共有されるだけになります。
○* ×
CWriterAdapter IConstCollectionT
ICollectionT
IWriter をコレクションに変換するアダプタです。
型は BYTE 固定になっています。
※複製は「○」になっていますが、ファイルは複製されずに、共有されるだけになります。
○* ×
– 以下、参考–
CTreeT - インターフェースは持っていませんが、操作的には近いものが有りますのでここに含めます。
キー型と値型を指定し、値をTREE状に管理できます。
○ ○

型定義詳解

◆ CAsciisMap

typedef TNB::CMapT<CAscii, CAscii, LPCSTR> CAsciisMap

文字文字マップクラス.

必要ファイル
TnbMap.h
日付
06/01/01 新規

TnbMap.h の 684 行目に定義があります。

◆ CAsciiVector

文字列配列管理クラス

必要ファイル
TnbStrVector.h

TnbStrVector.h の 40 行目に定義があります。

◆ CByteBlockingQueue

BYTE型(unsigned 8bit)ブロッキングキュークラス

必要ファイル
TnbQueue.h

TnbQueue.h の 655 行目に定義があります。

◆ CByteList

typedef TNB::CListT< BYTE > CByteList

BYTE配列管理クラス

必要ファイル
TnbList.h

TnbList.h の 706 行目に定義があります。

◆ CByteQueue

BYTE型(unsigned 8bit)キュークラス

必要ファイル
TnbQueue.h

TnbQueue.h の 646 行目に定義があります。

◆ CByteVector

typedef TNB::CVectorT< BYTE > CByteVector

BYTE配列管理クラス

覚え書き
推奨prefixは「vb」です。
必要ファイル
TnbVector.h

TnbVector.h の 1122 行目に定義があります。

◆ CDwordQueue

typedef TNB::CRingQueueT<DWORD> CDwordQueue

DWORD型(unsigned 32bit)キュー管理クラス

必要ファイル
TnbQueue.h

TnbQueue.h の 664 行目に定義があります。

◆ CDwordVector

typedef TNB::CVectorT< DWORD > CDwordVector

DWORD配列管理クラス

覚え書き
推奨prefixは「vdw」です。
必要ファイル
TnbVector.h

TnbVector.h の 1142 行目に定義があります。

◆ CStrBlockingQueue

CStr型ブロッキングキュー管理クラス

必要ファイル
TnbQueue.h

TnbQueue.h の 682 行目に定義があります。

◆ CStringQueue

typedef TNB::CRingQueueT<CString,true> CStringQueue

CString型キュー管理クラス

覚え書き
MFCプロジェクトの時のみ使用可能です。
必要ファイル
TnbQueue.h

TnbQueue.h の 694 行目に定義があります。

◆ CStringVector

typedef TNB::CVectorT<CString> CStringVector

CString配列管理クラス

覚え書き
MFCプロジェクトの時のみ使用可能です。
必要ファイル
TnbStrVector.h

TnbStrVector.h の 283 行目に定義があります。

◆ CStrQueue

CStr型キュー管理クラス

必要ファイル
TnbQueue.h

TnbQueue.h の 673 行目に定義があります。

◆ CStrsMap

typedef TNB::CMapT<CStr, CStr, LPCTSTR> CStrsMap

文字文字マップクラス.

必要ファイル
TnbMap.h
日付
06/01/01 新規

TnbMap.h の 676 行目に定義があります。

◆ CStrVector

文字列配列管理クラス

必要ファイル
TnbStrVector.h

TnbStrVector.h の 31 行目に定義があります。

◆ CUnicodeVector

文字列配列管理クラス

必要ファイル
TnbStrVector.h

TnbStrVector.h の 49 行目に定義があります。

◆ CWordVector

typedef TNB::CVectorT< WORD > CWordVector

WORD配列管理クラス

覚え書き
推奨prefixは「vw」です。
必要ファイル
TnbVector.h

TnbVector.h の 1132 行目に定義があります。

関数詳解

◆ Copy()

void TNB::Copy ( CByteArray &  ba,
const CByteVector &  dat 
)

[複製] CByteVector からCByteArrayへコピー

覚え書き
MFCプロジェクトの時のみ使用可能です。
必要ファイル
TnbVector.h
引数
baコピー先の CByteArray
datコピー元の CByteVector

TnbVector.h の 1171 行目に定義があります。

◆ DecodeDeltaCollection()

void TNB::DecodeDeltaCollection ( ICollectionT< TYP > &  _c)

デルタ符号コレクション復号化

覚え書き
index0のデータを基点に復号します。
引数
[in,out]_c復号化するコレクション。
例外
CTnbException操作時にエラーがあると、スローされる可能性があります。

TnbSerializeAdapter.h の 155 行目に定義があります。

◆ EncodeDeltaCollection()

void TNB::EncodeDeltaCollection ( ICollectionT< TYP > &  _c)

デルタ符号コレクション符号化

覚え書き
index0のデータは変化させません。
引数
[in,out]_c符号化するコレクション。
例外
CTnbException操作時にエラーがあると、スローされる可能性があります。

TnbSerializeAdapter.h の 131 行目に定義があります。

◆ ToByteVector()

CByteVector TNB::ToByteVector ( const CByteArray &  ba)

[複製] CByteArrayから CByteVector へコピー

覚え書き
MFCプロジェクトの時のみ使用可能です。
必要ファイル
TnbVector.h
引数
baコピー元の CByteArray
戻り値
CByteVector

TnbVector.h の 1156 行目に定義があります。

◆ ToStrVector()

CStrVector TNB::ToStrVector ( const CStringArray &  astr)

[複製] CStringArrayから CStrVector へコピー

覚え書き
MFCプロジェクトの場合のみ使用の可能です。
必要ファイル
TnbStrVector.h
引数
astr元の CStringArray
戻り値
CStrVector

TnbStrVector.h の 293 行目に定義があります。