Skip to content

Commit

Permalink
added forward declarations, moved includes to source files
Browse files Browse the repository at this point in the history
  • Loading branch information
drexlerd committed Aug 13, 2024
1 parent 8831457 commit 8795951
Show file tree
Hide file tree
Showing 41 changed files with 103 additions and 56 deletions.
4 changes: 2 additions & 2 deletions include/loki/details/pddl/action.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <optional>
#include <string>
Expand All @@ -45,7 +44,8 @@ class ActionImpl : public Base<ActionImpl>
std::optional<Effect> effect);

// Give access to the constructor.
friend class UniqueFactory<ActionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down
4 changes: 2 additions & 2 deletions include/loki/details/pddl/atom.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <string>

Expand All @@ -35,7 +34,8 @@ class AtomImpl : public Base<AtomImpl>
AtomImpl(size_t index, Predicate predicate, TermList terms);

// Give access to the constructor.
friend class UniqueFactory<AtomImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down
4 changes: 2 additions & 2 deletions include/loki/details/pddl/axiom.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <string>

Expand All @@ -37,7 +36,8 @@ class AxiomImpl : public Base<AxiomImpl>
AxiomImpl(size_t index, std::string derived_predicate_name, ParameterList parameters, Condition condition, size_t num_parameters_to_ground_head);

// Give access to the constructor.
friend class UniqueFactory<AxiomImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down
22 changes: 14 additions & 8 deletions include/loki/details/pddl/conditions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <string>

Expand All @@ -36,7 +35,8 @@ class ConditionLiteralImpl : public Base<ConditionLiteralImpl>
ConditionLiteralImpl(size_t index, Literal literal);

// Give access to the constructor.
friend class UniqueFactory<ConditionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -68,7 +68,8 @@ class ConditionAndImpl : public Base<ConditionAndImpl>
ConditionAndImpl(size_t index, ConditionList conditions);

// Give access to the constructor.
friend class UniqueFactory<ConditionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -100,7 +101,8 @@ class ConditionOrImpl : public Base<ConditionOrImpl>
ConditionOrImpl(size_t index, ConditionList conditions);

// Give access to the constructor.
friend class UniqueFactory<ConditionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

bool is_structurally_equivalent_to_impl(const ConditionOrImpl& other) const;
size_t hash_impl() const;
Expand Down Expand Up @@ -134,7 +136,8 @@ class ConditionNotImpl : public Base<ConditionNotImpl>
ConditionNotImpl(size_t index, Condition condition);

// Give access to the constructor.
friend class UniqueFactory<ConditionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -167,7 +170,8 @@ class ConditionImplyImpl : public Base<ConditionImplyImpl>
ConditionImplyImpl(size_t index, Condition condition_left, Condition condition_right);

// Give access to the constructor.
friend class UniqueFactory<ConditionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -201,7 +205,8 @@ class ConditionExistsImpl : public Base<ConditionExistsImpl>
ConditionExistsImpl(size_t index, ParameterList parameters, Condition condition);

// Give access to the constructor.
friend class UniqueFactory<ConditionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -235,7 +240,8 @@ class ConditionForallImpl : public Base<ConditionForallImpl>
ConditionForallImpl(size_t index, ParameterList parameters, Condition condition);

// Give access to the constructor.
friend class UniqueFactory<ConditionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down
12 changes: 12 additions & 0 deletions include/loki/details/pddl/declarations.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,18 @@ namespace loki
template<typename T>
using PDDLElement = const T*;

/**
* Utils
*/

template<typename T>
struct ShallowHash;
template<typename T>
struct ShallowEqualTo;

template<typename HolderType, typename Hash, typename EqualTo>
class UniqueFactory;

/**
* Domain
*/
Expand Down
5 changes: 2 additions & 3 deletions include/loki/details/pddl/domain.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/pddl/requirements.hpp"
#include "loki/details/utils/filesystem.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <optional>
#include <string>
Expand Down Expand Up @@ -55,7 +53,8 @@ class DomainImpl : public Base<DomainImpl>
AxiomList axioms);

// Give access to the constructor.
friend class UniqueFactory<DomainImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down
16 changes: 10 additions & 6 deletions include/loki/details/pddl/effects.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <string>

Expand All @@ -47,7 +46,8 @@ class EffectLiteralImpl : public Base<EffectLiteralImpl>
EffectLiteralImpl(size_t index, Literal literal);

// Give access to the constructor.
friend class UniqueFactory<EffectImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -79,7 +79,8 @@ class EffectAndImpl : public Base<EffectAndImpl>
EffectAndImpl(size_t index, EffectList effects);

// Give access to the constructor.
friend class UniqueFactory<EffectImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -113,7 +114,8 @@ class EffectNumericImpl : public Base<EffectNumericImpl>
EffectNumericImpl(size_t index, AssignOperatorEnum assign_operator, Function function, FunctionExpression function_expression);

