| /* |
| * 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 |