aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/yt/misc/enum-inl.h
diff options
context:
space:
mode:
authorbabenko <babenko@yandex-team.com>2024-11-03 15:01:37 +0300
committerbabenko <babenko@yandex-team.com>2024-11-03 15:13:18 +0300
commit1d9c1fe4155c9fbc93a2b08754643f38b2d8a9e6 (patch)
tree4304bf131c70c48c008b0823149420636f213b46 /library/cpp/yt/misc/enum-inl.h
parent516aec4353c6dc63d05883924b1f29d327db6413 (diff)
downloadydb-1d9c1fe4155c9fbc93a2b08754643f38b2d8a9e6.tar.gz
YT-22885: Refactor checked casts
commit_hash:7f7600d332c3ddb5c8372e921bcba3b4fbed68f8
Diffstat (limited to 'library/cpp/yt/misc/enum-inl.h')
-rw-r--r--library/cpp/yt/misc/enum-inl.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/library/cpp/yt/misc/enum-inl.h b/library/cpp/yt/misc/enum-inl.h
index f1fb9f63e1..d8037bbf74 100644
--- a/library/cpp/yt/misc/enum-inl.h
+++ b/library/cpp/yt/misc/enum-inl.h
@@ -324,6 +324,16 @@ constexpr bool TEnumTraits<T, true>::IsKnownValue(T value)
}
template <class T>
+constexpr bool TEnumTraits<T, true>::IsValidValue(T value)
+{
+ if constexpr (IsBitEnum) {
+ return (value & TEnumTraits<T>::GetAllSetValue()) == value;
+ } else {
+ return IsKnownValue(value);
+ }
+}
+
+template <class T>
TString TEnumTraits<T, true>::ToString(T value)
{
using ::ToString;