00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PALUDIS_GUARD_PALUDIS_ELIKE_SLOT_REQUIREMENT_HH
00021 #define PALUDIS_GUARD_PALUDIS_ELIKE_SLOT_REQUIREMENT_HH 1
00022
00023 #include <paludis/elike_slot_requirement-fwd.hh>
00024 #include <paludis/slot_requirement.hh>
00025 #include <paludis/name.hh>
00026
00027 namespace paludis
00028 {
00029 class PALUDIS_VISIBLE ELikeSlotExactRequirement :
00030 public SlotExactRequirement
00031 {
00032 private:
00033 const SlotName _s;
00034 const bool _e;
00035
00036 public:
00037 ELikeSlotExactRequirement(const SlotName &, const bool equals);
00038
00039 virtual const std::string as_string() const PALUDIS_ATTRIBUTE((warn_unused_result));
00040 virtual const SlotName slot() const PALUDIS_ATTRIBUTE((warn_unused_result));
00041 };
00042
00043 class PALUDIS_VISIBLE ELikeSlotAnyUnlockedRequirement :
00044 public SlotAnyUnlockedRequirement
00045 {
00046 public:
00047 virtual const std::string as_string() const PALUDIS_ATTRIBUTE((warn_unused_result));
00048 };
00049
00050 class PALUDIS_VISIBLE ELikeSlotAnyLockedRequirement :
00051 public SlotAnyLockedRequirement
00052 {
00053 public:
00054 virtual const std::string as_string() const PALUDIS_ATTRIBUTE((warn_unused_result));
00055 };
00056 }
00057
00058 #endif