2007-03-06 21:37:26 +00:00
|
|
|
/*=============================================================================
|
2011-09-16 05:30:23 +00:00
|
|
|
Copyright (c) 2001-2011 Joel de Guzman
|
2018-04-27 12:37:37 +09:00
|
|
|
Copyright (c) 2018 Kohei Takahashi
|
2007-03-06 21:37:26 +00:00
|
|
|
|
2008-12-06 23:35:05 +00:00
|
|
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
2007-03-06 21:37:26 +00:00
|
|
|
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
==============================================================================*/
|
|
|
|
#if !defined(BOOST_FUSION_SUPPORT_UNUSED_20070305_1038)
|
|
|
|
#define BOOST_FUSION_SUPPORT_UNUSED_20070305_1038
|
|
|
|
|
2014-01-09 17:58:06 -08:00
|
|
|
#include <boost/fusion/support/config.hpp>
|
2011-08-15 10:53:13 +00:00
|
|
|
#include <iosfwd>
|
|
|
|
|
2007-03-06 21:37:26 +00:00
|
|
|
#if defined(BOOST_MSVC)
|
|
|
|
# pragma warning(push)
|
|
|
|
# pragma warning(disable: 4522) // multiple assignment operators specified warning
|
|
|
|
#endif
|
|
|
|
|
2009-02-17 11:18:20 +00:00
|
|
|
#define BOOST_FUSION_UNUSED_HAS_IO
|
|
|
|
|
2009-04-20 14:57:57 +00:00
|
|
|
namespace boost { namespace fusion
|
2008-12-06 23:35:05 +00:00
|
|
|
{
|
2007-03-06 21:37:26 +00:00
|
|
|
struct unused_type
|
|
|
|
{
|
2015-03-03 02:21:02 +09:00
|
|
|
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
2018-04-27 12:37:37 +09:00
|
|
|
BOOST_DEFAULTED_FUNCTION(
|
|
|
|
unused_type() BOOST_NOEXCEPT,
|
2007-03-06 21:37:26 +00:00
|
|
|
{
|
2018-04-27 12:37:37 +09:00
|
|
|
})
|
2007-03-06 21:37:26 +00:00
|
|
|
|
2015-03-03 02:21:02 +09:00
|
|
|
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
2018-04-27 12:37:37 +09:00
|
|
|
BOOST_DEFAULTED_FUNCTION(
|
|
|
|
unused_type(unused_type const&) BOOST_NOEXCEPT,
|
2007-03-06 21:37:26 +00:00
|
|
|
{
|
2018-04-27 12:37:37 +09:00
|
|
|
})
|
2007-03-06 21:37:26 +00:00
|
|
|
|
|
|
|
template <typename T>
|
2018-04-27 12:37:37 +09:00
|
|
|
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
|
|
|
unused_type(T const&) BOOST_NOEXCEPT
|
2007-03-06 21:37:26 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2015-08-03 00:03:40 +09:00
|
|
|
BOOST_FUSION_CONSTEXPR_THIS BOOST_FUSION_GPU_ENABLED
|
2007-03-06 21:37:26 +00:00
|
|
|
unused_type const&
|
2015-03-03 02:21:02 +09:00
|
|
|
operator=(unused_type const&) const BOOST_NOEXCEPT
|
2007-03-06 21:37:26 +00:00
|
|
|
{
|
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2015-08-02 21:58:20 +09:00
|
|
|
BOOST_CONSTEXPR_OR_CONST unused_type unused = unused_type();
|
2009-03-09 01:17:20 +00:00
|
|
|
|
2009-04-20 14:57:57 +00:00
|
|
|
namespace detail
|
|
|
|
{
|
|
|
|
struct unused_only
|
|
|
|
{
|
2015-03-03 02:21:02 +09:00
|
|
|
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
|
|
|
unused_only(unused_type const&) BOOST_NOEXCEPT {}
|
2009-04-20 14:57:57 +00:00
|
|
|
};
|
|
|
|
}
|
2008-12-06 23:35:05 +00:00
|
|
|
|
2015-03-03 02:21:02 +09:00
|
|
|
BOOST_CONSTEXPR
|
|
|
|
inline std::ostream& operator<<(std::ostream& out, detail::unused_only const&) BOOST_NOEXCEPT
|
2008-12-06 23:35:05 +00:00
|
|
|
{
|
|
|
|
return out;
|
|
|
|
}
|
|
|
|
|
2015-03-03 02:21:02 +09:00
|
|
|
BOOST_CONSTEXPR
|
|
|
|
inline std::istream& operator>>(std::istream& in, unused_type&) BOOST_NOEXCEPT
|
2008-12-06 23:35:05 +00:00
|
|
|
{
|
2009-04-20 14:57:57 +00:00
|
|
|
return in;
|
2008-12-06 23:35:05 +00:00
|
|
|
}
|
2007-03-06 21:37:26 +00:00
|
|
|
}}
|
|
|
|
|
|
|
|
#if defined(BOOST_MSVC)
|
|
|
|
# pragma warning(pop)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|