mirror of https://github.com/procxx/kepka.git
				
				
				
			
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
| /*
 | |
|  *  Created by Phil on 2/12/2013.
 | |
|  *  Copyright 2013 Two Blue Cubes Ltd. All rights reserved.
 | |
|  *
 | |
|  *  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 TWOBLUECUBES_CATCH_STREAM_H_INCLUDED
 | |
| #define TWOBLUECUBES_CATCH_STREAM_H_INCLUDED
 | |
| 
 | |
| #include <iosfwd>
 | |
| #include <cstddef>
 | |
| #include <ostream>
 | |
| 
 | |
| namespace Catch {
 | |
| 
 | |
|     std::ostream& cout();
 | |
|     std::ostream& cerr();
 | |
|     std::ostream& clog();
 | |
| 
 | |
|     class StringRef;
 | |
| 
 | |
|     struct IStream {
 | |
|         virtual ~IStream();
 | |
|         virtual std::ostream& stream() const = 0;
 | |
|     };
 | |
| 
 | |
|     auto makeStream( StringRef const &filename ) -> IStream const*;
 | |
| 
 | |
|     class ReusableStringStream {
 | |
|         std::size_t m_index;
 | |
|         std::ostream* m_oss;
 | |
|     public:
 | |
|         ReusableStringStream();
 | |
|         ~ReusableStringStream();
 | |
| 
 | |
|         auto str() const -> std::string;
 | |
| 
 | |
|         template<typename T>
 | |
|         auto operator << ( T const& value ) -> ReusableStringStream& {
 | |
|             *m_oss << value;
 | |
|             return *this;
 | |
|         }
 | |
|         auto get() -> std::ostream& { return *m_oss; }
 | |
|     };
 | |
| }
 | |
| 
 | |
| #endif // TWOBLUECUBES_CATCH_STREAM_H_INCLUDED
 |