File indexing completed on 2025-01-18 09:54:05
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef CATCH_ENUM_VALUES_REGISTRY_HPP_INCLUDED
0009 #define CATCH_ENUM_VALUES_REGISTRY_HPP_INCLUDED
0010
0011 #include <catch2/interfaces/catch_interfaces_enum_values_registry.hpp>
0012 #include <catch2/internal/catch_unique_ptr.hpp>
0013 #include <catch2/internal/catch_stringref.hpp>
0014
0015 #include <vector>
0016
0017 namespace Catch {
0018
0019 namespace Detail {
0020
0021 Catch::Detail::unique_ptr<EnumInfo> makeEnumInfo( StringRef enumName, StringRef allValueNames, std::vector<int> const& values );
0022
0023 class EnumValuesRegistry : public IMutableEnumValuesRegistry {
0024
0025 std::vector<Catch::Detail::unique_ptr<EnumInfo>> m_enumInfos;
0026
0027 EnumInfo const& registerEnum( StringRef enumName, StringRef allEnums, std::vector<int> const& values) override;
0028 };
0029
0030 std::vector<StringRef> parseEnums( StringRef enums );
0031
0032 }
0033
0034 }
0035
0036 #endif