File indexing completed on 2025-12-15 10:10:39
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED
0013 #define BOOST_MEMORY_ORDER_HPP_INCLUDED
0014
0015 #include <boost/config.hpp>
0016
0017 #if defined(BOOST_HAS_PRAGMA_ONCE)
0018 # pragma once
0019 #endif
0020
0021 namespace boost
0022 {
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045 #if !defined(BOOST_NO_CXX11_SCOPED_ENUMS)
0046
0047 enum class memory_order : unsigned int
0048 {
0049 relaxed = 0,
0050 consume = 1,
0051 acquire = 2,
0052 release = 4,
0053 acq_rel = 6,
0054 seq_cst = 14
0055 };
0056
0057 BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST memory_order memory_order_relaxed = memory_order::relaxed;
0058 BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST memory_order memory_order_consume = memory_order::consume;
0059 BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST memory_order memory_order_acquire = memory_order::acquire;
0060 BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST memory_order memory_order_release = memory_order::release;
0061 BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST memory_order memory_order_acq_rel = memory_order::acq_rel;
0062 BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST memory_order memory_order_seq_cst = memory_order::seq_cst;
0063
0064 #undef BOOST_MEMORY_ORDER_INLINE_VARIABLE
0065
0066 #else
0067
0068 enum memory_order
0069 {
0070 memory_order_relaxed = 0,
0071 memory_order_consume = 1,
0072 memory_order_acquire = 2,
0073 memory_order_release = 4,
0074 memory_order_acq_rel = 6,
0075 memory_order_seq_cst = 14
0076 };
0077
0078 #endif
0079
0080 }
0081
0082 #endif