| 10232 | } |
| 10233 | |
| 10234 | std::unique_ptr<EnumInfo> makeEnumInfo( StringRef enumName, StringRef allValueNames, std::vector<int> const& values ) { |
| 10235 | std::unique_ptr<EnumInfo> enumInfo( new EnumInfo ); |
| 10236 | enumInfo->m_name = enumName; |
| 10237 | enumInfo->m_values.reserve( values.size() ); |
| 10238 | |
| 10239 | const auto valueNames = Catch::Detail::parseEnums( allValueNames ); |
| 10240 | assert( valueNames.size() == values.size() ); |
| 10241 | std::size_t i = 0; |
| 10242 | for( auto value : values ) |
| 10243 | enumInfo->m_values.push_back({ value, valueNames[i++] }); |
| 10244 | |
| 10245 | return enumInfo; |
| 10246 | } |
| 10247 | |
| 10248 | EnumInfo const& EnumValuesRegistry::registerEnum( StringRef enumName, StringRef allValueNames, std::vector<int> const& values ) { |
| 10249 | auto enumInfo = makeEnumInfo( enumName, allValueNames, values ); |
no test coverage detected