| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 | //-----------------------------------------------------------------------------// boost blank.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_BLANK_HPP#define BOOST_BLANK_HPP#include "boost/blank_fwd.hpp"#if !defined(BOOST_NO_IOSTREAM)#include <iosfwd> // for std::basic_ostream forward declare#include "boost/detail/templated_streams.hpp"#endif // BOOST_NO_IOSTREAM#include "boost/type_traits/integral_constant.hpp"#include "boost/type_traits/is_empty.hpp"#include "boost/type_traits/is_pod.hpp"#include "boost/type_traits/is_stateless.hpp"namespace boost {struct blank{};// type traits specializations//template <>struct is_pod< blank >    : boost::true_type{};template <>struct is_empty< blank >    : boost::true_type{};template <>struct is_stateless< blank >    : boost::true_type{};// relational operators//inline bool operator==(const blank&, const blank&){    return true;}inline bool operator<=(const blank&, const blank&){    return true;}inline bool operator>=(const blank&, const blank&){    return true;}inline bool operator!=(const blank&, const blank&){    return false;}inline bool operator<(const blank&, const blank&){    return false;}inline bool operator>(const blank&, const blank&){    return false;}// streaming support//#if !defined(BOOST_NO_IOSTREAM)BOOST_TEMPLATED_STREAM_TEMPLATE(E,T)inline BOOST_TEMPLATED_STREAM(ostream, E,T)& operator<<(      BOOST_TEMPLATED_STREAM(ostream, E,T)& out    , const blank&    ){    // (output nothing)    return out;}#endif // BOOST_NO_IOSTREAM} // namespace boost#endif // BOOST_BLANK_HPP
 |