mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-20 02:52:00 -05:00
51 lines
975 B
Plaintext
51 lines
975 B
Plaintext
|
// Copyright (C) Joaquin M Lopez Munoz 2004.
|
||
|
// Use, modification and distribution are subject to the
|
||
|
// Boost Software License, Version 1.0. (See accompanying file
|
||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||
|
|
||
|
// See http://www.boost.org/libs/config for most recent version.
|
||
|
|
||
|
// MACRO: BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
|
||
|
// TITLE: pointers to members as template arguments
|
||
|
// DESCRIPTION: Non-type template parameters which take pointers
|
||
|
// to members, fail to work correctly.
|
||
|
|
||
|
|
||
|
namespace boost_no_pointer_to_member_template_parameters{
|
||
|
|
||
|
struct pair
|
||
|
{
|
||
|
int x, y;
|
||
|
|
||
|
pair(int x_,int y_)
|
||
|
: x(x_), y(y_)
|
||
|
{}
|
||
|
};
|
||
|
|
||
|
template<int pair::* PtrToPairMember>
|
||
|
struct foo
|
||
|
{
|
||
|
int bar(pair& p)
|
||
|
{
|
||
|
return p.*PtrToPairMember;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
int test()
|
||
|
{
|
||
|
pair p(0,1);
|
||
|
foo<&pair::x> fx;
|
||
|
foo<&pair::y> fy;
|
||
|
|
||
|
if((fx.bar(p) != 0) || (fy.bar(p) != 1))
|
||
|
return 1;
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|