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
|