forked from boostorg/concept_check
Added BOOST_CONCEPT_USAGE for defining usage requirements: Using this
macro is better than simply defining a destructor because usage patterns will be tested whenever associated types are accessed. [SVN r35198]
This commit is contained in:
Executable
+22
@@ -0,0 +1,22 @@
|
||||
// Copyright David Abrahams 2006. Distributed under 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)
|
||||
|
||||
#include <boost/concept/usage.hpp>
|
||||
|
||||
template <class T>
|
||||
struct StringInitializable
|
||||
{
|
||||
typedef int associated;
|
||||
BOOST_CONCEPT_USAGE(StringInitializable)
|
||||
{
|
||||
T x = "foo";
|
||||
}
|
||||
};
|
||||
|
||||
// Test that accessing an associated type will actually exercise usage
|
||||
// requirements
|
||||
typedef StringInitializable<int>::associated tee;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user