107 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //-----------------------------------------------------------------------------
 | |
| // 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/mpl/bool.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 >
 | |
|     : mpl::true_
 | |
| {
 | |
| };
 | |
| 
 | |
| template <>
 | |
| struct is_empty< blank >
 | |
|     : mpl::true_
 | |
| {
 | |
| };
 | |
| 
 | |
| template <>
 | |
| struct is_stateless< blank >
 | |
|     : mpl::true_
 | |
| {
 | |
| };
 | |
| 
 | |
| // 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
 | 
