TNB Library
クラス | 公開メンバ関数 | 全メンバ一覧
ICollectionT< TYP > 構造体テンプレートabstract

情報群管理操作インターフェーステンプレート [詳解]

#include <TnbCollection.h>

IConstCollectionT< TYP >を継承しています。

CDummyCollectionT< TYP >, CFileMappingT< TYP >, COffsetAdapterT< TYP >, CVectorT< TYP >, ICollectionMidT< TYP >に継承されています。

クラス

class  CSort
 情報群管理操作インターフェースのソート処理クラス [詳解]
 

公開メンバ関数

virtual INDEX Add (const TYP &t)=0
 [追加] 要素一つ追加. [詳解]
 
virtual size_t AddElements (size_t size, const TYP *P=NULL)
 [追加] 複数要素追加. [詳解]
 
INDEX AddEx (const TYP &t)
 [追加] 要素一つ追加. [詳解]
 
virtual size_t Append (const IConstCollectionT< TYP > &c)
 [追加] 追加. [詳解]
 
virtual const TYP & At (INDEX index) const =0
 [取得] 要素の参照取得. [詳解]
 
iterator begin (void)
 [反復] 先頭iterator. [詳解]
 
const_iterator begin (void) const
 [反復] 先頭const_iterator. [詳解]
 
virtual INT_PTR Compare (const IConstCollectionT< TYP > &c) const
 [確認] 比較. [詳解]
 
virtual size_t Copy (const IConstCollectionT< TYP > &c)
 [設定] コピー. [詳解]
 
virtual size_t CopyElements (size_t size, const TYP *P=NULL)
 [設定] コピー. [詳解]
 
virtual size_t Cull (const IChecker &checker, bool boIsReverse=false)
 [削除] 間引き. [詳解]
 
virtual void Deserialize (const IDeserializer &ds)
 [処理] デシリアライズ [詳解]
 
iterator end (void)
 [反復] 最後iterator. [詳解]
 
const_iterator end (void) const
 [反復] 最後const_iterator. [詳解]
 
INDEX Find (const IChecker &checker, INDEX startIndex=0, bool boIsReverse=false) const
 [検索] 条件一致要素の検索. [詳解]
 
INDEX Find (const IConstCollectionT< TYP > &t, const IComparatorT< TYP > &comparator, INDEX startIndex=0) const
 [検索] 指定配列の検索. [詳解]
 
INDEX Find (const IConstCollectionT< TYP > &t, INDEX startIndex=0) const
 [検索] 指定配列の検索. [詳解]
 
INDEX Find (const TYP &t, const IComparatorT< TYP > &comparator, INDEX startIndex=0) const
 [検索] 指定要素の検索. [詳解]
 
INDEX Find (const TYP &t, INDEX startIndex=0) const
 [検索] 指定要素の検索. [詳解]
 
INDEX FindMax (const IComparatorT< TYP > &comparator, const TYP &def) const
 [検索] 要素の最大検索. [詳解]
 
INDEX FindMax (const TYP &def) const
 [検索] 要素の最大検索. [詳解]
 
INDEX FindMin (const IComparatorT< TYP > &comparator, const TYP &def) const
 [検索] 要素の最小検索. [詳解]
 
INDEX FindMin (const TYP &def) const
 [検索] 要素の最小検索. [詳解]
 
virtual TYP Get (INDEX index) const
 [取得] 要素の取得. [詳解]
 
virtual size_t GetElements (size_t size, TYP *_P, INDEX offset=0) const
 [取得] 複数要素取り出し. [詳解]
 
TYP GetEx (INDEX index) const
 [取得] 要素の取得. [詳解]
 
virtual size_t GetSize (void) const =0
 [取得] 要素数取得. [詳解]
 
 ICollectionT (void)
 コンストラクタ [詳解]
 
virtual bool Insert (INDEX index, const TYP &t)
 [追加] 要素一つ挿入. [詳解]
 
virtual bool InsertEx (INDEX index, const TYP &t)
 [追加] 要素一つ挿入. [詳解]
 
bool IsEmpty (void) const
 [確認] 要素の有無確認. [詳解]
 
virtual bool IsEqual (const IConstCollectionT< TYP > &c) const
 [確認] 比較. [詳解]
 
bool IsInRange (INDEX index) const
 [確認] INDEXの有効確認. [詳解]
 
virtual bool Lock (DWORD dwTime=INFINITE) const =0
 [排他] ロック [詳解]
 
 operator size_t (void) const
 [取得] 要素数取得. [詳解]
 
bool operator!= (const TNB::IConstCollectionT< TYP > &t) const
 [確認] 比較 [詳解]
 
INT_PTR operator- (const TNB::IConstCollectionT< TYP > &t) const
 [確認] 比較 [詳解]
 
bool operator< (const TNB::IConstCollectionT< TYP > &t) const
 [確認] 比較 [詳解]
 
bool operator<= (const TNB::IConstCollectionT< TYP > &t) const
 [確認] 比較 [詳解]
 
ICollectionToperator= (const ICollectionT &other)
 [代入] コピーオペレータ. [詳解]
 
bool operator== (const TNB::IConstCollectionT< TYP > &t) const
 [確認] 比較 [詳解]
 
bool operator> (const TNB::IConstCollectionT< TYP > &t) const
 [確認] 比較 [詳解]
 
bool operator>= (const TNB::IConstCollectionT< TYP > &t) const
 [確認] 比較 [詳解]
 
void push_back (const TYP &t)
 [反復] 最後に追加 [詳解]
 
virtual TYP & Ref (INDEX index)=0
 [取得] 要素の参照取得. [詳解]
 
virtual bool Remove (INDEX index)=0
 [削除] 要素一つ削除. [詳解]
 
virtual bool RemoveAll (void)
 [削除] 全要素削除 . [詳解]
 
virtual size_t RemoveElements (INDEX index, size_t size=0)
 [削除] 要素削除. [詳解]
 
bool RemoveEx (INDEX index)
 [削除] 要素一つ削除. [詳解]
 
virtual void Serialize (ISerializer &_sr) const
 [処理] シリアライズ [詳解]
 
virtual bool Set (INDEX index, const TYP &t)=0
 [設定] 要素の設定. [詳解]
 
virtual size_t SetElements (size_t size, const TYP *P=NULL)
 [設定] 複数要素設定. [詳解]
 
bool SetEx (INDEX index, const TYP &t)
 [設定] 要素の設定. [詳解]
 
virtual bool SetSize (size_t size)
 [操作] サイズ指定 [詳解]
 
bool Shuffle (int iDepth=1)
 [操作] シャッフル. [詳解]
 
bool Sort (bool boIsReverse=false, bool boIsBubble=false)
 [操作] ソート. [詳解]
 
bool Sort (const IComparatorT< TYP > &comparator, bool boIsReverse=false, bool boIsBubble=false)
 [操作] ソート. [詳解]
 
virtual void Swap (INDEX index1, INDEX index2)
 [設定] 要素の入れ替え. [詳解]
 
size_t TrimBottom (const TYP &t)
 [処理] 末尾トリム. [詳解]
 
size_t TrimBottom (const TYP &t, const IComparatorT< TYP > &comparator)
 [処理] 末尾トリム. [詳解]
 
virtual void Unlock (void) const =0
 [排他] アンロック [詳解]
 
virtual ~ICollectionT (void)
 デストラクタ [詳解]
 

詳解

template<typename TYP>
struct TNB::ICollectionT< TYP >

情報群管理操作インターフェーステンプレート

複数の要素型(TYP)を管理、操作するインターフェースです。

