Skip to content

Commit

Permalink
added declaratios for nested variant types
Browse files Browse the repository at this point in the history
  • Loading branch information
drexlerd committed Apr 18, 2024
1 parent 72e84b2 commit e0f714e
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions include/loki/details/pddl/declarations.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,9 @@ using VariableList = std::vector<Variable>; // not used
using VariableAssignment = std::unordered_map<Variable, Object>;

class TermObjectImpl;
using TermObject = const TermObjectImpl*;
class TermVariableImpl;
using TermVariable = const TermVariableImpl*;
using TermImpl = std::variant<TermObjectImpl, TermVariableImpl>;
using Term = const TermImpl*;
using TermList = boost::container::small_vector<Term, 2>; // often unary and binary predicates
Expand All @@ -80,31 +82,47 @@ using Literal = const LiteralImpl*;
using LiteralList = std::vector<Literal>;

class ConditionLiteralImpl;
using ConditionLiteral = const ConditionLiteralImpl*;
class ConditionAndImpl;
using ConditionAnd = const ConditionAndImpl*;
class ConditionOrImpl;
using ConditionOr = const ConditionOrImpl*;
class ConditionNotImpl;
using ConditionNot = const ConditionNotImpl*;
class ConditionImplyImpl;
using ConditionImply = const ConditionImplyImpl*;
class ConditionExistsImpl;
using ConditionExists = const ConditionExistsImpl*;
class ConditionForallImpl;
using ConditionImpl =
std::variant<ConditionLiteralImpl, ConditionAndImpl, ConditionOrImpl, ConditionNotImpl, ConditionImplyImpl, ConditionExistsImpl, ConditionForallImpl>;
using Condition = const ConditionImpl*;
using ConditionList = std::vector<Condition>;

class EffectLiteralImpl;
using EffectLiteral = const EffectLiteralImpl*;
class EffectAndImpl;
using EffectAnd = const EffectAndImpl*;
class EffectNumericImpl;
using EffectNumeric = const EffectNumericImpl*;
class EffectConditionalForallImpl;
using EffectConditionalForall = const EffectConditionalForallImpl*;
class EffectConditionalWhenImpl;
using EffectConditionalWhen = const EffectConditionalWhenImpl*;
using EffectImpl = std::variant<EffectLiteralImpl, EffectAndImpl, EffectNumericImpl, EffectConditionalForallImpl, EffectConditionalWhenImpl>;
using Effect = const EffectImpl*;
using EffectList = std::vector<Effect>;

class FunctionExpressionNumberImpl;
using FunctionExpressionNumber = const FunctionExpressionNumberImpl*;
class FunctionExpressionBinaryOperatorImpl;
using FunctionExpressionBinaryOperator = const FunctionExpressionBinaryOperatorImpl*;
class FunctionExpressionMultiOperatorImpl;
using FunctionExpressionMultiOperator = const FunctionExpressionMultiOperatorImpl*;
class FunctionExpressionMinusImpl;
using FunctionExpressionMinus = const FunctionExpressionMinusImpl*;
class FunctionExpressionFunctionImpl;
using FunctionExpressionFunction = const FunctionExpressionFunctionImpl*;
using FunctionExpressionImpl = std::variant<FunctionExpressionNumberImpl,
FunctionExpressionBinaryOperatorImpl,
FunctionExpressionMultiOperatorImpl,
Expand Down

0 comments on commit e0f714e

Please sign in to comment.