Chris@16: Chris@16: // Copyright (C) 2009-2012 Lorenzo Caminiti Chris@16: // Distributed under the Boost Software License, Version 1.0 Chris@16: // (see accompanying file LICENSE_1_0.txt or a copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: // Home at http://www.boost.org/libs/local_function Chris@16: Chris@16: #ifndef BOOST_LOCAL_FUNCTION_AUX_NOBIND_HPP_ Chris@16: #define BOOST_LOCAL_FUNCTION_AUX_NOBIND_HPP_ Chris@16: Chris@16: #include Chris@16: Chris@16: // NOTE: The current implementation needs no-bind placeholders only when Chris@16: // local types cannot be passed as template parameters. Chris@16: #if !BOOST_LOCAL_FUNCTION_CONFIG_LOCALS_AS_TPARAMS Chris@16: Chris@16: namespace boost { namespace local_function { namespace aux { Chris@16: Chris@16: typedef int nobind_t; // Tag no-bind type. Chris@16: Chris@16: static nobind_t nobind; // Global variable so all no-binds can reference it. Chris@16: Chris@16: // NOTE: Used only to get rid of unused static variable `nobind` (this function Chris@16: // is never actually called so it does not need to be defined). Chris@16: void no_unused_nobind_warning_(nobind_t* ptr = &nobind); Chris@16: Chris@16: } } } // namespace Chris@16: Chris@16: #endif // locals as tparams Chris@16: Chris@16: #endif // #include guard Chris@16: