diff options
author | vvvv <[email protected]> | 2025-10-06 13:26:25 +0300 |
---|---|---|
committer | vvvv <[email protected]> | 2025-10-06 14:06:25 +0300 |
commit | eca8ce9cb1613d5c983185c4e43c20651a9638aa (patch) | |
tree | 61ee5ae779948e61af9a7691d19eaa2c09869121 /yql/essentials/udfs/examples/lists/lists_udf.cpp | |
parent | 4adf7eecae16a9b228b28cc5f64c27ef69ad5ec2 (diff) |
YQL-20086 udfs
init
commit_hash:f9684778bf1ea956965f2360b80b91edb7d4ffbe
Diffstat (limited to 'yql/essentials/udfs/examples/lists/lists_udf.cpp')
-rw-r--r-- | yql/essentials/udfs/examples/lists/lists_udf.cpp | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/yql/essentials/udfs/examples/lists/lists_udf.cpp b/yql/essentials/udfs/examples/lists/lists_udf.cpp index 35dbb57dfa3..e310cde3e3b 100644 --- a/yql/essentials/udfs/examples/lists/lists_udf.cpp +++ b/yql/essentials/udfs/examples/lists/lists_udf.cpp @@ -15,8 +15,7 @@ namespace { ////////////////////////////////////////////////////////////////////////////// // TNumbersList ////////////////////////////////////////////////////////////////////////////// -class TNumbers: public TBoxedValue -{ +class TNumbers: public TBoxedValue { public: static TStringRef Name() { static auto name = TStringRef::Of("Numbers"); @@ -25,9 +24,8 @@ public: private: TUnboxedValue Run( - const IValueBuilder* valueBuilder, - const TUnboxedValuePod* args) const override - { + const IValueBuilder* valueBuilder, + const TUnboxedValuePod* args) const override { const auto appendPrepend = args[0].AsStringRef(); const auto count = args[1].Get<ui32>(); std::vector<TUnboxedValue> list(count); @@ -36,8 +34,7 @@ private: for (auto it = list.begin(); list.end() != it; ++it) { *it = TUnboxedValuePod(i++); } - } - else if (TStringRef::Of("Prepend") == appendPrepend) { + } else if (TStringRef::Of("Prepend") == appendPrepend) { for (auto it = list.rbegin(); list.rend() != it; ++it) { *it = TUnboxedValuePod(i++); } @@ -50,8 +47,7 @@ private: ////////////////////////////////////////////////////////////////////////////// // TExtend ////////////////////////////////////////////////////////////////////////////// -class TExtend: public TBoxedValue -{ +class TExtend: public TBoxedValue { public: static TStringRef Name() { static auto name = TStringRef::Of("Extend"); @@ -60,9 +56,8 @@ public: private: TUnboxedValue Run( - const IValueBuilder* valueBuilder, - const TUnboxedValuePod* args) const override - { + const IValueBuilder* valueBuilder, + const TUnboxedValuePod* args) const override { std::array<TUnboxedValue, 2U> list = {{TUnboxedValuePod(args[0]), TUnboxedValuePod(args[1])}}; return valueBuilder->NewList(list.data(), list.size()); } @@ -71,14 +66,14 @@ private: ////////////////////////////////////////////////////////////////////////////// // TListsModule ////////////////////////////////////////////////////////////////////////////// -class TListsModule: public IUdfModule -{ +class TListsModule: public IUdfModule { public: TStringRef Name() const { return TStringRef::Of("Lists"); } - void CleanupOnTerminate() const final {} + void CleanupOnTerminate() const final { + } void GetAllFunctions(IFunctionsSink& sink) const final { sink.Add(TNumbers::Name()); @@ -86,12 +81,11 @@ public: } void BuildFunctionTypeInfo( - const TStringRef& name, - TType* userType, - const TStringRef& typeConfig, - ui32 flags, - IFunctionTypeInfoBuilder& builder) const final - { + const TStringRef& name, + TType* userType, + const TStringRef& typeConfig, + ui32 flags, + IFunctionTypeInfoBuilder& builder) const final { try { Y_UNUSED(userType); Y_UNUSED(typeConfig); @@ -107,14 +101,16 @@ public: if (!typesOnly) { builder.Implementation(new TNumbers); } - } - else if (TExtend::Name() == name) { + } else if (TExtend::Name() == name) { // function signature: // List<ui32> Numbers(List<ui32>, List<ui32>) // runConfig: void auto listType = builder.List()->Item<ui32>().Build(); builder.Returns(listType) - .Args()->Add(listType).Add(listType).Done(); + .Args() + ->Add(listType) + .Add(listType) + .Done(); if (!typesOnly) { builder.Implementation(new TExtend); |