このインターフェースを持つクラスは以下の特徴を持ちます。

  <BR>
 ● Lock() / Unlock() の排他メソッド、及び、スレッドセーブ<BR>
    @par
            Lock() / Unlock() は情報の排他のために使用します。
            Get(), At(), Set(), Add(), Remove(), STL互換メソッド(小文字で実装)以外のメソッドは
            Lock() メソッドを使わなくても、スレッドセーブになっていますが、
            メソッドとメソッドの間でオブジェクトの状態が変わるのを避けるために、
            一連の処理を行なう場合、 Lock() すべきです。\n
            複数のスレッドからアクセスされる可能性がない場合は、不要です。
    @par
    \code

    CVectorT<long> vlDat;
         ;
    vlDat.Lock();   //Lock〜Unlock間、他のスレッドからvlDatの操作が出来なくなる。     
    CVectorT<long>::iterator it = vlDat.begin();        
    *it = 1234;
         ;
    vlDat.Unlock(); 
    \endcode

 ● Get() / GetEx() による要素の値を取得<BR>
 ● At() / Ref() による要素の参照取得<BR>
 ● Add() / AddEx() による要素の追加<BR>
 ● Insert() / InsertEx() による要素の挿入<BR>
 ● Remove() / RemoveEx() による要素の削除<BR>
 ● Set() / SetEx() による要素の値を設定<BR>
 ● Swap() による要素の値の入れ替え<BR>
 ● RemoveAll() による要素の全削除<BR>
    @par
            指定の型の要素を追加、削除、設定、取得が行えます。
            基本的に、インデックス(並び番号)でアクセスします。
            <BR>※ At() はサブクラスによっては複製された要素の参照を返すものもあります。
    @par
    \code

    CVectorT<long> vlDat;
    vlDat.Add( 12 );            // 要素追加
    vlDat.Add( 34 );            // 要素追加
    //この時点で vlDatは{ 12,34 }という情報を持つ
    long l1 = vlDat.Get(0);     // インデックス0(最初)の要素取得
    ASSERT( l1==12 );
    vlDat.Set(1,56);            // インデックス1の要素の値を設定
    vlDat.Set(0,78);            // インデックス0の要素の値を設定
    //この時点で vlDatは{ 78,56 }という情報を持つ
    vlDat.Remove(0);            // インデックス0の要素削除
    //この時点で vlDatは{ 56 }という情報を持つ
    vlDat.RemoveAll();          // 要素全削除
    \endcode

 ● AddElements() による要素の追加<BR>
 ● SetElements() による要素のコピー<BR>
    @par
            指定情報を、まとめて追加 / コピーします。
            必要なものだけを追加/コピーしたい場合、 CConstAdapterT を CIndexAdapterT を使用します。

 ● Append() による要素の追加<BR>
 ● Copy() による要素のコピー<BR>
    @par
            クラスが異なっていても、同じ IConstCollectionT の TYP が同じであれば、
            追加/コピーすることが出来ます。
            必要なものだけを追加/コピーしたい場合、 CIndexAdapterT を使用します。

 ● Sort() による要素のソート<BR>
    @par
            以下の方法の内、いずれかによって実現できます。
            <ul type=circle>
            <li> IComparatorT を実装したコンパレーターを作成し、引数にて委譲する。
            <li> 両方省略し、汎用処理を使用する( IComparableT 参照)。
            </ul>
    @par
    \code
    CVectorT<CFoo> vDat;
         ;         //データ代入
    struct IMyComp : IComparatorT<CFoo>
    {
      INT_PTR CompareTo(const CFoo &T1, const CFoo &T2)
      {
        return T1.Comp(T2);
      }
    } comp;
    vDat.Sort( &comp );  //小さい順にソートされる          
    \endcode

    @par
            CIndexAdapterT を使うと、Indexテーブルによるソートが可能です
            (対象のコレクションの変化がないため、高速でもある)。

 ● ISerializer 実装クラスによる、シリアライズ<BR>
 ● IDeserializer 実装クラスによる、デシリアライズ<BR>
    @par
            ISerializer を使い、情報をシリアライズすることが可能です。<BR>
            IDeserializer を使い、シリアライズされた情報をデシリアライズすることが可能です。
            この時、同じ要素型であれば異なるコレクションでもデシリアライズ可能です(一部のコレクションを除く)。
            <BR>※要素には、シリアライズ可能な型を適用してください。

 ●代入コンストラクタ、代入オペレータの実装(一部を除く)<BR>
    @par
            同じ型のインスタンス同士は代入が可能です。
            この時、左辺のインスタンスは、情報を破棄し、
            右辺のインスタンスの情報を共有するようになります
            (そのため代入作業は<b>高速</b>です)。
            その後、いずれかのインスタンスを操作すると、
            情報を複製するので、他のインスタンスに影響が出ません
            (複製を作成する時、時間がかかる可能性が有ります)。

 ● 他、 IConstCollectionT の特徴を引き継いでいます。<BR>
覚え書き
本インターフェースを実装する場合、最低限以下のメソッドを用意する必要が有ります。
  1. GetSize()
  2. At()
  3. Ref()
  4. Set()
  5. Add()
  6. Remove()
ICollectionMidT を使うと、 At() , Ref()Set() は自動で実装されます。
参照
IConstCollectionT を実装しています。
例外
CTnbException読み込み処理時にエラーがあった場合、 CTnbException のサブクラスをスローする可能性が有ります。
引数
TYP要素の型。型はコピー機能が必須です。
必要ファイル
TnbCollection.h
日付
06/04/19 抽象化
06/04/28 Clone処理を抽象化してこのIFに実装。
06/05/22 Swapメソッド追加。
06/05/23 AddElements、Copy系メソッド追加。
06/06/01 ローテート、シャッフルメソッド追加。
06/08/01 GetConstPointer/GetPointerに依存しないつくりに変更。
06/08/11 Element() を At() に改名。ReferElementPtr() を廃止。
06/08/13 イテレータを STL にあわせて、改修。
06/08/24 条件付削除 RemoveOnCheck() を追加。
06/08/30 シリアライズ機能、追加。
06/09/13 Copy系メソッドを改良。
06/10/26 At() を廃止。SetEx(), AddtEx(), RemoveEx() を追加。
07/03/15 index,size管理を unsignedに変更。
07/06/19 CIndexAdapterT::Cull() を作成したため、 本インターフェースの 〜OnCheck() メソッドを廃止。 RemoveOnCheck() を Cull() に改名。
07/09/18 TrimBottom() を追加。
09/09/07 CopyElements() -> SetElements() に改名。
11/03/08 Insert() を追加。
11/06/01 コピーオペレータを実装

TnbCollection.h812 行目に定義があります。

構築子と解体子

◆ ICollectionT()

ICollectionT ( void  )

コンストラクタ

TnbCollection.h960 行目に定義があります。

◆ ~ICollectionT()

virtual ~ICollectionT ( void  )
virtual

デストラクタ

TnbCollection.h967 行目に定義があります。

関数詳解

◆ Add()

virtual INDEX Add ( const TYP &  t)
pure virtual

[追加] 要素一つ追加.

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 AddEx() を使用してください。
引数
t要素。
戻り値
INVALID_INDEX失敗。
上記以外追加したINDEX。

CBitVector, CDummyCollectionT< BYTE >, CWriterAdapter, CRingQueueT< BYTE >, CVectorT< BYTE >, CRingQueueT< CArrayPtrHandleT< TCHAR > >, CVectorT< CArVaVector >, CVectorT< CAscii >, CVectorT< CDrawersVector >, CVectorT< CFileInfoArray >, CVectorT< char >, CMapT< KEY, VAL, INK >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CFigurePointerT< T, TR >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< CStr >, CVectorT< CTmlValue >, CVectorT< CVaVaVector >, CRingQueueT< CVectorT< BYTE >, false, CVectorT< BYTE > >, CVectorT< CVectorT< BYTE > >, CVectorT< DWORD >, CVectorT< EAttr >, CVectorT< EKind >, CVectorT< HICON >, CVectorT< IDrawable::Ptr >, CVectorT< INDEX >, CVectorT< POINT >, CVectorT< SOCKET >, CVectorT< TCHAR >, CVectorT< TFuncInfo >, CVectorT< TInfo >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< TNB::CGrid::TFieldInfo >, CListT< TNB::CListQueueT< TYP > >, CVectorT< TNB::CMailAddress >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPairT >, CVectorT< TNB::CPairT< T, T > >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TNB::CVectorT >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CBlockLinkVectorT< TParam >, CRingQueueT< TParam >, CVectorT< TParam >, CVectorT< TParam * >, CVectorT< TValue >, CBlockLinkVectorT< TYP >, COffsetAdapterT< TYP >, CDummyCollectionT< TYP >, CFileMappingT< TYP >, CListT< TYP, ATT >, CListQueueT< TYP >, CPriorityQueueT< TYP >, CRingQueueT< TYP, ISI, INV >, CRingQueueT< TYP, false, TYP >, CSharedQueueT< TYP, SIZ >, CStackT< TYP >, CVectorT< TYP >, CVectorT< TYP * >, CVectorT< UINT >, CVectorT< WORD > (計74項目)で実装されています。

◆ AddElements()

virtual size_t AddElements ( size_t  size,
const TYP *  P = NULL 
)
virtual

[追加] 複数要素追加.

