diff options
Diffstat (limited to 'paludis/resolver/labels_classifier.hh')
-rw-r--r-- | paludis/resolver/labels_classifier.hh | 54 |
1 files changed, 29 insertions, 25 deletions
diff --git a/paludis/resolver/labels_classifier.hh b/paludis/resolver/labels_classifier.hh index fd2d990d5..c491505d1 100644 --- a/paludis/resolver/labels_classifier.hh +++ b/paludis/resolver/labels_classifier.hh @@ -21,6 +21,7 @@ #define PALUDIS_GUARD_PALUDIS_RESOLVER_LABELS_CLASSIFIER_HH 1 #include <paludis/resolver/labels_classifier-fwd.hh> +#include <paludis/util/pimp.hh> #include <paludis/dep_label-fwd.hh> #include <paludis/serialise-fwd.hh> @@ -28,38 +29,41 @@ namespace paludis { namespace resolver { - struct LabelsClassifier + class LabelsClassifier : + private Pimp<LabelsClassifier> { - LabelsClassifier(); + public: + LabelsClassifier(const Environment * const, const std::shared_ptr<const PackageID> &); + ~LabelsClassifier(); - bool any_enabled; + bool any_enabled; - bool includes_buildish; - bool includes_compile_against; - bool includes_fetch; - bool includes_non_post_runish; - bool includes_non_test_buildish; - bool includes_post; - bool includes_postish; + bool includes_buildish; + bool includes_compile_against; + bool includes_fetch; + bool includes_non_post_runish; + bool includes_non_test_buildish; + bool includes_post; + bool includes_postish; - bool is_recommendation; - bool is_requirement; - bool is_suggestion; + bool is_recommendation; + bool is_requirement; + bool is_suggestion; - void visit(const DependenciesBuildLabel &); - void visit(const DependenciesCompileAgainstLabel &); - void visit(const DependenciesFetchLabel &); - void visit(const DependenciesInstallLabel &); - void visit(const DependenciesPostLabel &); - void visit(const DependenciesRecommendationLabel &); - void visit(const DependenciesRunLabel &); - void visit(const DependenciesSuggestionLabel &); - void visit(const DependenciesTestLabel &); + void visit(const DependenciesBuildLabel &); + void visit(const DependenciesCompileAgainstLabel &); + void visit(const DependenciesFetchLabel &); + void visit(const DependenciesInstallLabel &); + void visit(const DependenciesPostLabel &); + void visit(const DependenciesRecommendationLabel &); + void visit(const DependenciesRunLabel &); + void visit(const DependenciesSuggestionLabel &); + void visit(const DependenciesTestLabel &); - void serialise(Serialiser &) const; + void serialise(Serialiser &) const; - static const std::shared_ptr<LabelsClassifier> deserialise( - Deserialisation & d) PALUDIS_ATTRIBUTE((warn_unused_result)); + static const std::shared_ptr<LabelsClassifier> deserialise( + Deserialisation & d) PALUDIS_ATTRIBUTE((warn_unused_result)); }; } } |