1 /*
2  *  Created by Martin on 27/07/2017.
3  *
4  *  Distributed under the Boost Software License, Version 1.0. (See accompanying
5  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6  */
7 #ifndef TWOBLUECUBES_CATCH_TAG_ALIAS_AUTOREGISTRAR_H_INCLUDED
8 #define TWOBLUECUBES_CATCH_TAG_ALIAS_AUTOREGISTRAR_H_INCLUDED
9 
10 #include "catch_common.h"
11 
12 namespace Catch {
13 
14     struct RegistrarForTagAliases {
15         RegistrarForTagAliases( char const* alias, char const* tag, SourceLineInfo const& lineInfo );
16     };
17 
18 } // end namespace Catch
19 
20 #define CATCH_REGISTER_TAG_ALIAS( alias, spec ) \
21     CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \
22     namespace{ Catch::RegistrarForTagAliases INTERNAL_CATCH_UNIQUE_NAME( AutoRegisterTagAlias )( alias, spec, CATCH_INTERNAL_LINEINFO ); } \
23     CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS
24 
25 #endif // TWOBLUECUBES_CATCH_TAG_ALIAS_AUTOREGISTRAR_H_INCLUDED
26