74 lines
1.3 KiB
C++
Executable File
74 lines
1.3 KiB
C++
Executable File
|
|
|
|
|
|
#pragma once
|
|
|
|
#include <string>
|
|
#include <ostream>
|
|
|
|
namespace IDL
|
|
{
|
|
enum class PartitionType
|
|
{
|
|
Any,
|
|
Global,
|
|
Exercise,
|
|
AllExercises,
|
|
Replay,
|
|
};
|
|
|
|
inline std::string toStdString(PartitionType pt)
|
|
{
|
|
switch (pt)
|
|
{
|
|
case PartitionType::Any:
|
|
return "Any";
|
|
case PartitionType::Global:
|
|
return "Global";
|
|
case PartitionType::Exercise:
|
|
return "Exercise";
|
|
case PartitionType::AllExercises:
|
|
return "AllExercises";
|
|
case PartitionType::Replay:
|
|
return "Replay";
|
|
}
|
|
return std::string("invalid:") + std::to_string(static_cast<int>(pt));
|
|
}
|
|
|
|
inline std::ostream& operator <<(std::ostream &o, PartitionType pt)
|
|
{
|
|
|
|
switch (pt)
|
|
{
|
|
case PartitionType::Any:
|
|
case PartitionType::Global:
|
|
case PartitionType::Exercise:
|
|
case PartitionType::AllExercises:
|
|
case PartitionType::Replay:
|
|
return o << std::string("PartitionType::") + toStdString(pt);
|
|
default:
|
|
return o << std::to_string(static_cast<int>(pt));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
inline std::string exercisePartition(int exerciseId)
|
|
{
|
|
if (exerciseId < 0)
|
|
return { "ex_*" };
|
|
return std::string("ex_") + std::to_string(exerciseId);
|
|
}
|
|
|
|
|
|
|
|
inline std::string replayPartition(int partitionId)
|
|
{
|
|
if (partitionId < 0)
|
|
return { "srp_*" };
|
|
return std::string("srp_") + std::to_string(partitionId);
|
|
}
|
|
|
|
}
|
|
|