// Give access to the constructor.
friend class UniqueFactory<EffectImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -148,7 +150,8 @@ class EffectConditionalForallImpl : public Base<EffectConditionalForallImpl>
EffectConditionalForallImpl(size_t index, ParameterList parameters, Effect effect);

// Give access to the constructor.
friend class UniqueFactory<EffectImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -182,7 +185,8 @@ class EffectConditionalWhenImpl : public Base<EffectConditionalWhenImpl>
EffectConditionalWhenImpl(size_t index, Condition condition, Effect effect);

// Give access to the constructor.
friend class UniqueFactory<EffectImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down
4 changes: 2 additions & 2 deletions include/loki/details/pddl/function.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <string>

Expand All @@ -35,7 +34,8 @@ class FunctionImpl : public Base<FunctionImpl>
FunctionImpl(size_t index, FunctionSkeleton function_skeleton, TermList terms);

// Give access to the constructor.
friend class UniqueFactory<FunctionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down
16 changes: 10 additions & 6 deletions include/loki/details/pddl/function_expressions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <string>
#include <unordered_map>
Expand Down Expand Up @@ -56,7 +55,8 @@ class FunctionExpressionNumberImpl : public Base<FunctionExpressionNumberImpl>
FunctionExpressionNumberImpl(size_t index, double number);

// Give access to the constructor.
friend class UniqueFactory<FunctionExpressionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -93,7 +93,8 @@ class FunctionExpressionBinaryOperatorImpl : public Base<FunctionExpressionBinar
FunctionExpression right_function_expression);

// Give access to the constructor.
friend class UniqueFactory<FunctionExpressionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -128,7 +129,8 @@ class FunctionExpressionMultiOperatorImpl : public Base<FunctionExpressionMultiO
FunctionExpressionMultiOperatorImpl(size_t index, MultiOperatorEnum multi_operator, FunctionExpressionList function_expressions);

// Give access to the constructor.
friend class UniqueFactory<FunctionExpressionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -161,7 +163,8 @@ class FunctionExpressionMinusImpl : public Base<FunctionExpressionMinusImpl>
FunctionExpressionMinusImpl(size_t index, FunctionExpression function_expression);

// Give access to the constructor.
friend class UniqueFactory<FunctionExpressionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down Expand Up @@ -193,7 +196,8 @@ class FunctionExpressionFunctionImpl : public Base<FunctionExpressionFunctionImp
FunctionExpressionFunctionImpl(size_t index, Function function);

// Give access to the constructor.
friend class UniqueFactory<FunctionExpressionImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down
4 changes: 2 additions & 2 deletions include/loki/details/pddl/function_skeleton.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <string>

Expand All @@ -36,7 +35,8 @@ class FunctionSkeletonImpl : public Base<FunctionSkeletonImpl>
FunctionSkeletonImpl(size_t index, std::string name, ParameterList parameters, Type type);

// Give access to the constructor.
friend class UniqueFactory<FunctionSkeletonImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down
4 changes: 2 additions & 2 deletions include/loki/details/pddl/literal.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <string>

Expand All @@ -35,7 +34,8 @@ class LiteralImpl : public Base<LiteralImpl>
LiteralImpl(size_t index, bool is_negated, Atom atom);

// Give access to the constructor.
friend class UniqueFactory<LiteralImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down
4 changes: 2 additions & 2 deletions include/loki/details/pddl/metric.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <string>

Expand All @@ -44,7 +43,8 @@ class OptimizationMetricImpl : public Base<OptimizationMetricImpl>
OptimizationMetricImpl(size_t index, OptimizationMetricEnum optimization_metric, FunctionExpression function_expression);

// Give access to the constructor.
friend class UniqueFactory<OptimizationMetricImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down
4 changes: 2 additions & 2 deletions include/loki/details/pddl/numeric_fluent.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <string>

Expand All @@ -33,7 +32,8 @@ class NumericFluentImpl : public Base<NumericFluentImpl>
double m_number;

// Give access to the constructor.
friend class UniqueFactory<NumericFluentImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

NumericFluentImpl(size_t index, Function function, double number);

Expand Down
4 changes: 2 additions & 2 deletions include/loki/details/pddl/object.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "loki/details/pddl/base.hpp"
#include "loki/details/pddl/declarations.hpp"
#include "loki/details/utils/unique_factory.hpp"

#include <string>

Expand All @@ -35,7 +34,8 @@ class ObjectImpl : public Base<ObjectImpl>
ObjectImpl(size_t index, std::string name, TypeList types = {});

// Give access to the constructor.
friend class UniqueFactory<ObjectImpl>;
template<typename HolderType, typename Hash, typename EqualTo>
friend class UniqueFactory;

void str_impl(std::ostream& out, const FormattingOptions& options) const;

Expand Down
Loading

0 comments on commit 8795951

Please sign in to comment.