76 lines
1.5 KiB
C++
76 lines
1.5 KiB
C++
#ifndef __ANTHEM__UTILS_H
|
|
#define __ANTHEM__UTILS_H
|
|
|
|
namespace anthem
|
|
{
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Utils
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
constexpr const auto HeadVariablePrefix = "V";
|
|
constexpr const auto BodyVariablePrefix = "X";
|
|
constexpr const auto UserVariablePrefix = "U";
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
enum class Tristate
|
|
{
|
|
True,
|
|
False,
|
|
Unknown,
|
|
};
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
enum class EvaluationResult
|
|
{
|
|
True,
|
|
False,
|
|
Unknown,
|
|
Error,
|
|
};
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
enum class OperationResult
|
|
{
|
|
Unchanged,
|
|
Changed,
|
|
};
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
enum class Domain
|
|
{
|
|
Noninteger,
|
|
Integer,
|
|
Unknown,
|
|
};
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
enum class SetSize
|
|
{
|
|
Empty,
|
|
Unit,
|
|
Multi,
|
|
Unknown,
|
|
};
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
struct Type
|
|
{
|
|
Domain domain{Domain::Unknown};
|
|
SetSize setSize{SetSize::Unknown};
|
|
};
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
}
|
|
|
|
#endif
|