📄 generic_result_type.hpp
字号:
//-----------------------------------------------------------------------------// boost variant/detail/generic_result_type.hpp header file// See http://www.boost.org for updates, documentation, and revision history.//-----------------------------------------------------------------------------//// Copyright (c) 2003// Eric Friedman//// Distributed under the Boost Software License, Version 1.0. (See// accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt)#ifndef BOOST_VARIANT_DETAIL_GENERIC_RESULT_TYPE_HPP#define BOOST_VARIANT_DETAIL_GENERIC_RESULT_TYPE_HPP#include "boost/config.hpp"//////////////////////////////////////////////////////////////////////////// (workaround) macro BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE//// On compilers with BOOST_NO_VOID_RETURNS, this macro provides a route// to a single syntax for dealing with template functions that may (but// not necessarily) return nothing (i.e. void).//// BOOST_VARIANT_AUX_RETURN_VOID provided for compilers w/ (erroneous?)// warnings about non-void functions not returning a value.//#if !defined(BOOST_NO_VOID_RETURNS)#define BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(T) \ T \ /**/#define BOOST_VARIANT_AUX_RETURN_VOID \ /**/#define BOOST_VARIANT_AUX_RETURN_VOID_TYPE \ void \ /**/#else // defined(BOOST_NO_VOID_RETURNS)namespace boost {namespace detail { namespace variant {struct fake_return_void{ fake_return_void() { } template <typename T> fake_return_void(const T&) { }};template <typename T>struct no_void_returns_helper{ typedef T type;};template <>struct no_void_returns_helper<void>{ typedef fake_return_void type;};}} // namespace detail::variant} // namespace boost#define BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(T) \ BOOST_DEDUCED_TYPENAME \ ::boost::detail::variant::no_void_returns_helper< T >::type \ /**/#define BOOST_VARIANT_AUX_RETURN_VOID \ return ::boost::detail::variant::fake_return_void() \ /**/#define BOOST_VARIANT_AUX_RETURN_VOID_TYPE \ ::boost::detail::variant::fake_return_void#endif // BOOST_NO_VOID_RETURNS workaround#endif // BOOST_VARIANT_DETAIL_GENERIC_RESULT_TYPE_HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -