60 enum class Exist { kAddAlways, kAddIfNotExist, kAddIfExist };
61 enum class Compare { kNone, kGreaterThan, kLessThan };
62 enum class ReturnValue { kAddedCount, kChangedCount };
64 ZaddOptions() =
default;
65 constexpr ZaddOptions(
67 ReturnValue return_value = ReturnValue::kAddedCount,
68 Compare compare = Compare::kNone
70 : exist(exist), compare(compare), return_value(return_value) {}
71 constexpr ZaddOptions(Exist exist, Compare compare, ReturnValue return_value = ReturnValue::kAddedCount)
72 : exist(exist), compare(compare), return_value(return_value) {}
74 constexpr ZaddOptions(ReturnValue return_value, Exist exist = Exist::kAddAlways, Compare compare = Compare::kNone)
75 : exist(exist), compare(compare), return_value(return_value) {}
76 constexpr ZaddOptions(ReturnValue return_value, Compare compare, Exist exist = Exist::kAddAlways)
77 : exist(exist), compare(compare), return_value(return_value) {}
79 constexpr ZaddOptions(
81 Exist exist = Exist::kAddAlways,
82 ReturnValue return_value = ReturnValue::kAddedCount
84 : exist(exist), compare(compare), return_value(return_value) {}
85 constexpr ZaddOptions(Compare compare, ReturnValue return_value, Exist exist = Exist::kAddAlways)
86 : exist(exist), compare(compare), return_value(return_value) {}
88 Exist exist = Exist::kAddAlways;
89 Compare compare = Compare::kNone;
90 ReturnValue return_value = ReturnValue::kAddedCount;