Warning, file /include/boost/asio/signal_set_base.hpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef BOOST_ASIO_SIGNAL_SET_BASE_HPP
0012 #define BOOST_ASIO_SIGNAL_SET_BASE_HPP
0013
0014 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
0015 # pragma once
0016 #endif
0017
0018 #include <boost/asio/detail/config.hpp>
0019 #include <boost/asio/detail/socket_types.hpp>
0020
0021 #include <boost/asio/detail/push_options.hpp>
0022
0023 namespace boost {
0024 namespace asio {
0025
0026
0027
0028 class signal_set_base
0029 {
0030 public:
0031 # if defined(GENERATING_DOCUMENTATION)
0032
0033
0034 enum flags
0035 {
0036
0037 none = 0,
0038
0039
0040
0041
0042
0043 restart = implementation_defined,
0044
0045
0046
0047 no_child_stop = implementation_defined,
0048
0049
0050 no_child_wait = implementation_defined,
0051
0052
0053
0054
0055 dont_care = -1
0056 };
0057
0058
0059 typedef flags flags_t;
0060
0061 #else
0062
0063 enum class flags : int
0064 {
0065 none = 0,
0066 restart = BOOST_ASIO_OS_DEF(SA_RESTART),
0067 no_child_stop = BOOST_ASIO_OS_DEF(SA_NOCLDSTOP),
0068 no_child_wait = BOOST_ASIO_OS_DEF(SA_NOCLDWAIT),
0069 dont_care = -1
0070 };
0071
0072 typedef flags flags_t;
0073
0074 #endif
0075
0076 protected:
0077
0078 ~signal_set_base()
0079 {
0080 }
0081 };
0082
0083
0084
0085
0086
0087 inline constexpr bool operator!(signal_set_base::flags_t x)
0088 {
0089 return static_cast<int>(x) == 0;
0090 }
0091
0092
0093
0094
0095
0096 inline constexpr signal_set_base::flags_t operator&(
0097 signal_set_base::flags_t x, signal_set_base::flags_t y)
0098 {
0099 return static_cast<signal_set_base::flags_t>(
0100 static_cast<int>(x) & static_cast<int>(y));
0101 }
0102
0103
0104
0105
0106
0107 inline constexpr signal_set_base::flags_t operator|(
0108 signal_set_base::flags_t x, signal_set_base::flags_t y)
0109 {
0110 return static_cast<signal_set_base::flags_t>(
0111 static_cast<int>(x) | static_cast<int>(y));
0112 }
0113
0114
0115
0116
0117
0118 inline constexpr signal_set_base::flags_t operator^(
0119 signal_set_base::flags_t x, signal_set_base::flags_t y)
0120 {
0121 return static_cast<signal_set_base::flags_t>(
0122 static_cast<int>(x) ^ static_cast<int>(y));
0123 }
0124
0125
0126
0127
0128
0129 inline constexpr signal_set_base::flags_t operator~(
0130 signal_set_base::flags_t x)
0131 {
0132 return static_cast<signal_set_base::flags_t>(~static_cast<int>(x));
0133 }
0134
0135
0136
0137
0138
0139 inline signal_set_base::flags_t& operator&=(
0140 signal_set_base::flags_t& x, signal_set_base::flags_t y)
0141 {
0142 x = x & y;
0143 return x;
0144 }
0145
0146
0147
0148
0149
0150 inline signal_set_base::flags_t& operator|=(
0151 signal_set_base::flags_t& x, signal_set_base::flags_t y)
0152 {
0153 x = x | y;
0154 return x;
0155 }
0156
0157
0158
0159
0160
0161 inline signal_set_base::flags_t& operator^=(
0162 signal_set_base::flags_t& x, signal_set_base::flags_t y)
0163 {
0164 x = x ^ y;
0165 return x;
0166 }
0167
0168 }
0169 }
0170
0171 #include <boost/asio/detail/pop_options.hpp>
0172
0173 #endif