is_member_object_pointer クラス
型がメンバー オブジェクトへのポインターであるかどうかをテストします。
構文
template <class Ty>
struct is_member_object_pointer;
パラメーター
Ty
照会する型。
解説
型 Ty がメンバー オブジェクトへのポインターまたは cv-qualified
ポインターである場合、型述語のインスタンスは true を保持します。それ以外の場合は、false を保持します。 Ty がメンバー関数へのポインターである場合は、is_member_object_pointer
が false を保持することに注意してください。
例
// std__type_traits__is_member_object_pointer.cpp
// compile with: /EHsc
#include <type_traits>
#include <iostream>
struct trivial
{
int val;
};
struct functional
{
int f();
};
int main()
{
std::cout << "is_member_object_pointer<trivial *> == "
<< std::boolalpha
<< std::is_member_object_pointer<trivial *>::value
<< std::endl;
std::cout << "is_member_object_pointer<int trivial::*> == "
<< std::boolalpha
<< std::is_member_object_pointer<int trivial::*>::value
<< std::endl;
std::cout << "is_member_object_pointer<int (functional::*)()> == "
<< std::boolalpha
<< std::is_member_object_pointer<int (functional::*)()>::value
<< std::endl;
return (0);
}
is_member_object_pointer<trivial *> == false
is_member_object_pointer<int trivial::*> == true
is_member_object_pointer<int (functional::*)()> == false
要件
ヘッダー: <type_traits>
名前空間: std