|  | /* | 
|  | *  Created by Phil on 25/2/2012. | 
|  | *  Copyright 2012 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_CONSOLE_COLOUR_HPP_INCLUDED | 
|  | #define TWOBLUECUBES_CATCH_CONSOLE_COLOUR_HPP_INCLUDED | 
|  |  | 
|  | #include "catch_common.h" | 
|  |  | 
|  | namespace Catch { | 
|  |  | 
|  | struct Colour { | 
|  | enum Code { | 
|  | None = 0, | 
|  |  | 
|  | White, | 
|  | Red, | 
|  | Green, | 
|  | Blue, | 
|  | Cyan, | 
|  | Yellow, | 
|  | Grey, | 
|  |  | 
|  | Bright = 0x10, | 
|  |  | 
|  | BrightRed = Bright | Red, | 
|  | BrightGreen = Bright | Green, | 
|  | LightGrey = Bright | Grey, | 
|  | BrightWhite = Bright | White, | 
|  | BrightYellow = Bright | Yellow, | 
|  |  | 
|  | // By intention | 
|  | FileName = LightGrey, | 
|  | Warning = BrightYellow, | 
|  | ResultError = BrightRed, | 
|  | ResultSuccess = BrightGreen, | 
|  | ResultExpectedFailure = Warning, | 
|  |  | 
|  | Error = BrightRed, | 
|  | Success = Green, | 
|  |  | 
|  | OriginalExpression = Cyan, | 
|  | ReconstructedExpression = BrightYellow, | 
|  |  | 
|  | SecondaryText = LightGrey, | 
|  | Headers = White | 
|  | }; | 
|  |  | 
|  | // Use constructed object for RAII guard | 
|  | Colour( Code _colourCode ); | 
|  | Colour( Colour&& other ) noexcept; | 
|  | Colour& operator=( Colour&& other ) noexcept; | 
|  | ~Colour(); | 
|  |  | 
|  | // Use static method for one-shot changes | 
|  | static void use( Code _colourCode ); | 
|  |  | 
|  | private: | 
|  | bool m_moved = false; | 
|  | }; | 
|  |  | 
|  | std::ostream& operator << ( std::ostream& os, Colour const& ); | 
|  |  | 
|  | } // end namespace Catch | 
|  |  | 
|  | #endif // TWOBLUECUBES_CATCH_CONSOLE_COLOUR_HPP_INCLUDED |