mkql_validate.h 800 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include <yql/essentials/minikql/mkql_node.h>
  3. namespace NKikimr {
  4. namespace NMiniKQL {
  5. struct TValidateErrorPolicyNone;
  6. struct TValidateErrorPolicyThrow;
  7. struct TValidateErrorPolicyFail;
  8. template<class TErrorPolicy>
  9. struct TValidateModeLazy;
  10. template<class TErrorPolicy>
  11. struct TValidateModeGreedy;
  12. template<class TErrorPolicy, class TValidateMode = TValidateModeLazy<TErrorPolicy>>
  13. struct TValidate {
  14. static NUdf::TUnboxedValue Value(const NUdf::IValueBuilder* valueBuilder, const TType* type, NUdf::TUnboxedValue&& value, const TString& message, bool* wrapped = nullptr);
  15. static void WrapCallable(const TCallableType* callableType, NUdf::TUnboxedValue& callable, const TString& message);
  16. };
  17. } // namespace MiniKQL
  18. } // namespace NKikimr
  19. #include "mkql_validate_impl.h"