-
Jan Trávníček authoredJan Trávníček authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
AlgorithmCategories.cpp 1.30 KiB
#include <common/AlgorithmCategories.hpp>
#include <exception>
namespace abstraction {
abstraction::AlgorithmCategories::AlgorithmCategory AlgorithmCategories::algorithmCategory ( const std::string & category ) {
if ( category == "default" )
return AlgorithmCategory::DEFAULT;
if ( category == "test" )
return AlgorithmCategory::TEST;
if ( category == "student" )
return AlgorithmCategory::STUDENT;
if ( category == "efficient" )
return AlgorithmCategory::EFFICIENT;
return AlgorithmCategory::NONE;
}
std::string AlgorithmCategories::toString ( abstraction::AlgorithmCategories::AlgorithmCategory category ) {
switch ( category ) {
case abstraction::AlgorithmCategories::AlgorithmCategory::DEFAULT:
return "default";
case abstraction::AlgorithmCategories::AlgorithmCategory::TEST:
return "test";
case abstraction::AlgorithmCategories::AlgorithmCategory::STUDENT:
return "student";
case abstraction::AlgorithmCategories::AlgorithmCategory::EFFICIENT:
return "efficient";
case abstraction::AlgorithmCategories::AlgorithmCategory::NONE:
return "none";
}
throw std::logic_error ( "Unhandled category." );
}
std::ostream & operator << ( std::ostream & os, AlgorithmCategories::AlgorithmCategory category ) {
return os << AlgorithmCategories::toString ( category );
}
} /* namespace abstraction */