2016-11-22 03:15:52 +01:00
|
|
|
#ifndef __ANTHEM__UTILS_H
|
|
|
|
#define __ANTHEM__UTILS_H
|
|
|
|
|
|
|
|
namespace anthem
|
|
|
|
{
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
|
|
// Utils
|
|
|
|
//
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2017-05-30 03:53:51 +02:00
|
|
|
constexpr const auto HeadVariablePrefix = "V";
|
|
|
|
constexpr const auto BodyVariablePrefix = "X";
|
|
|
|
constexpr const auto UserVariablePrefix = "U";
|
2018-04-22 21:10:20 +02:00
|
|
|
constexpr const auto IntegerVariablePrefix = "N";
|
2016-11-23 03:29:26 +01:00
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2018-04-21 17:34:52 +02:00
|
|
|
enum class Tristate
|
|
|
|
{
|
|
|
|
True,
|
|
|
|
False,
|
|
|
|
Unknown,
|
|
|
|
};
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
enum class EvaluationResult
|
|
|
|
{
|
|
|
|
True,
|
|
|
|
False,
|
|
|
|
Unknown,
|
|
|
|
Error,
|
|
|
|
};
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
enum class OperationResult
|
|
|
|
{
|
|
|
|
Unchanged,
|
|
|
|
Changed,
|
|
|
|
};
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2018-04-22 14:43:15 +02:00
|
|
|
enum class Domain
|
|
|
|
{
|
2018-04-22 14:48:37 +02:00
|
|
|
Noninteger,
|
2018-04-22 14:43:15 +02:00
|
|
|
Integer,
|
|
|
|
Unknown,
|
|
|
|
};
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2018-04-22 17:04:15 +02:00
|
|
|
enum class SetSize
|
|
|
|
{
|
|
|
|
Empty,
|
|
|
|
Unit,
|
|
|
|
Multi,
|
|
|
|
Unknown,
|
|
|
|
};
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
struct Type
|
|
|
|
{
|
|
|
|
Domain domain{Domain::Unknown};
|
|
|
|
SetSize setSize{SetSize::Unknown};
|
|
|
|
};
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2016-11-22 03:15:52 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|