]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | #ifndef BOOST_THREAD_ONCE_HPP |
2 | #define BOOST_THREAD_ONCE_HPP | |
3 | ||
4 | // once.hpp | |
5 | // | |
6 | // (C) Copyright 2006-7 Anthony Williams | |
7 | // | |
8 | // Distributed under the Boost Software License, Version 1.0. (See | |
9 | // accompanying file LICENSE_1_0.txt or copy at | |
10 | // http://www.boost.org/LICENSE_1_0.txt) | |
11 | ||
12 | #include <boost/thread/detail/config.hpp> | |
13 | #include <boost/thread/detail/platform.hpp> | |
14 | #if defined(BOOST_THREAD_PLATFORM_WIN32) | |
15 | #include <boost/thread/win32/once.hpp> | |
16 | #elif defined(BOOST_THREAD_PLATFORM_PTHREAD) | |
17 | #if defined BOOST_THREAD_ONCE_FAST_EPOCH | |
18 | #include <boost/thread/pthread/once.hpp> | |
19 | #elif defined BOOST_THREAD_ONCE_ATOMIC | |
20 | #include <boost/thread/pthread/once_atomic.hpp> | |
21 | #else | |
22 | #error "Once Not Implemented" | |
23 | #endif | |
24 | #else | |
25 | #error "Boost threads unavailable on this platform" | |
26 | #endif | |
27 | ||
28 | #include <boost/config/abi_prefix.hpp> | |
29 | ||
30 | namespace boost | |
31 | { | |
32 | // template<class Callable, class ...Args> void | |
33 | // call_once(once_flag& flag, Callable&& func, Args&&... args); | |
34 | template<typename Function> | |
35 | inline void call_once(Function func,once_flag& flag) | |
36 | //inline void call_once(void (*func)(),once_flag& flag) | |
37 | { | |
38 | call_once(flag,func); | |
39 | } | |
40 | } | |
41 | ||
42 | #include <boost/config/abi_suffix.hpp> | |
43 | ||
44 | #endif |