]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | |
2 | // Copyright (C) 2009-2012 Lorenzo Caminiti | |
3 | // Distributed under the Boost Software License, Version 1.0 | |
4 | // (see accompanying file LICENSE_1_0.txt or a copy at | |
5 | // http://www.boost.org/LICENSE_1_0.txt) | |
6 | // Home at http://www.boost.org/libs/local_function | |
7 | ||
8 | #ifndef BOOST_LOCAL_FUNCTION_AUX_NOBIND_HPP_ | |
9 | #define BOOST_LOCAL_FUNCTION_AUX_NOBIND_HPP_ | |
10 | ||
11 | #include <boost/local_function/config.hpp> | |
12 | ||
13 | // NOTE: The current implementation needs no-bind placeholders only when | |
14 | // local types cannot be passed as template parameters. | |
15 | #if !BOOST_LOCAL_FUNCTION_CONFIG_LOCALS_AS_TPARAMS | |
16 | ||
17 | namespace boost { namespace local_function { namespace aux { | |
18 | ||
19 | typedef int nobind_t; // Tag no-bind type. | |
20 | ||
21 | static nobind_t nobind; // Global variable so all no-binds can reference it. | |
22 | ||
23 | // NOTE: Used only to get rid of unused static variable `nobind` (this function | |
24 | // is never actually called so it does not need to be defined). | |
25 | void no_unused_nobind_warning_(nobind_t* ptr = &nobind); | |
26 | ||
27 | } } } // namespace | |
28 | ||
29 | #endif // locals as tparams | |
30 | ||
31 | #endif // #include guard | |
32 |