mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-20 02:52:00 -05:00
59 lines
1.3 KiB
Plaintext
59 lines
1.3 KiB
Plaintext
|
// (C) Copyright John Maddock 2001.
|
||
|
// 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_MSVC6_MEMBER_TEMPLATES
|
||
|
// TITLE: microsoft member templates
|
||
|
// DESCRIPTION: Microsoft Visual C++ 6.0 has enough member
|
||
|
// template idiosyncrasies (being polite) that
|
||
|
// BOOST_NO_MEMBER_TEMPLATES is defined for this compiler.
|
||
|
// BOOST_MSVC6_MEMBER_TEMPLATES is defined to allow
|
||
|
// compiler specific workarounds.
|
||
|
#ifndef BOOST_NESTED_TEMPLATE
|
||
|
#define BOOST_NESTED_TEMPLATE template
|
||
|
#endif
|
||
|
|
||
|
namespace boost_msvc6_member_templates{
|
||
|
|
||
|
template <class T>
|
||
|
struct foo
|
||
|
{
|
||
|
template <class U>
|
||
|
struct nested
|
||
|
{
|
||
|
typedef foo<U> other;
|
||
|
};
|
||
|
template <class U>
|
||
|
void mfoo(const U&)
|
||
|
{
|
||
|
}
|
||
|
};
|
||
|
|
||
|
template <class T>
|
||
|
void vc6_mem_test(T i)
|
||
|
{
|
||
|
foo<double> f1;
|
||
|
typedef foo<T> ifoo;
|
||
|
f1.mfoo(i);
|
||
|
typedef typename ifoo::BOOST_NESTED_TEMPLATE nested<double> bound_t;
|
||
|
typedef typename bound_t::other other;
|
||
|
other o;
|
||
|
(void)o;
|
||
|
}
|
||
|
|
||
|
int test()
|
||
|
{
|
||
|
int i = 0;
|
||
|
vc6_mem_test(i);
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|