| 10620 | } |
| 10621 | |
| 10622 | std::unique_ptr<EnumInfo> makeEnumInfo( StringRef enumName, StringRef allValueNames, std::vector<int> const& values ) { |
| 10623 | std::unique_ptr<EnumInfo> enumInfo( new EnumInfo ); |
| 10624 | enumInfo->m_name = enumName; |
| 10625 | enumInfo->m_values.reserve( values.size() ); |
| 10626 | |
| 10627 | const auto valueNames = Catch::Detail::parseEnums( allValueNames ); |
| 10628 | assert( valueNames.size() == values.size() ); |
| 10629 | std::size_t i = 0; |
| 10630 | for( auto value : values ) |
| 10631 | enumInfo->m_values.emplace_back(value, valueNames[i++]); |
| 10632 | |
| 10633 | return enumInfo; |
| 10634 | } |
| 10635 | |
| 10636 | EnumInfo const& EnumValuesRegistry::registerEnum( StringRef enumName, StringRef allValueNames, std::vector<int> const& values ) { |
| 10637 | m_enumInfos.push_back(makeEnumInfo(enumName, allValueNames, values)); |
no test coverage detected