File indexing completed on 2025-01-18 09:28:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef BOOST_ASIO_DETAIL_NON_CONST_LVALUE_HPP
0012 #define BOOST_ASIO_DETAIL_NON_CONST_LVALUE_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/type_traits.hpp>
0020
0021 #include <boost/asio/detail/push_options.hpp>
0022
0023 namespace boost {
0024 namespace asio {
0025 namespace detail {
0026
0027 template <typename T>
0028 struct non_const_lvalue
0029 {
0030 explicit non_const_lvalue(T& t)
0031 : value(static_cast<conditional_t<
0032 is_same<T, decay_t<T>>::value, decay_t<T>&, T&&>>(t))
0033 {
0034 }
0035
0036 conditional_t<is_same<T, decay_t<T>>::value, decay_t<T>&, decay_t<T>> value;
0037 };
0038
0039 }
0040 }
0041 }
0042
0043 #include <boost/asio/detail/pop_options.hpp>
0044
0045 #endif