最後に追加します。

引数
size追加するデータの数。
P追加するデータ列のポインタ。省略すると TYP()が代入されます。
戻り値
INVALID_SIZEエラー。
それ以外追加した数。

CRingQueueT< BYTE >, CVectorT< BYTE >, CRingQueueT< CArrayPtrHandleT< TCHAR > >, CVectorT< CArVaVector >, CVectorT< CAscii >, CVectorT< CDrawersVector >, CVectorT< CFileInfoArray >, CVectorT< char >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< CStr >, CVectorT< CTmlValue >, CVectorT< CVaVaVector >, CRingQueueT< CVectorT< BYTE >, false, CVectorT< BYTE > >, CBlockingQueueT< CVectorT< BYTE > >, CVectorT< CVectorT< BYTE > >, CVectorT< DWORD >, CVectorT< EAttr >, CVectorT< EKind >, CVectorT< HICON >, CVectorT< IDrawable::Ptr >, CVectorT< INDEX >, CVectorT< POINT >, CVectorT< SOCKET >, CVectorT< TCHAR >, CVectorT< TFuncInfo >, CVectorT< TInfo >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< TNB::CMailAddress >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPairT >, CVectorT< TNB::CPairT< T, T > >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TNB::CVectorT >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< TParam * >, CBlockLinkVectorT< TParam >, CRingQueueT< TParam >, CVectorT< TParam >, CVectorT< TValue >, CVectorT< TYP * >, CBlockLinkVectorT< TYP >, CListQueueT< TYP >, CPriorityQueueT< TYP >, CRingQueueT< TYP, ISI, INV >, CRingQueueT< TYP, false, TYP >, CBlockingQueueT< TYP, ISI, INV >, CSharedQueueT< TYP, SIZ >, CStackT< TYP >, CVectorT< TYP >, CVectorT< UINT >, CVectorT< WORD > (計62項目)で再実装されています。

TnbCollection.h1174 行目に定義があります。

◆ AddEx()

INDEX AddEx ( const TYP &  t)

[追加] 要素一つ追加.

引数
t要素。
戻り値
INVALID_INDEX失敗。
上記以外追加したINDEX。

TnbCollection.h1033 行目に定義があります。

◆ Append()

virtual size_t Append ( const IConstCollectionT< TYP > &  c)
virtual

[追加] 追加.

指定のデータを追加します。

覚え書き
追加元データの範囲を限定したい場合、元データに CConstOffsetAdapterT を使用します。
引数
c追加するデータ
戻り値
INVALID_SIZEエラー。
それ以外追加した数。

CVectorT< BYTE >, CVectorT< CArVaVector >, CVectorT< CAscii >, CVectorT< CDrawersVector >, CVectorT< CFileInfoArray >, CVectorT< char >, CMapT< KEY, VAL, INK >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< CStr >, CVectorT< CTmlValue >, CVectorT< CVaVaVector >, CVectorT< CVectorT< BYTE > >, CVectorT< DWORD >, CVectorT< EAttr >, CVectorT< EKind >, CVectorT< HICON >, CVectorT< IDrawable::Ptr >, CVectorT< INDEX >, CVectorT< POINT >, CVectorT< SOCKET >, CVectorT< TCHAR >, CVectorT< TFuncInfo >, CVectorT< TInfo >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< TNB::CMailAddress >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPairT >, CVectorT< TNB::CPairT< T, T > >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TNB::CVectorT >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< TParam * >, CVectorT< TParam >, CVectorT< TValue >, CVectorT< TYP * >, CVectorT< TYP >, CVectorT< UINT >, CVectorT< WORD > (計53項目)で再実装されています。

TnbCollection.h1208 行目に定義があります。

◆ At()

virtual const TYP & At ( INDEX  index) const
pure virtualinherited

[取得] 要素の参照取得.

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 Lock() / Unlock() を使用してください。
引数
indexインデックス
戻り値
要素の参照
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

CBitVector, ICollectionMidT< TYP >, ICollectionMidT< CVectorT< BYTE > >, ICollectionMidT< TParam >, ICollectionMidT< TNB::CListQueueT< TYP > >, ICollectionMidT< BYTE >, ICollectionMidT< CArrayPtrHandleT< TCHAR > >, CConstOffsetAdapterT< TYP >, CConstOffsetAdapterT< BYTE >, CConstReverseAdapterT< TYP >, CConstAppendAdapterT< TYP >, COffsetAdapterT< TYP >, CConstAdapterT< TYP >, CIndexAdapterT< TYP >, CConstFileMappingT< TYP >, CConstFileMappingT< BYTE >, CConstFileMappingT< short >, CConstResourceData, CDummyCollectionT< TYP >, CDummyCollectionT< BYTE >, CReaderAdapter, CWriterAdapter, CFileMappingT< TYP >, CMapT< KEY, VAL, INK >::CConstKeysAdapter, CMapT< KEY, VAL, INK >::CConstValuesAdapter, CMapT< KEY, VAL, INK >, CMapT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< TNB::CStrT, CVectorT< BYTE > >, CMapT< CAscii, CAscii, LPCSTR >, CMapT< TNB::CStrT, TNB::CMapT, LPCTSTR >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CMapT< FOURCC, TNB::CStrT >, CMapT< HTREEITEM, CPointerHandleT< IDrawable > >, CMapT< COLORREF, CPointerHandleT< TPointInfo > >, CPointerVectorT< TYP >, CPointerVectorT< CCursorManager >, CPointerVectorT< TNB::CShapeFile::IRecordContent >, CPointerVectorT< TBindWork >, CPointerVectorT< TNB::MFC::CDrawingSubMenu >, CSingleSetT< TYP >, CSingleSetT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TYP >, CVectorT< TNB::CPairT< T, T > >, CVectorT< BYTE >, CVectorT< DWORD >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< WORD >, CVectorT< TNB::CVectorT >, CVectorT< TValue >, CVectorT< TNB::CPairT >, CVectorT< CStr >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TCHAR >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< HICON >, CVectorT< TNB::CMailAddress >, CVectorT< CAscii >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< POINT >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TInfo >, CVectorT< TParam >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< SOCKET >, CVectorT< CVectorT< BYTE > >, CVectorT< TYP * >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< CFileInfoArray >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TFuncInfo >, CVectorT< EKind >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< INDEX >, CVectorT< CVaVaVector >, CVectorT< CArVaVector >, CVectorT< CTmlValue >, CVectorT< char >, CVectorT< EAttr >, CVectorT< TParam * >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< UINT >, CVectorT< CDrawersVector >, CVectorT< IDrawable::Ptr >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > > (計92項目)で実装されています。

◆ begin() [1/2]

iterator begin ( void  )

[反復] 先頭iterator.

先頭要素を指す反復子を取得

戻り値
iterator

TnbCollection.h938 行目に定義があります。

◆ begin() [2/2]

const_iterator begin ( void  ) const

[反復] 先頭const_iterator.

先頭要素を指す反復子を取得

戻り値
const_iterator

TnbCollection.h924 行目に定義があります。

◆ Compare()

virtual INT_PTR Compare ( const IConstCollectionT< TYP > &  c) const
virtualinherited

[確認] 比較.

コンパレータ( IComparatorT のサブクラス)を使用して、全要素を比較します。

引数
c比較対象
戻り値
自分は c と同じ
1以上自分は c より大きい
0未満自分は c より小さい

IComparableT< TNB::IConstCollectionT< TYP > >を実装しています。

TnbCollection.h595 行目に定義があります。

◆ Copy()

virtual size_t Copy ( const IConstCollectionT< TYP > &  c)
virtual

[設定] コピー.

管理しているバッファを開放し、指定のデータをコピーします。

覚え書き
コピー元の範囲を限定したい場合、元データに CConstOffsetAdapterT を使用します。
一度別メモリにコピーしています。そのため、同じオブジェクトでも対応可能です。
引数
cコピーするデータ
戻り値
INVALID_SIZEエラー。
それ以外複製した数。

TnbCollection.h1263 行目に定義があります。

◆ CopyElements()

virtual size_t CopyElements ( size_t  size,
const TYP *  P = NULL 
)
virtual

[設定] コピー.

管理しているバッファを開放し、指定のデータをコピーします。

覚え書き
廃止予定です。 SetElements() を使用してください。
引数
sizeデータ長。
Pコピーする内容を指定。省略すると TYP()が代入されます。
戻り値
INVALID_SIZEエラー。
それ以外複製した数。

