sick_visionary_cpp_shared
3pp
boost
smart_ptr
detail
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_STD_ATOMIC )
35
# if !defined( __clang__ )
36
# include <
boost/smart_ptr/detail/spinlock_std_atomic.hpp
>
37
# else
38
// Clang (at least up to 3.4) can't compile spinlock_pool when
39
// using std::atomic, so substitute the __sync implementation instead.
40
# include <
boost/smart_ptr/detail/spinlock_sync.hpp
>
41
# endif
42
43
#elif defined( BOOST_SP_USE_PTHREADS )
44
# include <
boost/smart_ptr/detail/spinlock_pt.hpp
>
45
46
#elif defined(__GNUC__) && defined( __arm__ ) && !defined( __thumb__ )
47
# include <
boost/smart_ptr/detail/spinlock_gcc_arm.hpp
>
48
49
#elif defined( BOOST_SP_HAS_SYNC )
50
# include <
boost/smart_ptr/detail/spinlock_sync.hpp
>
51
52
#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
53
# include <
boost/smart_ptr/detail/spinlock_w32.hpp
>
54
55
#elif defined(BOOST_HAS_PTHREADS)
56
# include <
boost/smart_ptr/detail/spinlock_pt.hpp
>
57
58
#elif !defined(BOOST_HAS_THREADS)
59
# include <
boost/smart_ptr/detail/spinlock_nt.hpp
>
60
61
#else
62
# error Unrecognized threading platform
63
#endif
64
65
#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
spinlock_nt.hpp
config.hpp
spinlock_pt.hpp
spinlock_gcc_arm.hpp
spinlock_sync.hpp
sp_has_sync.hpp
spinlock_w32.hpp
spinlock_std_atomic.hpp
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:48:40