File indexing completed on 2025-01-30 09:39:57
0001
0002
0003
0004
0005
0006
0007
0008 #if !defined(BOOST_FUSION_SUPPORT_UNUSED_20070305_1038)
0009 #define BOOST_FUSION_SUPPORT_UNUSED_20070305_1038
0010
0011 #include <boost/fusion/support/config.hpp>
0012 #include <iosfwd>
0013
0014 #if defined(BOOST_MSVC)
0015 # pragma warning(push)
0016 # pragma warning(disable: 4522)
0017 #endif
0018
0019 #define BOOST_FUSION_UNUSED_HAS_IO
0020
0021 namespace boost { namespace fusion
0022 {
0023 struct unused_type
0024 {
0025 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0026 BOOST_DEFAULTED_FUNCTION(
0027 unused_type() BOOST_FUSION_NOEXCEPT_ON_DEFAULTED,
0028 {
0029 })
0030
0031 template <typename T>
0032 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0033 unused_type(T const&) BOOST_NOEXCEPT
0034 {
0035 }
0036 };
0037
0038 BOOST_CONSTEXPR_OR_CONST unused_type unused = unused_type();
0039
0040 namespace detail
0041 {
0042 struct unused_only
0043 {
0044 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0045 unused_only(unused_type const&) BOOST_NOEXCEPT {}
0046 };
0047 }
0048
0049 BOOST_CONSTEXPR
0050 inline std::ostream& operator<<(std::ostream& out, detail::unused_only const&) BOOST_NOEXCEPT
0051 {
0052 return out;
0053 }
0054
0055 BOOST_CONSTEXPR
0056 inline std::istream& operator>>(std::istream& in, unused_type&) BOOST_NOEXCEPT
0057 {
0058 return in;
0059 }
0060 }}
0061
0062 #if defined(BOOST_MSVC)
0063 # pragma warning(pop)
0064 #endif
0065
0066 #endif