42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
/* Boost interval/io.hpp header file
|
|
*
|
|
* This file is only meant to provide a quick
|
|
* implementation of the output operator. It is
|
|
* provided for test programs that aren't even
|
|
* interested in the precision of the results.
|
|
* A real progam should define its own operators
|
|
* and never include this header.
|
|
*
|
|
* Copyright 2003 Guillaume Melquiond
|
|
*
|
|
* 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)
|
|
*/
|
|
|
|
#ifndef BOOST_NUMERIC_INTERVAL_IO_HPP
|
|
#define BOOST_NUMERIC_INTERVAL_IO_HPP
|
|
|
|
#include <boost/numeric/interval/interval.hpp>
|
|
#include <boost/numeric/interval/utility.hpp>
|
|
#include <ostream>
|
|
|
|
namespace boost {
|
|
namespace numeric {
|
|
|
|
template<class CharType, class CharTraits, class T, class Policies>
|
|
std::basic_ostream<CharType, CharTraits> &operator<<
|
|
(std::basic_ostream<CharType, CharTraits> &stream,
|
|
interval<T, Policies> const &value)
|
|
{
|
|
if (empty(value))
|
|
return stream << "[]";
|
|
else
|
|
return stream << '[' << lower(value) << ',' << upper(value) << ']';
|
|
}
|
|
|
|
} // namespace numeric
|
|
} // namespace boost
|
|
|
|
#endif // BOOST_NUMERIC_INTERVAL_IO_HPP
|