名前空間
変種
操作

std::uses_allocator<std::function>

提供: cppreference.com
< cpp‎ | utility‎ | functional‎ | function
 
 
 
関数オブジェクト
関数ラッパー
(C++11)
(C++11)
関数の部分適用
(C++20)
(C++11)
関数呼び出し
(C++17)
恒等関数オブジェクト
(C++20)
参照ラッパー
(C++11)(C++11)
演算子ラッパー
否定子
(C++17)
検索子
制約付き比較子
古いバインダとアダプタ
(C++17未満)
(C++17未満)
(C++17未満)
(C++17未満)
(C++17未満)(C++17未満)(C++17未満)(C++17未満)
(C++20未満)
(C++20未満)
(C++17未満)(C++17未満)
(C++17未満)(C++17未満)

(C++17未満)
(C++17未満)(C++17未満)(C++17未満)(C++17未満)
(C++20未満)
(C++20未満)
 
 
ヘッダ <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 のこの特殊化は、 std::function がネストされた allocator_type を持っていなくてもアロケータ使用構築をサポートしていることを、他のライブラリコンポーネントに知らせます。

目次

[編集] ノート

std::function のアロケータのサポートは、貧弱に規定され、一貫性なく実装されていました。 処理系によってはアロケータ使用構築をまったくサポートせず、処理系によっては必要なコンストラクタのオーバーロードは提供しているけれども指定されたアロケータ引数は無視され、処理系によってはオーバーロードが提供され構築時には指定されたアロケータが使用されるけれども代入時には使用されません。 その結果、アロケータのサポートは C++17 から削除されました。

std::integral_constant から継承

メンバ定数

value
[静的]
true
(パブリック静的メンバ定数)

メンバ関数

operator bool
オブジェクトを bool に変換します。 value を返します
(パブリックメンバ関数)
operator()
(C++14)
value を返します
(パブリックメンバ関数)

メンバ型

定義
value_type bool
type std::integral_constant<bool, value>

[編集] 関連項目

指定された型がアロケータ使用構築をサポートしているかどうか調べます
(クラステンプレート) [edit]