/usr/include/boost/test/utils/basic_cstring
Edit: /usr/include/boost/test/utils/basic_cstring/io.hpp (2066B)
// (C) Copyright Gennadiy Rozental 2001.
// 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)
// See http://www.boost.org/libs/test for the library home page.
//
// File : $RCSfile$
//
// Version : $Revision$
//
// Description : basic_cstring i/o implementation
// ***************************************************************************
#ifndef BOOST_TEST_UTILS_BASIC_CSTRING_IO_HPP
#define BOOST_TEST_UTILS_BASIC_CSTRING_IO_HPP
// Boost.Test
#include
// STL
#include
#include
#include
//____________________________________________________________________________//
namespace boost {
namespace unit_test {
#ifdef BOOST_CLASSIC_IOSTREAMS
template
inline std::ostream&
operator<<( std::ostream& os, basic_cstring const& str )
{
typedef typename ut_detail::bcs_base_char::type char_type;
char_type const* const beg = reinterpret_cast( str.begin() );
char_type const* const end = reinterpret_cast( str.end() );
os << std::basic_string( beg, end - beg );
return os;
}
#else
template
inline std::basic_ostream&
operator<<( std::basic_ostream& os, basic_cstring const& str )
{
CharT1 const* const beg = reinterpret_cast( str.begin() ); // !!
CharT1 const* const end = reinterpret_cast( str.end() );
os << std::basic_string( beg, end - beg );
return os;
}
#endif
//____________________________________________________________________________//
} // namespace unit_test
} // namespace boost
//____________________________________________________________________________//
#include
#endif // BOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER