diff --git a/include/boost/core/noncopyable.hpp b/include/boost/core/noncopyable.hpp index ab30505..4a4f8ba 100644 --- a/include/boost/core/noncopyable.hpp +++ b/include/boost/core/noncopyable.hpp @@ -23,6 +23,14 @@ namespace noncopyable_ // protection from unintended ADL #ifndef BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED #define BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED +// noncopyable derives from base_token to enable Type Traits to detect +// whether a type derives from noncopyable without needing the definition +// of noncopyable itself. +// +// The definition of base_token is macro-guarded so that Type Trais can +// define it locally without including this header, to avoid a dependency +// on Core. + struct base_token {}; #endif // #ifndef BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED