1 /* 2 * Created by Phil on 27/6/2014. 3 * Copyright 2014 Two Blue Cubes Ltd. All rights reserved. 4 * 5 * Distributed under the Boost Software License, Version 1.0. (See accompanying 6 * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 */ 8 #ifndef TWOBLUECUBES_CATCH_TAG_ALIAS_REGISTRY_H_INCLUDED 9 #define TWOBLUECUBES_CATCH_TAG_ALIAS_REGISTRY_H_INCLUDED 10 11 #include "catch_interfaces_tag_alias_registry.h" 12 #include "catch_tag_alias.h" 13 14 #include <map> 15 16 namespace Catch { 17 18 class TagAliasRegistry : public ITagAliasRegistry { 19 public: 20 ~TagAliasRegistry() override; 21 TagAlias const* find( std::string const& alias ) const override; 22 std::string expandAliases( std::string const& unexpandedTestSpec ) const override; 23 void add( std::string const& alias, std::string const& tag, SourceLineInfo const& lineInfo ); 24 25 private: 26 std::map<std::string, TagAlias> m_registry; 27 }; 28 29 } // end namespace Catch 30 31 #endif // TWOBLUECUBES_CATCH_TAG_ALIAS_REGISTRY_H_INCLUDED 32