1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/stdapis/boost/blank.hpp Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -0,0 +1,100 @@
1.4 +//-----------------------------------------------------------------------------
1.5 +// boost blank.hpp header file
1.6 +// See http://www.boost.org for updates, documentation, and revision history.
1.7 +//-----------------------------------------------------------------------------
1.8 +//
1.9 +// Copyright (c) 2003
1.10 +// Eric Friedman
1.11 +//
1.12 +// Distributed under the Boost Software License, Version 1.0. (See
1.13 +// accompanying file LICENSE_1_0.txt or copy at
1.14 +// http://www.boost.org/LICENSE_1_0.txt)
1.15 +
1.16 +#ifndef BOOST_BLANK_HPP
1.17 +#define BOOST_BLANK_HPP
1.18 +
1.19 +#include "boost/blank_fwd.hpp"
1.20 +
1.21 +#include <iosfwd> // for std::basic_ostream forward declare
1.22 +
1.23 +#include "boost/detail/templated_streams.hpp"
1.24 +#include "boost/mpl/bool.hpp"
1.25 +#include "boost/type_traits/is_empty.hpp"
1.26 +#include "boost/type_traits/is_pod.hpp"
1.27 +#include "boost/type_traits/is_stateless.hpp"
1.28 +
1.29 +namespace boost {
1.30 +
1.31 +struct blank
1.32 +{
1.33 +};
1.34 +
1.35 +// type traits specializations
1.36 +//
1.37 +
1.38 +template <>
1.39 +struct is_pod< blank >
1.40 + : mpl::true_
1.41 +{
1.42 +};
1.43 +
1.44 +template <>
1.45 +struct is_empty< blank >
1.46 + : mpl::true_
1.47 +{
1.48 +};
1.49 +
1.50 +template <>
1.51 +struct is_stateless< blank >
1.52 + : mpl::true_
1.53 +{
1.54 +};
1.55 +
1.56 +// relational operators
1.57 +//
1.58 +
1.59 +inline bool operator==(const blank&, const blank&)
1.60 +{
1.61 + return true;
1.62 +}
1.63 +
1.64 +inline bool operator<=(const blank&, const blank&)
1.65 +{
1.66 + return true;
1.67 +}
1.68 +
1.69 +inline bool operator>=(const blank&, const blank&)
1.70 +{
1.71 + return true;
1.72 +}
1.73 +
1.74 +inline bool operator!=(const blank&, const blank&)
1.75 +{
1.76 + return false;
1.77 +}
1.78 +
1.79 +inline bool operator<(const blank&, const blank&)
1.80 +{
1.81 + return false;
1.82 +}
1.83 +
1.84 +inline bool operator>(const blank&, const blank&)
1.85 +{
1.86 + return false;
1.87 +}
1.88 +
1.89 +// streaming support
1.90 +//
1.91 +BOOST_TEMPLATED_STREAM_TEMPLATE(E,T)
1.92 +inline BOOST_TEMPLATED_STREAM(ostream, E,T)& operator<<(
1.93 + BOOST_TEMPLATED_STREAM(ostream, E,T)& out
1.94 + , const blank&
1.95 + )
1.96 +{
1.97 + // (output nothing)
1.98 + return out;
1.99 +}
1.100 +
1.101 +} // namespace boost
1.102 +
1.103 +#endif // BOOST_BLANK_HPP