// 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 // 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