TnbCollection.h1232 行目に定義があります。

◆ Cull()

virtual size_t Cull ( const IChecker checker,
bool  boIsReverse = false 
)
virtual

[削除] 間引き.

指定の条件に合わないもの(チェッカーの結果により)を削除します。

引数
checkerチェッカー
boIsReverse省略すると条件に一致を残します。 trueを指定すると条件不一致を残します。
戻り値
INVALID_SIZEエラー。
それ以外削除した数。

CListT< TYP, ATT >, CListT< TNB::CListQueueT< TYP > >で再実装されています。

TnbCollection.h1290 行目に定義があります。

◆ Deserialize()

virtual void Deserialize ( const IDeserializer ds)
virtual

[処理] デシリアライズ

引数
dsデシリアライザー。これからメンバの内容を取り出してください。
例外
CTnbException失敗時は、任意のスローの可能性があります。

IConstCollectionT< TYP >を再実装しています。

CAttributedVectorT< TYP, ATT >, CAttributedVectorT< BYTE, BYTE >, CListT< TYP, ATT >, CListT< TNB::CListQueueT< TYP > >で再実装されています。

TnbCollection.h1355 行目に定義があります。

◆ end() [1/2]

iterator end ( void  )

[反復] 最後iterator.

最後要素の次を指す反復子を取得

戻り値
iterator

TnbCollection.h945 行目に定義があります。

◆ end() [2/2]

const_iterator end ( void  ) const

[反復] 最後const_iterator.

最後要素の次を指す反復子を取得

戻り値
const_iterator

TnbCollection.h931 行目に定義があります。

◆ Find() [1/5]

INDEX Find ( const IChecker checker,
INDEX  startIndex = 0,
bool  boIsReverse = false 
) const
inherited

[検索] 条件一致要素の検索.

チェッカー( IChecker のサブクラス)を使用して、検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
checkerチェッカー
startIndex検索開始インデックス。
boIsReverse省略すると条件に一致を探します。 trueを指定すると条件不一致を探します。
戻り値
INVALID_INDEX未発見
それ以外発見したインデックス

TnbCollection.h400 行目に定義があります。

◆ Find() [2/5]

INDEX Find ( const IConstCollectionT< TYP > &  t,
const IComparatorT< TYP > &  comparator,
INDEX  startIndex = 0 
) const
inherited

[検索] 指定配列の検索.

コンパレータ( IComparatorT のサブクラス)を使用して、検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
t配列
comparatorコンパレーター
startIndex検索開始インデックス。
戻り値
INVALID_INDEX未発見
それ以外発見したインデックス

TnbCollection.h427 行目に定義があります。

◆ Find() [3/5]

INDEX Find ( const IConstCollectionT< TYP > &  t,
INDEX  startIndex = 0 
) const
inherited

[検索] 指定配列の検索.

IComparatorT::GetDefault() で得られるコンパレータを使用して検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
t配列
startIndex検索開始インデックス。
戻り値
INVALID_INDEX未発見
それ以外発見したインデックス

TnbCollection.h467 行目に定義があります。

◆ Find() [4/5]

INDEX Find ( const TYP &  t,
const IComparatorT< TYP > &  comparator,
INDEX  startIndex = 0 
) const
inherited

[検索] 指定要素の検索.

コンパレータ( IComparatorT のサブクラス)を使用して、検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
t要素
comparatorコンパレーター
startIndex検索開始インデックス。
戻り値
INVALID_INDEX未発見
それ以外発見したインデックス

TnbCollection.h482 行目に定義があります。

◆ Find() [5/5]

INDEX Find ( const TYP &  t,
INDEX  startIndex = 0 
) const
inherited

[検索] 指定要素の検索.

IComparatorT::GetDefault() で得られるコンパレータを使用して検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
t要素
startIndex検索開始インデックス。
戻り値
INVALID_INDEX未発見
それ以外発見したインデックス

TnbCollection.h508 行目に定義があります。

◆ FindMax() [1/2]

INDEX FindMax ( const IComparatorT< TYP > &  comparator,
const TYP &  def 
) const
inherited

[検索] 要素の最大検索.

コンパレータ( IComparatorT のサブクラス)を使用して、比較検索します。

引数
comparatorコンパレーター
def最小値(初期値)
戻り値
INVALID_INDEX未発見
それ以外最大を持つインデックス

TnbCollection.h521 行目に定義があります。

◆ FindMax() [2/2]

INDEX FindMax ( const TYP &  def) const
inherited

[検索] 要素の最大検索.

IComparatorT::GetDefault() で得られるコンパレータを使用して比較検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
def最小値(初期値)
戻り値
INVALID_INDEX未発見
それ以外最大を持つインデックス

TnbCollection.h545 行目に定義があります。

◆ FindMin() [1/2]

INDEX FindMin ( const IComparatorT< TYP > &  comparator,
const TYP &  def 
) const
inherited

[検索] 要素の最小検索.

コンパレータ( IComparatorT のサブクラス)を使用して、比較検索します。

引数
comparatorコンパレーター
def最大値(初期値)
戻り値
INVALID_INDEX未発見
それ以外最小を持つインデックス

TnbCollection.h558 行目に定義があります。

◆ FindMin() [2/2]

INDEX FindMin ( const TYP &  def) const
inherited

[検索] 要素の最小検索.

IComparatorT::GetDefault() で得られるコンパレータを使用して比較検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
def最大値(初期値)
戻り値
INVALID_INDEX未発見
それ以外最小を持つインデックス

TnbCollection.h582 行目に定義があります。

◆ Get()

virtual TYP Get ( INDEX  index) const
virtualinherited

[取得] 要素の取得.

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 GetEx() を使用してください。
引数
indexインデックス
戻り値
内容
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

ICollectionMidT< TYP >, ICollectionMidT< CVectorT< BYTE > >, ICollectionMidT< TParam >, ICollectionMidT< TNB::CListQueueT< TYP > >, ICollectionMidT< BYTE >, ICollectionMidT< CArrayPtrHandleT< TCHAR > >, CConstFileMappingT< TYP >, CConstFileMappingT< BYTE >, CConstFileMappingT< short >, CReaderAdapter, CWriterAdapter, CFileMappingT< TYP >, CMapT< KEY, VAL, INK >, CMapT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< TNB::CStrT, CVectorT< BYTE > >, CMapT< CAscii, CAscii, LPCSTR >, CMapT< TNB::CStrT, TNB::CMapT, LPCTSTR >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CMapT< FOURCC, TNB::CStrT >, CMapT< HTREEITEM, CPointerHandleT< IDrawable > >, CMapT< COLORREF, CPointerHandleT< TPointInfo > >, CVectorT< TYP >, CVectorT< TNB::CPairT< T, T > >, CVectorT< BYTE >, CVectorT< DWORD >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< WORD >, CVectorT< TNB::CVectorT >, CVectorT< TValue >, CVectorT< TNB::CPairT >, CVectorT< CStr >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TCHAR >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< HICON >, CVectorT< TNB::CMailAddress >, CVectorT< CAscii >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< POINT >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TInfo >, CVectorT< TParam >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< SOCKET >, CVectorT< CVectorT< BYTE > >, CVectorT< TYP * >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< CFileInfoArray >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TFuncInfo >, CVectorT< EKind >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< INDEX >, CVectorT< CVaVaVector >, CVectorT< CArVaVector >, CVectorT< CTmlValue >, CVectorT< char >, CVectorT< EAttr >, CVectorT< TParam * >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< UINT >, CVectorT< CDrawersVector >, CVectorT< IDrawable::Ptr >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > > (計72項目)で再実装されています。

TnbCollection.h298 行目に定義があります。

◆ GetElements()

virtual size_t GetElements ( size_t  size,
TYP *  _P,
INDEX  offset = 0 
) const
virtualinherited

[取得] 複数要素取り出し.

引数
[in]size取り出すデータの数。
[out]_Pコピーするポインタ。size 分の領域がある必要があります。
[in]offset取り出し開始のインデックス。省略すると0。
戻り値
コピーした数

TnbCollection.h322 行目に定義があります。

◆ GetEx()

TYP GetEx ( INDEX  index) const
inherited

[取得] 要素の取得.

引数
indexインデックス
戻り値
内容
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

TnbCollection.h309 行目に定義があります。

◆ GetSize()

virtual size_t GetSize ( void  ) const
pure virtualinherited

[取得] 要素数取得.

覚え書き
Pure関数です。
戻り値
要素数

CBitVector, CBlockLinkVectorT< TYP >, CBlockLinkVectorT< TParam >, CAbstractAdapterT< TYP >, CAbstractAdapterT< BYTE >, CConstOffsetAdapterT< TYP >, CConstOffsetAdapterT< BYTE >, COffsetAdapterT< TYP >, CConstAdapterT< TYP >, CIndexAdapterT< TYP >, CConstFileMappingT< TYP >, CConstFileMappingT< BYTE >, CConstFileMappingT< short >, CConstResourceData, CDummyCollectionT< TYP >, CDummyCollectionT< BYTE >, CReaderAdapter, CWriterAdapter, CFileMappingT< TYP >, CListT< TYP, ATT >, CListT< TNB::CListQueueT< TYP > >, CMapT< KEY, VAL, INK >::CConstKeysAdapter, CMapT< KEY, VAL, INK >::CConstValuesAdapter, CMapT< KEY, VAL, INK >, CMapT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< TNB::CStrT, CVectorT< BYTE > >, CMapT< CAscii, CAscii, LPCSTR >, CMapT< TNB::CStrT, TNB::CMapT, LPCTSTR >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CMapT< FOURCC, TNB::CStrT >, CMapT< HTREEITEM, CPointerHandleT< IDrawable > >, CMapT< COLORREF, CPointerHandleT< TPointInfo > >, CPointerVectorT< TYP >, CPointerVectorT< CCursorManager >, CPointerVectorT< TNB::CShapeFile::IRecordContent >, CPointerVectorT< TBindWork >, CPointerVectorT< TNB::MFC::CDrawingSubMenu >, CPriorityQueueT< TYP >, CRingQueueT< TYP, ISI, INV >, CRingQueueT< TYP, false, TYP >, CRingQueueT< CVectorT< BYTE >, false, CVectorT< BYTE > >, CRingQueueT< BYTE >, CRingQueueT< TParam >, CRingQueueT< CArrayPtrHandleT< TCHAR > >, CSingleSetT< TYP >, CSingleSetT< TNB::CPacketCommander::CInner::TTask * >, CSharedQueueT< TYP, SIZ >, CVectorT< TYP >, CVectorT< TNB::CPairT< T, T > >, CVectorT< BYTE >, CVectorT< DWORD >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< WORD >, CVectorT< TNB::CVectorT >, CVectorT< TValue >, CVectorT< TNB::CPairT >, CVectorT< CStr >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TCHAR >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< HICON >, CVectorT< TNB::CMailAddress >, CVectorT< CAscii >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< POINT >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TInfo >, CVectorT< TParam >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< SOCKET >, CVectorT< CVectorT< BYTE > >, CVectorT< TYP * >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< CFileInfoArray >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TFuncInfo >, CVectorT< EKind >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< INDEX >, CVectorT< CVaVaVector >, CVectorT< CArVaVector >, CVectorT< CTmlValue >, CVectorT< char >, CVectorT< EAttr >, CVectorT< TParam * >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< UINT >, CVectorT< CDrawersVector >, CVectorT< IDrawable::Ptr >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > > (計98項目)で実装されています。

◆ Insert()

virtual bool Insert ( INDEX  index,
const TYP &  t 
)
virtual

[追加] 要素一つ挿入.

指定のインデックスに要素を追加します。

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 InsertEx() を使用してください。
引数
indexインデックス
t要素
戻り値
true挿入成功
false失敗(インデックス無効)

CBitVector, CVectorT< BYTE >, CAutoVectorT< BYTE >, CVectorT< CArVaVector >, CVectorT< CAscii >, CVectorT< CDrawersVector >, CAutoVectorT< CDrawersVector >, CVectorT< CFileInfoArray >, CVectorT< char >, CVectorT< CPointerHandleT< IDrawable > >, CAutoVectorT< CPointerHandleT< IDrawable > >, CVectorT< CStr >, CVectorT< CTmlValue >, CVectorT< CVaVaVector >, CVectorT< CVectorT< BYTE > >, CVectorT< DWORD >, CVectorT< EAttr >, CVectorT< EKind >, CVectorT< HICON >, CVectorT< IDrawable::Ptr >, CAutoVectorT< IDrawable::Ptr >, CVectorT< INDEX >, CAutoVectorT< INDEX >, CVectorT< POINT >, CVectorT< SOCKET >, CVectorT< TCHAR >, CVectorT< TFuncInfo >, CVectorT< TInfo >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< TNB::CMailAddress >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPairT >, CVectorT< TNB::CPairT< T, T > >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TNB::CVectorT >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< TParam >, CVectorT< TParam * >, CVectorT< TValue >, CVectorT< TYP >, CAutoVectorT< TYP >, CVectorT< TYP * >, CVectorT< UINT >, CAutoVectorT< UINT >, CVectorT< WORD > (計56項目)で再実装されています。

TnbCollection.h1049 行目に定義があります。

◆ InsertEx()

virtual bool InsertEx ( INDEX  index,
const TYP &  t 
)
virtual

[追加] 要素一つ挿入.

指定のインデックスに要素を追加します。

引数
indexインデックス
t要素
戻り値
true挿入成功
false失敗(インデックス無効)

TnbCollection.h1077 行目に定義があります。

◆ IsEmpty()

bool IsEmpty ( void  ) const
inherited

[確認] 要素の有無確認.

覚え書き
GetSize()の戻り値が0か否かでチェックしています。
戻り値
true要素なし
false要素有り

TnbCollection.h346 行目に定義があります。

◆ IsEqual()

virtual bool IsEqual ( const IConstCollectionT< TYP > &  c) const
virtualinherited

[確認] 比較.

コンパレータ( IComparatorT のサブクラス)を使用して、全要素を比較します。

引数
c比較対象
戻り値
true自分は c と同じ
false自分は c と異なる

IComparableT< TNB::IConstCollectionT< TYP > >を再実装しています。

CMapT< CAscii, CAscii, LPCSTR >, CMapT< COLORREF, CPointerHandleT< TPointInfo > >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CMapT< FOURCC, TNB::CStrT >, CMapT< HTREEITEM, CPointerHandleT< IDrawable > >, CMapT< int, HICON >, CMapT< KEY, VAL, INK >, CMapT< PROPID, CTagInfo >, CMapT< TNB::CStrT, CVectorT< BYTE > >, CMapT< TNB::CStrT, TNB::CMapT, LPCTSTR >, CMapT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > >で再実装されています。

TnbCollection.h624 行目に定義があります。

◆ IsInRange()

bool IsInRange ( INDEX  index) const
inherited

[確認] INDEXの有効確認.

覚え書き
GetSize()の戻り値を使用してチェックしています。
引数
indexインデックス
戻り値
true指定Indexは有効。
false指定Indexは無効(範囲外)。

TnbCollection.h358 行目に定義があります。

◆ Lock()

virtual bool Lock ( DWORD  dwTime = INFINITE) const
pure virtualinherited

[排他] ロック

引数
dwTimeロックにトライし続けるミリ秒。省略すると無限に待ちます。
戻り値
true成功
false失敗

