Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/blank.hpp @ 16:2665513ce2d3
Add boost headers
author | Chris Cannam |
---|---|
date | Tue, 05 Aug 2014 11:11:38 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
15:663ca0da4350 | 16:2665513ce2d3 |
---|---|
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 | |
23 #include "boost/mpl/bool.hpp" | |
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 | |
28 namespace boost { | |
29 | |
30 struct blank | |
31 { | |
32 }; | |
33 | |
34 // type traits specializations | |
35 // | |
36 | |
37 template <> | |
38 struct is_pod< blank > | |
39 : mpl::true_ | |
40 { | |
41 }; | |
42 | |
43 template <> | |
44 struct is_empty< blank > | |
45 : mpl::true_ | |
46 { | |
47 }; | |
48 | |
49 template <> | |
50 struct is_stateless< blank > | |
51 : mpl::true_ | |
52 { | |
53 }; | |
54 | |
55 // relational operators | |
56 // | |
57 | |
58 inline bool operator==(const blank&, const blank&) | |
59 { | |
60 return true; | |
61 } | |
62 | |
63 inline bool operator<=(const blank&, const blank&) | |
64 { | |
65 return true; | |
66 } | |
67 | |
68 inline bool operator>=(const blank&, const blank&) | |
69 { | |
70 return true; | |
71 } | |
72 | |
73 inline bool operator!=(const blank&, const blank&) | |
74 { | |
75 return false; | |
76 } | |
77 | |
78 inline bool operator<(const blank&, const blank&) | |
79 { | |
80 return false; | |
81 } | |
82 | |
83 inline bool operator>(const blank&, const blank&) | |
84 { | |
85 return false; | |
86 } | |
87 | |
88 // streaming support | |
89 // | |
90 #if !defined(BOOST_NO_IOSTREAM) | |
91 | |
92 BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) | |
93 inline 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 |