TNB Library
|
モジュール | |
DBase関係 | |
型定義 | |
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状に管理できます。 | ○ | ○ |
typedef TNB::CMapT<CAscii, CAscii, LPCSTR> CAsciisMap |
typedef TNB::CVectorT< CAscii > CAsciiVector |
typedef TNB::CBlockingQueueT<BYTE> CByteBlockingQueue |
typedef TNB::CListT< BYTE > CByteList |
typedef TNB::CRingQueueT<BYTE> CByteQueue |
typedef TNB::CVectorT< BYTE > CByteVector |
typedef TNB::CRingQueueT<DWORD> CDwordQueue |
typedef TNB::CVectorT< DWORD > CDwordVector |
typedef TNB::CBlockingQueueT<CStr,true> CStrBlockingQueue |
typedef TNB::CRingQueueT<CString,true> CStringQueue |
typedef TNB::CVectorT<CString> CStringVector |
typedef TNB::CRingQueueT<CStr,true> CStrQueue |
typedef TNB::CMapT<CStr, CStr, LPCTSTR> CStrsMap |
typedef TNB::CVectorT< CStr > CStrVector |
typedef TNB::CVectorT< CUnicode > CUnicodeVector |
typedef TNB::CVectorT< WORD > CWordVector |
void TNB::Copy | ( | CByteArray & | ba, |
const CByteVector & | dat | ||
) |
[複製] CByteVector からCByteArrayへコピー
ba | コピー先の CByteArray |
dat | コピー元の CByteVector |
TnbVector.h の 1171 行目に定義があります。
void TNB::DecodeDeltaCollection | ( | ICollectionT< TYP > & | _c | ) |
デルタ符号コレクション復号化
[in,out] | _c | 復号化するコレクション。 |
CTnbException | 操作時にエラーがあると、スローされる可能性があります。 |
TnbSerializeAdapter.h の 155 行目に定義があります。
void TNB::EncodeDeltaCollection | ( | ICollectionT< TYP > & | _c | ) |
デルタ符号コレクション符号化
[in,out] | _c | 符号化するコレクション。 |
CTnbException | 操作時にエラーがあると、スローされる可能性があります。 |
TnbSerializeAdapter.h の 131 行目に定義があります。
CByteVector TNB::ToByteVector | ( | const CByteArray & | ba | ) |
[複製] CByteArrayから CByteVector へコピー
ba | コピー元の CByteArray |
TnbVector.h の 1156 行目に定義があります。
CStrVector TNB::ToStrVector | ( | const CStringArray & | astr | ) |
[複製] CStringArrayから CStrVector へコピー
astr | 元の CStringArray |
TnbStrVector.h の 293 行目に定義があります。