aboutsummaryrefslogtreecommitdiff
path: root/paludis/user_dep_spec.hh
diff options
context:
space:
mode:
Diffstat (limited to 'paludis/user_dep_spec.hh')
-rw-r--r--paludis/user_dep_spec.hh39
1 files changed, 39 insertions, 0 deletions
diff --git a/paludis/user_dep_spec.hh b/paludis/user_dep_spec.hh
index 9624412e2..8795dafc6 100644
--- a/paludis/user_dep_spec.hh
+++ b/paludis/user_dep_spec.hh
@@ -127,6 +127,45 @@ namespace paludis
};
extern template class Pimp<UserKeyRequirement>;
+
+ /**
+ * An exclude requirement for a PackageDepSpec.
+ *
+ * \ingroup g_dep_spec
+ */
+ class PALUDIS_VISIBLE ExcludeRequirement :
+ public AdditionalPackageDepSpecRequirement
+ {
+ private:
+ PackageDepSpec _s;
+
+ public:
+ ///\name Basic operations
+ ///\{
+
+ ExcludeRequirement(const PackageDepSpec &);
+ ~ExcludeRequirement();
+
+ ///\}
+
+ virtual const std::pair<bool, std::string> requirement_met(
+ const Environment * const, const ChangedChoices *,
+ const std::shared_ptr<const PackageID> &,
+ const std::shared_ptr<const PackageID> &,
+ const ChangedChoices * const) const PALUDIS_ATTRIBUTE((warn_unused_result));
+
+ virtual const std::string as_human_string(
+ const std::shared_ptr<const PackageID> &) const PALUDIS_ATTRIBUTE((warn_unused_result));
+
+ virtual const std::string as_raw_string() const PALUDIS_ATTRIBUTE((warn_unused_result));
+
+ virtual Tribool accumulate_changes_to_make_met(
+ const Environment * const,
+ const ChangedChoices * const,
+ const std::shared_ptr<const PackageID> &,
+ const std::shared_ptr<const PackageID> &,
+ ChangedChoices &) const PALUDIS_ATTRIBUTE((warn_unused_result));
+ };
}
#endif