#pragma once #include "format_arg.h" #include #include namespace NYT { //////////////////////////////////////////////////////////////////////////////// std::optional TryDecodeEnumValue(TStringBuf value); std::string DecodeEnumValue(TStringBuf value); std::string EncodeEnumValue(TStringBuf value); template std::optional TryParseEnum(TStringBuf str, bool enableUnknown = false); template T ParseEnum(TStringBuf str); template void FormatEnum(TStringBuilderBase* builder, T value, bool lowerCase); template std::string FormatEnum(T value); //////////////////////////////////////////////////////////////////////////////// } // namespace NYT #define ENUM_INL_H_ #include "enum-inl.h" #undef ENUM_INL_H_