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_START_WARNINGS_SUPPRESSION \ 22 CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ 23 namespace{ Catch::RegistrarForTagAliases INTERNAL_CATCH_UNIQUE_NAME( AutoRegisterTagAlias )( alias, spec, CATCH_INTERNAL_LINEINFO ); } \ 24 CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION 25 26 #endif // TWOBLUECUBES_CATCH_TAG_ALIAS_AUTOREGISTRAR_H_INCLUDED 27