diff options
Diffstat (limited to 'boost/local_function/aux_/nobind.hpp')
-rw-r--r-- | boost/local_function/aux_/nobind.hpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/boost/local_function/aux_/nobind.hpp b/boost/local_function/aux_/nobind.hpp new file mode 100644 index 0000000000..73afc6fd58 --- /dev/null +++ b/boost/local_function/aux_/nobind.hpp @@ -0,0 +1,32 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#ifndef BOOST_LOCAL_FUNCTION_AUX_NOBIND_HPP_ +#define BOOST_LOCAL_FUNCTION_AUX_NOBIND_HPP_ + +#include <boost/local_function/config.hpp> + +// NOTE: The current implementation needs no-bind placeholders only when +// local types cannot be passed as template parameters. +#if !BOOST_LOCAL_FUNCTION_CONFIG_LOCALS_AS_TPARAMS + +namespace boost { namespace local_function { namespace aux { + +typedef int nobind_t; // Tag no-bind type. + +static nobind_t nobind; // Global variable so all no-binds can reference it. + +// NOTE: Used only to get rid of unused static variable `nobind` (this function +// is never actually called so it does not need to be defined). +void no_unused_nobind_warning_(nobind_t* ptr = &nobind); + +} } } // namespace + +#endif // locals as tparams + +#endif // #include guard + |