diff options
Diffstat (limited to 'boost/variant/detail/generic_result_type.hpp')
-rw-r--r-- | boost/variant/detail/generic_result_type.hpp | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/boost/variant/detail/generic_result_type.hpp b/boost/variant/detail/generic_result_type.hpp deleted file mode 100644 index 8b1289cacc..0000000000 --- a/boost/variant/detail/generic_result_type.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//----------------------------------------------------------------------------- -// 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 |