Made conditional effect variant more concise.

This commit is contained in:
2017-06-27 17:43:00 +02:00
parent 0eff8e5dcf
commit 4622f31fa4
3 changed files with 30 additions and 31 deletions

View File

@@ -150,6 +150,24 @@ class AtomicFormula : public detail::AtomicFormulaT
////////////////////////////////////////////////////////////////////////////////////////////////////
namespace detail
{
using LiteralT = Variant<
AtomicFormula,
NotPointer<AtomicFormula>>;
}
class Literal : public detail::LiteralT
{
Literal() = delete;
using detail::LiteralT::LiteralT;
};
using Literals = std::vector<Literal>;
////////////////////////////////////////////////////////////////////////////////////////////////////
class Precondition;
namespace detail
@@ -182,9 +200,8 @@ namespace detail
{
// TODO: add missing types
using ConditionalEffectT = Variant<
AtomicFormula,
AndPointer<ConditionalEffect>,
NotPointer<ConditionalEffect>>;
Literal,
AndPointer<Literal>>;
}
class ConditionalEffect : public detail::ConditionalEffectT
@@ -234,24 +251,6 @@ class Type : public detail::TypeT
////////////////////////////////////////////////////////////////////////////////////////////////////
namespace detail
{
using LiteralT = Variant<
AtomicFormula,
NotPointer<AtomicFormula>>;
}
class Literal : public detail::LiteralT
{
Literal() = delete;
using detail::LiteralT::LiteralT;
};
using Literals = std::vector<Literal>;
////////////////////////////////////////////////////////////////////////////////////////////////////
class Fact;
namespace detail