#pragma once #include "format_arg.h" #include #include namespace NYT { //////////////////////////////////////////////////////////////////////////////// std::optional TryDecodeEnumValue(TStringBuf value); TString DecodeEnumValue(TStringBuf value); TString 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 TString FormatEnum(T value); //////////////////////////////////////////////////////////////////////////////// } // namespace NYT #define ENUM_INL_H_ #include "enum-inl.h" #undef ENUM_INL_H_