Core Foundation   >   CFBagCreateMutable(_:_:_:)
関数
CFBagCreateMutable(_:_:_:)
新しい空の変更可能なバッグを作成します。
宣言
パラメータ
allocator | 新しいバッグにメモリを割り当てるために使用するアロケータオブジェクトとその値の格納場所。現在のデフォルトアロケータを使用するには、NULL または kCFAllocatorDefault を渡して下さい。 |
capacity | 新しいバッグに入れられる値の最大数。バッグは空になり、この数の値まで成長できます(また、もっと少なくても構いません)。このパラメータが 0 の場合、バッグの最大容量は制限されません。この値は負であってはなりません。 |
callBacks | バッグ内の値の保持、解放、記述、および比較に使用する呼び出し関数で初期化された CFBagCallBacks 構造体へのポインター。呼び出し関数構造体の内容のコピーが作成されるので、スタック上の構造体へのポインタが渡されるか、複数のコレクション作成に再利用できます。このパラメータは、すべてのフィールドが NULL であるバージョン 0 の有効な構造体が渡されたかのように扱われる NULL でもかまいません。 いずれかのフィールドが正しい型の関数への有効なポインタでないか、またはこのパラメータが CFBagCallBacks 構造体への有効なポインタでない場合、その動作は未定義です。コレクションに入れられた値が呼び出し関数の 1 つで理解できない値である場合、その呼び出し関数が使用されるときの動作は未定義です。 コレクションに CFType オブジェクトのみが含まれている場合は、このパラメータとして kCFTypeBagCallBacks を渡して、デフォルトの呼び出し関数を使用します。 |
戻り値
新しい変更可能なバッグ、またはオブジェクトの作成に問題があった場合は NULL。所有権は 作成規則 に従います。
議論
この関数は、CFBagAddValue(_:_:) 関数を使用して値を追加できる新しい空の変更可能なバッグを作成します。capacity パラメータには、CFBag オブジェクトに含めることができる値の最大数を指定します。値が 0 の場合、追加可能な値の数に制限はありません (使用可能なメモリーなどの制約を除いて)。