]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/blank.hpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / boost / blank.hpp
CommitLineData
7c673cae
FG
1//-----------------------------------------------------------------------------
2// boost blank.hpp header file
3// See http://www.boost.org for updates, documentation, and revision history.
4//-----------------------------------------------------------------------------
5//
6// Copyright (c) 2003
7// Eric Friedman
8//
9// Distributed under the Boost Software License, Version 1.0. (See
10// accompanying file LICENSE_1_0.txt or copy at
11// http://www.boost.org/LICENSE_1_0.txt)
12
13#ifndef BOOST_BLANK_HPP
14#define BOOST_BLANK_HPP
15
16#include "boost/blank_fwd.hpp"
17
18#if !defined(BOOST_NO_IOSTREAM)
19#include <iosfwd> // for std::basic_ostream forward declare
20#include "boost/detail/templated_streams.hpp"
21#endif // BOOST_NO_IOSTREAM
22
92f5a8d4 23#include "boost/type_traits/integral_constant.hpp"
7c673cae
FG
24#include "boost/type_traits/is_empty.hpp"
25#include "boost/type_traits/is_pod.hpp"
26#include "boost/type_traits/is_stateless.hpp"
27
28namespace boost {
29
30struct blank
31{
32};
33
34// type traits specializations
35//
36
37template <>
38struct is_pod< blank >
92f5a8d4 39 : boost::true_type
7c673cae
FG
40{
41};
42
43template <>
44struct is_empty< blank >
92f5a8d4 45 : boost::true_type
7c673cae
FG
46{
47};
48
49template <>
50struct is_stateless< blank >
92f5a8d4 51 : boost::true_type
7c673cae
FG
52{
53};
54
55// relational operators
56//
57
58inline bool operator==(const blank&, const blank&)
59{
60 return true;
61}
62
63inline bool operator<=(const blank&, const blank&)
64{
65 return true;
66}
67
68inline bool operator>=(const blank&, const blank&)
69{
70 return true;
71}
72
73inline bool operator!=(const blank&, const blank&)
74{
75 return false;
76}
77
78inline bool operator<(const blank&, const blank&)
79{
80 return false;
81}
82
83inline bool operator>(const blank&, const blank&)
84{
85 return false;
86}
87
88// streaming support
89//
90#if !defined(BOOST_NO_IOSTREAM)
91
92BOOST_TEMPLATED_STREAM_TEMPLATE(E,T)
93inline BOOST_TEMPLATED_STREAM(ostream, E,T)& operator<<(
94 BOOST_TEMPLATED_STREAM(ostream, E,T)& out
95 , const blank&
96 )
97{
98 // (output nothing)
99 return out;
100}
101
102#endif // BOOST_NO_IOSTREAM
103
104} // namespace boost
105
106#endif // BOOST_BLANK_HPP