1/*
2 * Distributed under the Boost Software License, Version 1.0.
3 * (See accompanying file LICENSE_1_0.txt or copy at
4 * http://www.boost.org/LICENSE_1_0.txt)
5 *
6 * Copyright (c) 2011 Helge Bahmann
7 * Copyright (c) 2013 Tim Blechmann
8 * Copyright (c) 2014 Andrey Semashev
9 */
10/*!
11 * \file atomic/atomic.hpp
12 *
13 * This header contains definition of \c atomic template and \c atomic_flag.
14 */
15
16#ifndef BOOST_ATOMIC_ATOMIC_HPP_INCLUDED_
17#define BOOST_ATOMIC_ATOMIC_HPP_INCLUDED_
18
19#include <boost/atomic/capabilities.hpp>
20#include <boost/atomic/fences.hpp>
21#include <boost/atomic/atomic_flag.hpp>
22#include <boost/atomic/detail/atomic_template.hpp>
23#include <boost/atomic/detail/operations.hpp>
24
25#ifdef BOOST_HAS_PRAGMA_ONCE
26#pragma once
27#endif
28
29namespace boost {
30
31using atomics::atomic;
32
33using atomics::atomic_char;
34using atomics::atomic_uchar;
35using atomics::atomic_schar;
36using atomics::atomic_uint8_t;
37using atomics::atomic_int8_t;
38using atomics::atomic_ushort;
39using atomics::atomic_short;
40using atomics::atomic_uint16_t;
41using atomics::atomic_int16_t;
42using atomics::atomic_uint;
43using atomics::atomic_int;
44using atomics::atomic_uint32_t;
45using atomics::atomic_int32_t;
46using atomics::atomic_ulong;
47using atomics::atomic_long;
48using atomics::atomic_uint64_t;
49using atomics::atomic_int64_t;
50#ifdef BOOST_HAS_LONG_LONG
51using atomics::atomic_ullong;
52using atomics::atomic_llong;
53#endif
54using atomics::atomic_address;
55using atomics::atomic_bool;
56using atomics::atomic_wchar_t;
57#if !defined(BOOST_NO_CXX11_CHAR16_T)
58using atomics::atomic_char16_t;
59#endif
60#if !defined(BOOST_NO_CXX11_CHAR32_T)
61using atomics::atomic_char32_t;
62#endif
63
64using atomics::atomic_int_least8_t;
65using atomics::atomic_uint_least8_t;
66using atomics::atomic_int_least16_t;
67using atomics::atomic_uint_least16_t;
68using atomics::atomic_int_least32_t;
69using atomics::atomic_uint_least32_t;
70using atomics::atomic_int_least64_t;
71using atomics::atomic_uint_least64_t;
72using atomics::atomic_int_fast8_t;
73using atomics::atomic_uint_fast8_t;
74using atomics::atomic_int_fast16_t;
75using atomics::atomic_uint_fast16_t;
76using atomics::atomic_int_fast32_t;
77using atomics::atomic_uint_fast32_t;
78using atomics::atomic_int_fast64_t;
79using atomics::atomic_uint_fast64_t;
80using atomics::atomic_intmax_t;
81using atomics::atomic_uintmax_t;
82
83using atomics::atomic_size_t;
84using atomics::atomic_ptrdiff_t;
85
86#if defined(BOOST_HAS_INTPTR_T)
87using atomics::atomic_intptr_t;
88using atomics::atomic_uintptr_t;
89#endif
90
91} // namespace boost
92
93#endif // BOOST_ATOMIC_ATOMIC_HPP_INCLUDED_
94

source code of boost/boost/atomic/atomic.hpp