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 13 #include <map> 14 15 namespace Catch { 16 17 class TagAliasRegistry : public ITagAliasRegistry { 18 public: 19 virtual ~TagAliasRegistry(); 20 virtual Option<TagAlias> find( std::string const& alias ) const; 21 virtual std::string expandAliases( std::string const& unexpandedTestSpec ) const; 22 void add( std::string const& alias, std::string const& tag, SourceLineInfo const& lineInfo ); 23 24 private: 25 std::map<std::string, TagAlias> m_registry; 26 }; 27 28 } // end namespace Catch 29 30 #endif // TWOBLUECUBES_CATCH_TAG_ALIAS_REGISTRY_H_INCLUDED 31