CBitVector, CBlockLinkVectorT< TYP >, CBlockLinkVectorT< TParam >, CAbstractAdapterT< TYP >, CAbstractAdapterT< BYTE >, CConstAppendAdapterT< TYP >, COffsetAdapterT< TYP >, CConstAdapterT< TYP >, CIndexAdapterT< TYP >, CConstFileMappingT< TYP >, CConstFileMappingT< BYTE >, CConstFileMappingT< short >, CConstResourceData, CDummyCollectionT< TYP >, CDummyCollectionT< BYTE >, CReaderAdapter, CWriterAdapter, CFileMappingT< TYP >, CListT< TYP, ATT >, CListT< TNB::CListQueueT< TYP > >, CMapT< KEY, VAL, INK >::CConstKeysAdapter, CMapT< KEY, VAL, INK >::CConstValuesAdapter, CMapT< KEY, VAL, INK >, CMapT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< TNB::CStrT, CVectorT< BYTE > >, CMapT< CAscii, CAscii, LPCSTR >, CMapT< TNB::CStrT, TNB::CMapT, LPCTSTR >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CMapT< FOURCC, TNB::CStrT >, CMapT< HTREEITEM, CPointerHandleT< IDrawable > >, CMapT< COLORREF, CPointerHandleT< TPointInfo > >, CPointerVectorT< TYP >, CPointerVectorT< CCursorManager >, CPointerVectorT< TNB::CShapeFile::IRecordContent >, CPointerVectorT< TBindWork >, CPointerVectorT< TNB::MFC::CDrawingSubMenu >, CPriorityQueueT< TYP >, CRingQueueT< TYP, ISI, INV >, CRingQueueT< TYP, false, TYP >, CRingQueueT< CVectorT< BYTE >, false, CVectorT< BYTE > >, CRingQueueT< BYTE >, CRingQueueT< TParam >, CRingQueueT< CArrayPtrHandleT< TCHAR > >, CSingleSetT< TYP >, CSingleSetT< TNB::CPacketCommander::CInner::TTask * >, CSharedQueueT< TYP, SIZ >, CAbstractSyncHandle, CSyncSection, CSyncSectionEx, CSyncCounter, CSyncDummy, CSyncMetered, CVectorT< TYP >, CVectorT< TNB::CPairT< T, T > >, CVectorT< BYTE >, CVectorT< DWORD >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< WORD >, CVectorT< TNB::CVectorT >, CVectorT< TValue >, CVectorT< TNB::CPairT >, CVectorT< CStr >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TCHAR >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< HICON >, CVectorT< TNB::CMailAddress >, CVectorT< CAscii >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< POINT >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TInfo >, CVectorT< TParam >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< SOCKET >, CVectorT< CVectorT< BYTE > >, CVectorT< TYP * >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< CFileInfoArray >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TFuncInfo >, CVectorT< EKind >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< INDEX >, CVectorT< CVaVaVector >, CVectorT< CArVaVector >, CVectorT< CTmlValue >, CVectorT< char >, CVectorT< EAttr >, CVectorT< TParam * >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< UINT >, CVectorT< CDrawersVector >, CVectorT< IDrawable::Ptr >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > > (計103項目)で実装されています。

◆ operator size_t()

operator size_t ( void  ) const
inherited

[取得] 要素数取得.

戻り値
要素数

TnbCollection.h268 行目に定義があります。

◆ operator!=()

