aboutsummaryrefslogtreecommitdiff
path: root/paludis/resolver/labels_classifier.hh
diff options
context:
space:
mode:
Diffstat (limited to 'paludis/resolver/labels_classifier.hh')
-rw-r--r--paludis/resolver/labels_classifier.hh54
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));
};
}
}