00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PALUDIS_GUARD_PALUDIS_UTIL_TRIBOOL_HH
00021 #define PALUDIS_GUARD_PALUDIS_UTIL_TRIBOOL_HH 1
00022
00023 #include <paludis/util/tribool-fwd.hh>
00024
00025 namespace paludis
00026 {
00027 class PALUDIS_VISIBLE Tribool
00028 {
00029 private:
00030 enum Value
00031 {
00032 v_false,
00033 v_true,
00034 v_indeterminate
00035 };
00036
00037 Value _value;
00038
00039 public:
00040 Tribool();
00041 Tribool(const bool);
00042 Tribool(TriboolIndeterminateValueType);
00043
00044 bool is_true() const PALUDIS_ATTRIBUTE((warn_unused_result));
00045 bool is_false() const PALUDIS_ATTRIBUTE((warn_unused_result));
00046 bool is_indeterminate() const PALUDIS_ATTRIBUTE((warn_unused_result));
00047 };
00048 }
00049
00050 #endif