Merge [51862], [53211], [53212], and [53218] from the trunk

[SVN r53872]
This commit is contained in:
Steven Watanabe committed 2009-06-13 18:30:31 +00:00
1 parent 700d64acc8
commit 41ebb2ee6c
8 files changed
+191 -129

No files matched your search

+10 -1
View File
@@ -213,7 +213,7 @@ struct element_impl<0, T, true /* IsConst */>
template<int N, class T>
struct element:
struct element:
public detail::element_impl<N, T, ::boost::is_const<T>::value>
{
};
@@ -488,11 +488,20 @@ struct length<tuple<> > {
BOOST_STATIC_CONSTANT(int, value = 0);
};
template<>
struct length<tuple<> const> {
BOOST_STATIC_CONSTANT(int, value = 0);
};
template<>
struct length<null_type> {
BOOST_STATIC_CONSTANT(int, value = 0);
};
template<>
struct length<null_type const> {
BOOST_STATIC_CONSTANT(int, value = 0);
};
namespace detail {
+32
View File
@@ -285,6 +285,21 @@ print(std::basic_ostream<CharType, CharTrait>& o, const cons<T1, T2>& t) {
} // namespace detail
#if defined (BOOST_NO_TEMPLATED_STREAMS)
inline std::ostream& operator<<(std::ostream& o, const null_type& t) {
if (!o.good() ) return o;
const char l =
detail::format_info::get_manipulator(o, detail::format_info::open);
const char r =
detail::format_info::get_manipulator(o, detail::format_info::close);
o << l;
o << r;
return o;
}
template<class T1, class T2>
inline std::ostream& operator<<(std::ostream& o, const cons<T1, T2>& t) {
if (!o.good() ) return o;
@@ -305,6 +320,23 @@ inline std::ostream& operator<<(std::ostream& o, const cons<T1, T2>& t) {
#else
template<class CharType, class CharTrait>
inline std::basic_ostream<CharType, CharTrait>&
operator<<(std::basic_ostream<CharType, CharTrait>& o,
const null_type& t) {
if (!o.good() ) return o;
const CharType l =
detail::format_info::get_manipulator(o, detail::format_info::open);
const CharType r =
detail::format_info::get_manipulator(o, detail::format_info::close);
o << l;
o << r;
return o;
}
template<class CharType, class CharTrait, class T1, class T2>
inline std::basic_ostream<CharType, CharTrait>&
operator<<(std::basic_ostream<CharType, CharTrait>& o,