std::uses_allocator<std::function>
From cppreference.com
< cpp | utility | functional | function
| ヘッダ <functional> で定義 |
||
| template< class R, class... ArgTypes, class Alloc > struct uses_allocator<std::function<R(ArgTypes...)>, Alloc> : std::true_type { }; |
(C++11以降) (C++17まで) |
|
このstd::uses_allocatorの特殊化は、他のライブラリコンポーネントに対して、ネストされたallocator_typeを持たないにもかかわらず、すべてのstd::function型のオブジェクトがuses-allocator constructionをサポートしていることを通知します。
目次 |
[編集] 注記
std::functionのアロケータサポートは、仕様が悪く、実装が一貫していませんでした。一部の実装ではuses-allocator constructionを全くサポートしていません。一部の実装では必要なコンストラクタオーバーロードを提供していますが、供給されたアロケータ引数を無視します。また、一部の実装ではオーバーロードを提供し、供給されたアロケータを構築に使用しますが、std::functionが再代入される際には使用しません。その結果、C++17でアロケータサポートは削除されました。
std::integral_constant から継承
メンバ定数
| value [static] |
true (公開静的メンバ定数) |
メンバ関数
| operator bool |
オブジェクトを bool に変換し、value を返します。 (public member function) |
| operator() (C++14) |
value を返します。 (public member function) |
メンバ型
| 型 | 定義 |
value_type
|
bool |
type
|
std::integral_constant<bool, value> |
[編集] 関連項目
| (C++11) |
指定された型が uses-allocator 構築をサポートしているかどうかをチェックします (クラステンプレート) |