bool operator!= ( const TNB::IConstCollectionT< TYP > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
true自分は t と異なる
false自分は t と同じ

TnbComparable.h98 行目に定義があります。

◆ operator-()

INT_PTR operator- ( const TNB::IConstCollectionT< TYP > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
自分は t と同じ
1以上自分は t より大きい
0未満自分は t より小さい

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

◆ operator<()

bool operator< ( const TNB::IConstCollectionT< TYP > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
true自分は t より小さい
false自分は t と同じか大きい

TnbComparable.h106 行目に定義があります。

◆ operator<=()

bool operator<= ( const TNB::IConstCollectionT< TYP > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
true自分は t と同じか小さい
false自分は t より大きい

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

◆ operator=()

ICollectionT & operator= ( const ICollectionT< TYP > &  other)

[代入] コピーオペレータ.

引数
otherコピー元.
戻り値
自分の参照

TnbCollection.h976 行目に定義があります。

◆ operator==()

bool operator== ( const TNB::IConstCollectionT< TYP > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
true自分は t と同じ
false自分は t と異なる

TnbComparable.h90 行目に定義があります。

◆ operator>()

bool operator> ( const TNB::IConstCollectionT< TYP > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
true自分は t より大きい
false自分は t と同じか小さい

TnbComparable.h122 行目に定義があります。

◆ operator>=()

bool operator>= ( const TNB::IConstCollectionT< TYP > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
true自分は t と同じか大きい
false自分は t より小さい

TnbComparable.h130 行目に定義があります。

◆ push_back()

void push_back ( const TYP &  t)

[反復] 最後に追加

引数
t要素

TnbCollection.h951 行目に定義があります。

◆ Ref()

virtual TYP & Ref ( INDEX  index)
pure virtual

[取得] 要素の参照取得.

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 Lock() / Unlock() を使用してください。
引数
indexインデックス
戻り値
要素の参照
例外
CNotSupportExceptionサポートしていないことを示すためにスローされます。
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

CBitVector, ICollectionMidT< TYP >, ICollectionMidT< CVectorT< BYTE > >, ICollectionMidT< TParam >, ICollectionMidT< TNB::CListQueueT< TYP > >, ICollectionMidT< BYTE >, ICollectionMidT< CArrayPtrHandleT< TCHAR > >, COffsetAdapterT< TYP >, CDummyCollectionT< TYP >, CDummyCollectionT< BYTE >, CWriterAdapter, CFileMappingT< TYP >, CMapT< KEY, VAL, INK >, CMapT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< TNB::CStrT, CVectorT< BYTE > >, CMapT< CAscii, CAscii, LPCSTR >, CMapT< TNB::CStrT, TNB::CMapT, LPCTSTR >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CMapT< FOURCC, TNB::CStrT >, CMapT< HTREEITEM, CPointerHandleT< IDrawable > >, CMapT< COLORREF, CPointerHandleT< TPointInfo > >, CVectorT< TYP >, CVectorT< TNB::CPairT< T, T > >, CVectorT< BYTE >, CVectorT< DWORD >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< WORD >, CVectorT< TNB::CVectorT >, CVectorT< TValue >, CVectorT< TNB::CPairT >, CVectorT< CStr >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TCHAR >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< HICON >, CVectorT< TNB::CMailAddress >, CVectorT< CAscii >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< POINT >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TInfo >, CVectorT< TParam >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< SOCKET >, CVectorT< CVectorT< BYTE > >, CVectorT< TYP * >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< CFileInfoArray >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TFuncInfo >, CVectorT< EKind >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< INDEX >, CVectorT< CVaVaVector >, CVectorT< CArVaVector >, CVectorT< CTmlValue >, CVectorT< char >, CVectorT< EAttr >, CVectorT< TParam * >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< UINT >, CVectorT< CDrawersVector >, CVectorT< IDrawable::Ptr >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > > (計72項目)で実装されています。

◆ Remove()

virtual bool Remove ( INDEX  index)
pure virtual

[削除] 要素一つ削除.

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 RemoveEx() を使用してください。
引数
indexインデックス
戻り値
falseエラー。
true成功。

CAttributedVectorT< TYP, ATT >, CAttributedVectorT< BYTE, BYTE >, CBitVector, CBlockLinkVectorT< TYP >, CBlockLinkVectorT< TParam >, COffsetAdapterT< TYP >, CDummyCollectionT< TYP >, CDummyCollectionT< BYTE >, CWriterAdapter, CFileMappingT< TYP >, CListT< TYP, ATT >, CListT< TNB::CListQueueT< TYP > >, CMapT< KEY, VAL, INK >, CMapT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< TNB::CStrT, CVectorT< BYTE > >, CMapT< CAscii, CAscii, LPCSTR >, CMapT< TNB::CStrT, TNB::CMapT, LPCTSTR >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CMapT< FOURCC, TNB::CStrT >, CMapT< HTREEITEM, CPointerHandleT< IDrawable > >, CMapT< COLORREF, CPointerHandleT< TPointInfo > >, CRingQueueT< TYP, ISI, INV >, CRingQueueT< TYP, false, TYP >, CRingQueueT< CVectorT< BYTE >, false, CVectorT< BYTE > >, CRingQueueT< BYTE >, CRingQueueT< TParam >, CRingQueueT< CArrayPtrHandleT< TCHAR > >, CVectorT< TYP >, CVectorT< TNB::CPairT< T, T > >, CVectorT< BYTE >, CVectorT< DWORD >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< WORD >, CVectorT< TNB::CVectorT >, CVectorT< TValue >, CVectorT< TNB::CPairT >, CVectorT< CStr >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TCHAR >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< HICON >, CVectorT< TNB::CMailAddress >, CVectorT< CAscii >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< POINT >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TInfo >, CVectorT< TParam >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< SOCKET >, CVectorT< CVectorT< BYTE > >, CVectorT< TYP * >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< CFileInfoArray >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TFuncInfo >, CVectorT< EKind >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< INDEX >, CVectorT< CVaVaVector >, CVectorT< CArVaVector >, CVectorT< CTmlValue >, CVectorT< char >, CVectorT< EAttr >, CVectorT< TParam * >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< UINT >, CVectorT< CDrawersVector >, CVectorT< IDrawable::Ptr >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > > (計78項目)で実装されています。

◆ RemoveAll()

virtual bool RemoveAll ( void  )
virtual

[削除] 全要素削除 .

覚え書き
Remove(0)を無くなるまで呼び出します。
戻り値
true成功
false失敗

CAttributedVectorT< TYP, ATT >, CAttributedVectorT< BYTE, BYTE >, CBitVector, CBlockLinkVectorT< TYP >, CBlockLinkVectorT< TParam >, CDummyCollectionT< TYP >, CDummyCollectionT< BYTE >, CWriterAdapter, CFileMappingT< TYP >, CListT< TYP, ATT >, CListT< TNB::CListQueueT< TYP > >, CMapT< KEY, VAL, INK >, CMapT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< TNB::CStrT, CVectorT< BYTE > >, CMapT< CAscii, CAscii, LPCSTR >, CMapT< TNB::CStrT, TNB::CMapT, LPCTSTR >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CMapT< FOURCC, TNB::CStrT >, CMapT< HTREEITEM, CPointerHandleT< IDrawable > >, CMapT< COLORREF, CPointerHandleT< TPointInfo > >, CPriorityQueueT< TYP >, CRingQueueT< TYP, ISI, INV >, CRingQueueT< TYP, false, TYP >, CRingQueueT< CVectorT< BYTE >, false, CVectorT< BYTE > >, CRingQueueT< BYTE >, CRingQueueT< TParam >, CRingQueueT< CArrayPtrHandleT< TCHAR > >, CSharedQueueT< TYP, SIZ >, CVectorT< TYP >, CVectorT< TNB::CPairT< T, T > >, CVectorT< BYTE >, CVectorT< DWORD >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< WORD >, CVectorT< TNB::CVectorT >, CVectorT< TValue >, CVectorT< TNB::CPairT >, CVectorT< CStr >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TCHAR >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< HICON >, CVectorT< TNB::CMailAddress >, CVectorT< CAscii >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< POINT >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TInfo >, CVectorT< TParam >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< SOCKET >, CVectorT< CVectorT< BYTE > >, CVectorT< TYP * >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< CFileInfoArray >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TFuncInfo >, CVectorT< EKind >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< INDEX >, CVectorT< CVaVaVector >, CVectorT< CArVaVector >, CVectorT< CTmlValue >, CVectorT< char >, CVectorT< EAttr >, CVectorT< TParam * >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< UINT >, CVectorT< CDrawersVector >, CVectorT< IDrawable::Ptr >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > > (計79項目)で再実装されています。

TnbCollection.h1136 行目に定義があります。

◆ RemoveElements()

virtual size_t RemoveElements ( INDEX  index,
size_t  size = 0 
)
virtual

[削除] 要素削除.

引数
indexインデックス
size削除数。省略すると0。0を指定するとそれ以降全部削除します。
戻り値
INVALID_SIZEエラー。
それ以外削除した数。

CBlockLinkVectorT< TYP >, CBlockLinkVectorT< TParam >, CVectorT< TYP >, CVectorT< TNB::CPairT< T, T > >, CVectorT< BYTE >, CVectorT< DWORD >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< WORD >, CVectorT< TNB::CVectorT >, CVectorT< TValue >, CVectorT< TNB::CPairT >, CVectorT< CStr >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TCHAR >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< HICON >, CVectorT< TNB::CMailAddress >, CVectorT< CAscii >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< POINT >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TInfo >, CVectorT< TParam >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< SOCKET >, CVectorT< CVectorT< BYTE > >, CVectorT< TYP * >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< CFileInfoArray >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TFuncInfo >, CVectorT< EKind >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< INDEX >, CVectorT< CVaVaVector >, CVectorT< CArVaVector >, CVectorT< CTmlValue >, CVectorT< char >, CVectorT< EAttr >, CVectorT< TParam * >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< UINT >, CVectorT< CDrawersVector >, CVectorT< IDrawable::Ptr >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > > (計50項目)で再実装されています。

TnbCollection.h1112 行目に定義があります。

◆ RemoveEx()

bool RemoveEx ( INDEX  index)

[削除] 要素一つ削除.

引数
indexインデックス
戻り値
falseエラー。
true成功。

TnbCollection.h1099 行目に定義があります。

◆ Serialize()

virtual void Serialize ( ISerializer _sr) const
virtualinherited

[処理] シリアライズ

引数
[out]_srシリアライザー。
例外
CTnbException失敗時は、任意のスローの可能性があります。

ISerializableを実装しています。

CAttributedVectorT< TYP, ATT >, CAttributedVectorT< BYTE, BYTE >, CListT< TYP, ATT >, CListT< TNB::CListQueueT< TYP > >, CPointerVectorT< TYP >, CPointerVectorT< CCursorManager >, CPointerVectorT< TNB::CShapeFile::IRecordContent >, CPointerVectorT< TBindWork >, CPointerVectorT< TNB::MFC::CDrawingSubMenu >で再実装されています。

TnbCollection.h368 行目に定義があります。

◆ Set()

virtual bool Set ( INDEX  index,
const TYP &  t 
)
pure virtual

[設定] 要素の設定.

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 SetEx() を使用してください。
引数
indexインデックス
t内容
戻り値
true設定成功
false失敗

CBitVector, CAttributedVectorT< BYTE, BYTE >, ICollectionMidT< BYTE >, CDummyCollectionT< BYTE >, CWriterAdapter, CVectorT< BYTE >, CAutoVectorT< BYTE >, ICollectionMidT< CArrayPtrHandleT< TCHAR > >, CVectorT< CArVaVector >, CVectorT< CAscii >, CVectorT< CDrawersVector >, CAutoVectorT< CDrawersVector >, CVectorT< CFileInfoArray >, CVectorT< char >, CMapT< KEY, VAL, INK >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CVectorT< CPointerHandleT< IDrawable > >, CAutoVectorT< CPointerHandleT< IDrawable > >, CVectorT< CStr >, CVectorT< CTmlValue >, CVectorT< CVaVaVector >, ICollectionMidT< CVectorT< BYTE > >, CVectorT< CVectorT< BYTE > >, CVectorT< DWORD >, CVectorT< EAttr >, CVectorT< EKind >, CVectorT< HICON >, CVectorT< IDrawable::Ptr >, CAutoVectorT< IDrawable::Ptr >, CVectorT< INDEX >, CAutoVectorT< INDEX >, CVectorT< POINT >, CVectorT< SOCKET >, CVectorT< TCHAR >, CVectorT< TFuncInfo >, CVectorT< TInfo >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< TNB::CGrid::TFieldInfo >, ICollectionMidT< TNB::CListQueueT< TYP > >, CListT< TNB::CListQueueT< TYP > >, CVectorT< TNB::CMailAddress >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPairT >, CVectorT< TNB::CPairT< T, T > >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TNB::CVectorT >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, ICollectionMidT< TParam >, CVectorT< TParam >, CVectorT< TParam * >, CVectorT< TValue >, CAttributedVectorT< TYP, ATT >, ICollectionMidT< TYP >, COffsetAdapterT< TYP >, CDummyCollectionT< TYP >, CFileMappingT< TYP >, CListT< TYP, ATT >, CVectorT< TYP >, CAutoVectorT< TYP >, CVectorT< TYP * >, CVectorT< UINT >, CAutoVectorT< UINT >, CVectorT< WORD > (計76項目)で実装されています。

◆ SetElements()

virtual size_t SetElements ( size_t  size,
const TYP *  P = NULL 
)
virtual

[設定] 複数要素設定.

管理しているバッファを開放し、指定のデータをコピーします。

引数
sizeデータ長。
Pコピーする内容を指定。省略すると TYP()が代入されます。
戻り値
INVALID_SIZEエラー。
それ以外複製した数。

CAttributedVectorT< BYTE, BYTE >, CVectorT< BYTE >, CVectorT< CArVaVector >, CVectorT< CAscii >, CVectorT< CDrawersVector >, CVectorT< CFileInfoArray >, CVectorT< char >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< CStr >, CVectorT< CTmlValue >, CVectorT< CVaVaVector >, CVectorT< CVectorT< BYTE > >, CVectorT< DWORD >, CVectorT< EAttr >, CVectorT< EKind >, CVectorT< HICON >, CVectorT< IDrawable::Ptr >, CVectorT< INDEX >, CVectorT< POINT >, CVectorT< SOCKET >, CVectorT< TCHAR >, CVectorT< TFuncInfo >, CVectorT< TInfo >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< TNB::CMailAddress >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPairT >, CVectorT< TNB::CPairT< T, T > >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TNB::CVectorT >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< TParam * >, CVectorT< TParam >, CVectorT< TValue >, CVectorT< TYP * >, CAttributedVectorT< TYP, ATT >, CVectorT< TYP >, CVectorT< UINT >, CVectorT< WORD > (計50項目)で再実装されています。

TnbCollection.h1245 行目に定義があります。

◆ SetEx()

bool SetEx ( INDEX  index,
const TYP &  t 
)

[設定] 要素の設定.

引数
indexインデックス
t内容
戻り値
true設定成功
false失敗

TnbCollection.h1011 行目に定義があります。

◆ SetSize()

virtual bool SetSize ( size_t  size)
virtual

[操作] サイズ指定

覚え書き
大きくすることも小さくすることも出来ます。
大きくした時、そのデータはTYP()で埋められます。
引数
sizeサイズ
戻り値
true成功
false失敗

CAttributedVectorT< TYP, ATT >, CAttributedVectorT< BYTE, BYTE >, CWriterAdapter, CFileMappingT< TYP >, CListT< TYP, ATT >, CListT< TNB::CListQueueT< TYP > >, CMapT< KEY, VAL, INK >, CMapT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< TNB::CStrT, CVectorT< BYTE > >, CMapT< CAscii, CAscii, LPCSTR >, CMapT< TNB::CStrT, TNB::CMapT, LPCTSTR >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CMapT< FOURCC, TNB::CStrT >, CMapT< HTREEITEM, CPointerHandleT< IDrawable > >, CMapT< COLORREF, CPointerHandleT< TPointInfo > >, CVectorT< TYP >, CVectorT< TNB::CPairT< T, T > >, CVectorT< BYTE >, CVectorT< DWORD >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< WORD >, CVectorT< TNB::CVectorT >, CVectorT< TValue >, CVectorT< TNB::CPairT >, CVectorT< CStr >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TCHAR >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< HICON >, CVectorT< TNB::CMailAddress >, CVectorT< CAscii >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< POINT >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TInfo >, CVectorT< TParam >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< SOCKET >, CVectorT< CVectorT< BYTE > >, CVectorT< TYP * >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< CFileInfoArray >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TFuncInfo >, CVectorT< EKind >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< INDEX >, CVectorT< CVaVaVector >, CVectorT< CArVaVector >, CVectorT< CTmlValue >, CVectorT< char >, CVectorT< EAttr >, CVectorT< TParam * >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< UINT >, CVectorT< CDrawersVector >, CVectorT< IDrawable::Ptr >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > > (計66項目)で再実装されています。

TnbCollection.h1319 行目に定義があります。

◆ Shuffle()

bool Shuffle ( int  iDepth = 1)

[操作] シャッフル.

要素の並びをシャッフルします。

覚え書き
範囲を限定したい場合、 COffsetAdapterT を使用します。
引数
iDepthシャッフルを何回行うかを指定できます。数やればバラけるというものも有りません。 省略すると1回です。
戻り値
true成功
false失敗

TnbCollection.h1434 行目に定義があります。

◆ Sort() [1/2]

bool Sort ( bool  boIsReverse = false,
bool  boIsBubble = false 
)

[操作] ソート.

IComparatorT::GetDefault() で得られるコンパレータを使用して比較します。

覚え書き
範囲を限定したい場合、 COffsetAdapterT を使用します。
引数
boIsReverse省略すると小さい順にソートします。 trueを指定すると大きい順位ソートします。
boIsBubbletrueをバブルソートアルゴリズムを使います。 通常はクイックソートアルゴリズムです。
戻り値
true成功
false失敗

TnbCollection.h1420 行目に定義があります。

◆ Sort() [2/2]

bool Sort ( const IComparatorT< TYP > &  comparator,
bool  boIsReverse = false,
bool  boIsBubble = false 
)

[操作] ソート.

コンパレータ( IComparatorT のサブクラス)を使用して、比較します。

覚え書き
範囲を限定したい場合、 COffsetAdapterT を使用します。
引数
comparatorコンパレーター
boIsReverse省略すると小さい順にソートします。 trueを指定すると大きい順位ソートします。
boIsBubbletrueをバブルソートアルゴリズムを使います。 通常はクイックソートアルゴリズムです。
戻り値
true成功
false失敗

TnbCollection.h1385 行目に定義があります。

◆ Swap()

virtual void Swap ( INDEX  index1,
INDEX  index2 
)
virtual

[設定] 要素の入れ替え.

引数
index1インデックス1
index2インデックス2
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

CAttributedVectorT< TYP, ATT >, CAttributedVectorT< BYTE, BYTE >, COffsetAdapterT< TYP >, CListT< TYP, ATT >, CListT< TNB::CListQueueT< TYP > >で再実装されています。

TnbCollection.h1155 行目に定義があります。

◆ TrimBottom() [1/2]

size_t TrimBottom ( const TYP &  t)

[処理] 末尾トリム.

覚え書き
保持する情報に対し処理します。
引数
tトリム対象の情報。
戻り値
残った数。

TnbCollection.h1498 行目に定義があります。

◆ TrimBottom() [2/2]

size_t TrimBottom ( const TYP &  t,
const IComparatorT< TYP > &  comparator 
)

[処理] 末尾トリム.

覚え書き
保持する情報に対し処理します。
引数
tトリム対象の情報。
comparatorコンパレータ。
戻り値
残った数。

TnbCollection.h1472 行目に定義があります。

◆ Unlock()

virtual void Unlock ( void  ) const
pure virtualinherited

[排他] アンロック

CBitVector, CBlockLinkVectorT< TYP >, CBlockLinkVectorT< TParam >, CAbstractAdapterT< TYP >, CAbstractAdapterT< BYTE >, CConstAppendAdapterT< TYP >, COffsetAdapterT< TYP >, CConstAdapterT< TYP >, CIndexAdapterT< TYP >, CConstFileMappingT< TYP >, CConstFileMappingT< BYTE >, CConstFileMappingT< short >, CConstResourceData, CDummyCollectionT< TYP >, CDummyCollectionT< BYTE >, CReaderAdapter, CWriterAdapter, CFileMappingT< TYP >, CListT< TYP, ATT >, CListT< TNB::CListQueueT< TYP > >, CMapT< KEY, VAL, INK >::CConstKeysAdapter, CMapT< KEY, VAL, INK >::CConstValuesAdapter, CMapT< KEY, VAL, INK >, CMapT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< TNB::CStrT, CVectorT< BYTE > >, CMapT< CAscii, CAscii, LPCSTR >, CMapT< TNB::CStrT, TNB::CMapT, LPCTSTR >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CMapT< FOURCC, TNB::CStrT >, CMapT< HTREEITEM, CPointerHandleT< IDrawable > >, CMapT< COLORREF, CPointerHandleT< TPointInfo > >, CPointerVectorT< TYP >, CPointerVectorT< CCursorManager >, CPointerVectorT< TNB::CShapeFile::IRecordContent >, CPointerVectorT< TBindWork >, CPointerVectorT< TNB::MFC::CDrawingSubMenu >, CPriorityQueueT< TYP >, CRingQueueT< TYP, ISI, INV >, CRingQueueT< TYP, false, TYP >, CRingQueueT< CVectorT< BYTE >, false, CVectorT< BYTE > >, CRingQueueT< BYTE >, CRingQueueT< TParam >, CRingQueueT< CArrayPtrHandleT< TCHAR > >, CSingleSetT< TYP >, CSingleSetT< TNB::CPacketCommander::CInner::TTask * >, CSharedQueueT< TYP, SIZ >, CSyncSection, CSyncMutex, CSyncSemaphore, CSyncEvent, CSyncCounter, CSyncDummy, CSyncMetered, CSyncWaitableTimer, CVectorT< TYP >, CVectorT< TNB::CPairT< T, T > >, CVectorT< BYTE >, CVectorT< DWORD >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< WORD >, CVectorT< TNB::CVectorT >, CVectorT< TValue >, CVectorT< TNB::CPairT >, CVectorT< CStr >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TCHAR >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< HICON >, CVectorT< TNB::CMailAddress >, CVectorT< CAscii >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< POINT >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TInfo >, CVectorT< TParam >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< SOCKET >, CVectorT< CVectorT< BYTE > >, CVectorT< TYP * >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< CFileInfoArray >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TFuncInfo >, CVectorT< EKind >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< INDEX >, CVectorT< CVaVaVector >, CVectorT< CArVaVector >, CVectorT< CTmlValue >, CVectorT< char >, CVectorT< EAttr >, CVectorT< TParam * >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< UINT >, CVectorT< CDrawersVector >, CVectorT< IDrawable::Ptr >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > > (計105項目)で実装されています。