forked from boostorg/config
Added new config macro: BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
[SVN r18507]
This commit is contained in:
1 parent
d1f3f6f38e
commit
512fdec421
7 files changed
+1297
-1455
No files matched your search
@@ -0,0 +1,33 @@
|
||||
// (C) Copyright Eric Friedman 2002. Permission to copy, use, modify, sell and
|
||||
// distribute this software is granted provided this copyright notice appears
|
||||
// in all copies. This software is provided "as is" without express or implied
|
||||
// warranty, and with no claim as to its suitability for any purpose.
|
||||
|
||||
// MACRO: BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
||||
// TITLE: using declaration function overloads from a typename base
|
||||
// DESCRIPTION: The compiler will not accept a using declaration
|
||||
// that brings a function from a typename used as a base class
|
||||
// into a derived class if functions of the same name
|
||||
// are present in the derived class.
|
||||
|
||||
namespace boost_no_using_declaration_overloads_from_typename_base {
|
||||
|
||||
struct base
|
||||
{
|
||||
static void f() { }
|
||||
};
|
||||
|
||||
template <typename T, typename Base>
|
||||
struct using_overloads_from_typename_base : Base
|
||||
{
|
||||
using Base::f;
|
||||
static T f(const T& t) { return t; }
|
||||
};
|
||||
|
||||
int test()
|
||||
{
|
||||
using_overloads_from_typename_base<int,base>::f();
|
||||
return using_overloads_from_typename_base<int,base>::f(0);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user