This is Unofficial EPICS BASE Doxygen Site
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
spinlock.hpp
Go to the documentation of this file.
1
#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
2
#define BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
3
4
// MS compatible compilers support #pragma once
5
6
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
7
# pragma once
8
#endif
9
10
//
11
// boost/detail/spinlock.hpp
12
//
13
// Copyright (c) 2008 Peter Dimov
14
//
15
// Distributed under the Boost Software License, Version 1.0.
16
// See accompanying file LICENSE_1_0.txt or copy at
17
// http://www.boost.org/LICENSE_1_0.txt)
18
//
19
// struct spinlock
20
// {
21
// void lock();
22
// bool try_lock();
23
// void unlock();
24
//
25
// class scoped_lock;
26
// };
27
//
28
// #define BOOST_DETAIL_SPINLOCK_INIT <unspecified>
29
//
30
31
#include <
boost/config.hpp
>
32
#include <
boost/smart_ptr/detail/sp_has_sync.hpp
>
33
34
#if defined( BOOST_SP_USE_PTHREADS )
35
# include <
boost/smart_ptr/detail/spinlock_pt.hpp
>
36
37
#elif defined(__GNUC__) && defined( __arm__ ) && !defined( __thumb__ )
38
# include <boost/smart_ptr/detail/spinlock_gcc_arm.hpp>
39
40
#elif defined( BOOST_SP_HAS_SYNC )
41
# include <
boost/smart_ptr/detail/spinlock_sync.hpp
>
42
43
#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
44
# include <boost/smart_ptr/detail/spinlock_w32.hpp>
45
46
#elif defined(BOOST_HAS_PTHREADS)
47
# include <
boost/smart_ptr/detail/spinlock_pt.hpp
>
48
49
#elif !defined(BOOST_HAS_THREADS)
50
# include <boost/smart_ptr/detail/spinlock_nt.hpp>
51
52
#else
53
# error Unrecognized threading platform
54
#endif
55
56
#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
config.hpp
spinlock_sync.hpp
sp_has_sync.hpp
spinlock_pt.hpp
modules
libcom
vxWorks
boost
smart_ptr
detail
spinlock.hpp
Generated by
1.8.11