/proc/self/cwd/runtime/function_adapter.h
Line | Count | Source |
1 | | // Copyright 2023 Google LLC |
2 | | // |
3 | | // Licensed under the Apache License, Version 2.0 (the "License"); |
4 | | // you may not use this file except in compliance with the License. |
5 | | // You may obtain a copy of the License at |
6 | | // |
7 | | // https://www.apache.org/licenses/LICENSE-2.0 |
8 | | // |
9 | | // Unless required by applicable law or agreed to in writing, software |
10 | | // distributed under the License is distributed on an "AS IS" BASIS, |
11 | | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12 | | // See the License for the specific language governing permissions and |
13 | | // limitations under the License. |
14 | | // |
15 | | // Definitions for template helpers to wrap C++ functions as CEL extension |
16 | | // function implementations. |
17 | | |
18 | | #ifndef THIRD_PARTY_CEL_CPP_RUNTIME_FUNCTION_ADAPTER_H_ |
19 | | #define THIRD_PARTY_CEL_CPP_RUNTIME_FUNCTION_ADAPTER_H_ |
20 | | |
21 | | #include <cstddef> |
22 | | #include <functional> |
23 | | #include <memory> |
24 | | #include <tuple> |
25 | | #include <type_traits> |
26 | | #include <utility> |
27 | | #include <vector> |
28 | | |
29 | | #include "absl/base/nullability.h" |
30 | | #include "absl/functional/any_invocable.h" |
31 | | #include "absl/status/status.h" |
32 | | #include "absl/status/statusor.h" |
33 | | #include "absl/strings/str_cat.h" |
34 | | #include "absl/strings/string_view.h" |
35 | | #include "absl/types/span.h" |
36 | | #include "common/function_descriptor.h" |
37 | | #include "common/value.h" |
38 | | #include "internal/status_macros.h" |
39 | | #include "runtime/function.h" |
40 | | #include "runtime/internal/function_adapter.h" |
41 | | #include "runtime/register_function_helper.h" |
42 | | #include "google/protobuf/arena.h" |
43 | | #include "google/protobuf/descriptor.h" |
44 | | #include "google/protobuf/message.h" |
45 | | |
46 | | namespace cel { |
47 | | |
48 | | namespace runtime_internal { |
49 | | |
50 | | template <typename T> |
51 | | struct AdaptedTypeTraits { |
52 | | using AssignableType = T; |
53 | | |
54 | 6.09M | static T ToArg(AssignableType v) { return v; }cel::runtime_internal::AdaptedTypeTraits<double>::ToArg(double) Line | Count | Source | 54 | 375k | static T ToArg(AssignableType v) { return v; } |
cel::runtime_internal::AdaptedTypeTraits<long>::ToArg(long) Line | Count | Source | 54 | 2.19M | static T ToArg(AssignableType v) { return v; } |
cel::runtime_internal::AdaptedTypeTraits<unsigned long>::ToArg(unsigned long) Line | Count | Source | 54 | 3.48M | static T ToArg(AssignableType v) { return v; } |
cel::runtime_internal::AdaptedTypeTraits<bool>::ToArg(bool) Line | Count | Source | 54 | 3.39k | static T ToArg(AssignableType v) { return v; } |
cel::runtime_internal::AdaptedTypeTraits<absl::lts_20260526::Duration>::ToArg(absl::lts_20260526::Duration) Line | Count | Source | 54 | 11.1k | static T ToArg(AssignableType v) { return v; } |
cel::runtime_internal::AdaptedTypeTraits<absl::lts_20260526::Time>::ToArg(absl::lts_20260526::Time) Line | Count | Source | 54 | 6.30k | static T ToArg(AssignableType v) { return v; } |
Unexecuted instantiation: cel::runtime_internal::AdaptedTypeTraits<cel::ListValue>::ToArg(cel::ListValue) Unexecuted instantiation: cel::runtime_internal::AdaptedTypeTraits<cel::Value>::ToArg(cel::Value) cel::runtime_internal::AdaptedTypeTraits<cel::StringValue>::ToArg(cel::StringValue) Line | Count | Source | 54 | 20.4k | static T ToArg(AssignableType v) { return v; } |
cel::runtime_internal::AdaptedTypeTraits<cel::BytesValue>::ToArg(cel::BytesValue) Line | Count | Source | 54 | 147 | static T ToArg(AssignableType v) { return v; } |
|
55 | | }; |
56 | | |
57 | | // Specialization for cref parameters without forcing a temporary copy of the |
58 | | // underlying handle argument. |
59 | | template <> |
60 | | struct AdaptedTypeTraits<const Value&> { |
61 | | using AssignableType = const Value*; |
62 | | |
63 | 4.07k | static std::reference_wrapper<const Value> ToArg(AssignableType v) { |
64 | 4.07k | return *v; |
65 | 4.07k | } |
66 | | }; |
67 | | |
68 | | template <> |
69 | | struct AdaptedTypeTraits<const StringValue&> { |
70 | | using AssignableType = const StringValue*; |
71 | | |
72 | 172k | static std::reference_wrapper<const StringValue> ToArg(AssignableType v) { |
73 | 172k | return *v; |
74 | 172k | } |
75 | | }; |
76 | | |
77 | | template <> |
78 | | struct AdaptedTypeTraits<const BytesValue&> { |
79 | | using AssignableType = const BytesValue*; |
80 | | |
81 | 10.6k | static std::reference_wrapper<const BytesValue> ToArg(AssignableType v) { |
82 | 10.6k | return *v; |
83 | 10.6k | } |
84 | | }; |
85 | | |
86 | | // Partial specialization for other cases. |
87 | | // |
88 | | // These types aren't referenceable since they aren't actually |
89 | | // represented as alternatives in the underlying variant. |
90 | | // |
91 | | // This still requires an implicit copy and corresponding ref-count increase. |
92 | | template <typename T> |
93 | | struct AdaptedTypeTraits<const T&> { |
94 | | using AssignableType = T; |
95 | | |
96 | 996k | static T ToArg(AssignableType v) { return v; }cel::runtime_internal::AdaptedTypeTraits<cel::ListValue const&>::ToArg(cel::ListValue) Line | Count | Source | 96 | 995k | static T ToArg(AssignableType v) { return v; } |
cel::runtime_internal::AdaptedTypeTraits<cel::MapValue const&>::ToArg(cel::MapValue) Line | Count | Source | 96 | 711 | static T ToArg(AssignableType v) { return v; } |
Unexecuted instantiation: cel::runtime_internal::AdaptedTypeTraits<cel::NullValue const&>::ToArg(cel::NullValue) Unexecuted instantiation: cel::runtime_internal::AdaptedTypeTraits<cel::TypeValue const&>::ToArg(cel::TypeValue) Unexecuted instantiation: cel::runtime_internal::AdaptedTypeTraits<cel::StructValue const&>::ToArg(cel::StructValue) |
97 | | }; |
98 | | |
99 | | template <size_t I, typename... Args> |
100 | | struct AdaptHelperImpl { |
101 | | template <typename T> |
102 | | static absl::Status Apply(absl::Span<const Value> input, T& output) { |
103 | | static_assert(sizeof...(Args) > 0); |
104 | | static_assert(std::tuple_size_v<T> == sizeof...(Args)); |
105 | | CEL_RETURN_IF_ERROR(ValueToAdaptedVisitor{input[I]}(&std::get<I>(output))); |
106 | | if constexpr (I == sizeof...(Args) - 1) { |
107 | | return absl::OkStatus(); |
108 | | } else { |
109 | | CEL_RETURN_IF_ERROR( |
110 | | (AdaptHelperImpl<I + 1, Args...>::template Apply<T>(input, output))); |
111 | | } |
112 | | return absl::OkStatus(); |
113 | | } |
114 | | }; |
115 | | |
116 | | template <typename... Args> |
117 | | struct AdaptHelper { |
118 | | template <typename T> |
119 | | static absl::Status Apply(absl::Span<const Value> input, T& output) { |
120 | | return AdaptHelperImpl<0, Args...>::template Apply<T>(input, output); |
121 | | } |
122 | | }; |
123 | | |
124 | | template <typename... Args> |
125 | | struct ToArgsImpl { |
126 | | template <int I, typename T> |
127 | | struct El { |
128 | | using type = T; |
129 | | constexpr static size_t index = I; |
130 | | }; |
131 | | |
132 | | template <typename... Es> |
133 | | struct ZipHolder { |
134 | | template <typename ResultType, typename TupleType, typename Op> |
135 | | static ResultType ToArgs(Op&& op, const TupleType& argbuffer, |
136 | | const Function::InvokeContext& context) { |
137 | | return std::forward<Op>(op)( |
138 | | runtime_internal::AdaptedTypeTraits<typename Es::type>::ToArg( |
139 | | std::get<Es::index>(argbuffer))..., |
140 | | context); |
141 | | } |
142 | | }; |
143 | | |
144 | | template <size_t... Is> |
145 | | static ZipHolder<El<Is, Args>...> MakeZip(const std::index_sequence<Is...>&) { |
146 | | return ZipHolder<El<Is, Args>...>{}; |
147 | | } |
148 | | }; |
149 | | |
150 | | template <typename... Args> |
151 | | struct ToArgsHelper { |
152 | | template <typename ResultType, typename TupleType, typename Op> |
153 | | static ResultType Apply(Op&& op, const TupleType& argbuffer, |
154 | | const Function::InvokeContext& context) { |
155 | | using Impl = ToArgsImpl<Args...>; |
156 | | using Zip = decltype(Impl::MakeZip(std::index_sequence_for<Args...>{})); |
157 | | return Zip::template ToArgs<ResultType>(std::forward<Op>(op), argbuffer, |
158 | | context); |
159 | | } |
160 | | }; |
161 | | |
162 | | } // namespace runtime_internal |
163 | | |
164 | | // Adapter class for generating CEL extension functions from a one argument |
165 | | // function. |
166 | | // |
167 | | // See documentation for Binary Function adapter for general recommendations. |
168 | | // |
169 | | // Example Usage: |
170 | | // double Invert(ValueManager&, double x) { |
171 | | // return 1 / x; |
172 | | // } |
173 | | // |
174 | | // { |
175 | | // std::unique_ptr<CelExpressionBuilder> builder; |
176 | | // |
177 | | // CEL_RETURN_IF_ERROR( |
178 | | // builder->GetRegistry()->Register( |
179 | | // UnaryFunctionAdapter<double, double>::CreateDescriptor("inv", |
180 | | // /*receiver_style=*/false), |
181 | | // UnaryFunctionAdapter<double, double>::WrapFunction(&Invert))); |
182 | | // } |
183 | | // // example CEL expression |
184 | | // inv(4) == 1/4 [true] |
185 | | template <typename T> |
186 | | class NullaryFunctionAdapter |
187 | | : public RegisterHelper<NullaryFunctionAdapter<T>> { |
188 | | public: |
189 | | using FunctionType = |
190 | | absl::AnyInvocable<T(const Function::InvokeContext&) const>; |
191 | | |
192 | | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { |
193 | | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); |
194 | | } |
195 | | |
196 | | template <typename F> |
197 | | static std::enable_if_t< |
198 | | std::is_invocable_v<F, const google::protobuf::DescriptorPool* absl_nonnull, |
199 | | google::protobuf::MessageFactory* absl_nonnull, |
200 | | google::protobuf::Arena* absl_nonnull>, |
201 | | std::unique_ptr<cel::Function>> |
202 | | WrapFunction(F&& function) { |
203 | | return WrapFunction([function = std::forward<F>(function)]( |
204 | | const Function::InvokeContext& context) -> T { |
205 | | return function(context.descriptor_pool(), context.message_factory(), |
206 | | context.arena()); |
207 | | }); |
208 | | } |
209 | | |
210 | | template <typename F> |
211 | | static std::enable_if_t<std::is_invocable_v<F>, |
212 | | std::unique_ptr<cel::Function>> |
213 | | WrapFunction(F&& function) { |
214 | | return WrapFunction([function = std::forward<F>(function)]( |
215 | | const Function::InvokeContext& context) -> T { |
216 | | return function(); |
217 | | }); |
218 | | } |
219 | | |
220 | | static FunctionDescriptor CreateDescriptor(absl::string_view name, |
221 | | bool receiver_style, |
222 | | bool is_strict) { |
223 | | return CreateDescriptor(name, receiver_style, |
224 | | {is_strict, /*is_contextual=*/false}); |
225 | | } |
226 | | |
227 | | static FunctionDescriptor CreateDescriptor( |
228 | | absl::string_view name, bool receiver_style, |
229 | | FunctionDescriptorOptions options = {}) { |
230 | | return FunctionDescriptor(name, receiver_style, {}, options); |
231 | | } |
232 | | |
233 | | private: |
234 | | class UnaryFunctionImpl : public Function { |
235 | | public: |
236 | | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
237 | | absl::StatusOr<Value> Invoke( |
238 | | absl::Span<const Value> args, |
239 | | const Function::InvokeContext& context) const final { |
240 | | if (args.size() != 0) { |
241 | | return absl::InvalidArgumentError( |
242 | | "unexpected number of arguments for nullary function"); |
243 | | } |
244 | | |
245 | | if constexpr (std::is_same_v<T, Value> || |
246 | | std::is_same_v<T, absl::StatusOr<Value>>) { |
247 | | return fn_(context); |
248 | | } else { |
249 | | T result = fn_(context); |
250 | | |
251 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); |
252 | | } |
253 | | } |
254 | | |
255 | | private: |
256 | | FunctionType fn_; |
257 | | }; |
258 | | }; |
259 | | |
260 | | // Adapter class for generating CEL extension functions from a one argument |
261 | | // function. |
262 | | // |
263 | | // See documentation for Binary Function adapter for general recommendations. |
264 | | // |
265 | | // Example Usage: |
266 | | // double Invert(ValueManager&, double x) { |
267 | | // return 1 / x; |
268 | | // } |
269 | | // |
270 | | // { |
271 | | // std::unique_ptr<CelExpressionBuilder> builder; |
272 | | // |
273 | | // CEL_RETURN_IF_ERROR( |
274 | | // builder->GetRegistry()->Register( |
275 | | // UnaryFunctionAdapter<double, double>::CreateDescriptor("inv", |
276 | | // /*receiver_style=*/false), |
277 | | // UnaryFunctionAdapter<double, double>::WrapFunction(&Invert))); |
278 | | // } |
279 | | // // example CEL expression |
280 | | // inv(4) == 1/4 [true] |
281 | | template <typename T, typename U> |
282 | | class UnaryFunctionAdapter : public RegisterHelper<UnaryFunctionAdapter<T, U>> { |
283 | | public: |
284 | | using FunctionType = |
285 | | absl::AnyInvocable<T(U, const Function::InvokeContext&) const>; |
286 | | |
287 | 1.36M | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { |
288 | 1.36M | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); |
289 | 1.36M | } cel::UnaryFunctionAdapter<cel::Value, long>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 68.1k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 68.1k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 68.1k | } |
cel::UnaryFunctionAdapter<double, double>::WrapFunction(absl::lts_20260526::AnyInvocable<double (double, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 45.4k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 45.4k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 45.4k | } |
cel::UnaryFunctionAdapter<absl::lts_20260526::StatusOr<long>, cel::ListValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<long> (cel::ListValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 45.4k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 45.4k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 45.4k | } |
cel::UnaryFunctionAdapter<absl::lts_20260526::StatusOr<long>, cel::MapValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<long> (cel::MapValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 45.4k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 45.4k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 45.4k | } |
cel::UnaryFunctionAdapter<bool, bool>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (bool, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 45.4k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 45.4k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 45.4k | } |
cel::UnaryFunctionAdapter<cel::Value, cel::Value>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (cel::Value, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 45.4k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 45.4k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 45.4k | } |
cel::UnaryFunctionAdapter<long, cel::StringValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<long (cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 45.4k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 45.4k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 45.4k | } |
cel::UnaryFunctionAdapter<long, cel::BytesValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<long (cel::BytesValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 45.4k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 45.4k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 45.4k | } |
cel::UnaryFunctionAdapter<cel::Value, absl::lts_20260526::Time>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 272k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 272k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 272k | } |
cel::UnaryFunctionAdapter<long, absl::lts_20260526::Duration>::WrapFunction(absl::lts_20260526::AnyInvocable<long (absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 90.8k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 90.8k | } |
cel::UnaryFunctionAdapter<cel::Value, cel::StringValue>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (cel::StringValue, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::BytesValue, cel::BytesValue>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::BytesValue (cel::BytesValue, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::BytesValue>, cel::StringValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::BytesValue> (cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<double, long>::WrapFunction(absl::lts_20260526::AnyInvocable<double (long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::Value, cel::StringValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 113k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 113k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 113k | } |
cel::UnaryFunctionAdapter<double, unsigned long>::WrapFunction(absl::lts_20260526::AnyInvocable<double (unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<long, bool>::WrapFunction(absl::lts_20260526::AnyInvocable<long (bool, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::Value, double>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (double, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 68.1k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 68.1k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 68.1k | } |
cel::UnaryFunctionAdapter<long, long>::WrapFunction(absl::lts_20260526::AnyInvocable<long (long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<long, absl::lts_20260526::Time>::WrapFunction(absl::lts_20260526::AnyInvocable<long (absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::Value, unsigned long>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::Value, cel::BytesValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (cel::BytesValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::StringValue, bool>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::StringValue (bool, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::StringValue, long>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::StringValue (long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::StringValue, cel::StringValue>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::StringValue (cel::StringValue, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::StringValue, unsigned long>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::StringValue (unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::Value, absl::lts_20260526::Duration>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 45.4k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 45.4k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 45.4k | } |
cel::UnaryFunctionAdapter<unsigned long, unsigned long>::WrapFunction(absl::lts_20260526::AnyInvocable<unsigned long (unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 22.7k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::Value, cel::Value const&>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (cel::Value const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 287 | 45.4k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 288 | 45.4k | return std::make_unique<UnaryFunctionImpl>(std::move(fn)); | 289 | 45.4k | } |
|
290 | | |
291 | | template <typename F> |
292 | | static std::enable_if_t< |
293 | | std::is_invocable_v<F, U, const google::protobuf::DescriptorPool* absl_nonnull, |
294 | | google::protobuf::MessageFactory* absl_nonnull, |
295 | | google::protobuf::Arena* absl_nonnull>, |
296 | | std::unique_ptr<cel::Function>> |
297 | | WrapFunction(F&& function) { |
298 | | return WrapFunction( |
299 | | [function = std::forward<F>(function)]( |
300 | | U arg1, const Function::InvokeContext& context) -> T { |
301 | | return function(arg1, context.descriptor_pool(), |
302 | | context.message_factory(), context.arena()); |
303 | | }); |
304 | | } |
305 | | |
306 | | template <typename F> |
307 | | static std::enable_if_t<std::is_invocable_v<F, U>, |
308 | | std::unique_ptr<cel::Function>> |
309 | 681k | WrapFunction(F&& function) { |
310 | 681k | return WrapFunction( |
311 | 681k | [function = std::forward<F>(function)]( |
312 | 681k | U arg1, const Function::InvokeContext& context) -> T { |
313 | 48.7k | return function(arg1); |
314 | 48.7k | }); arithmetic_functions.cc:_ZZN3cel20UnaryFunctionAdapterIddE12WrapFunctionIZNS_27RegisterArithmeticFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_dEENS9_10unique_ptrINS_8FunctionENS9_14default_deleteISD_EEEEE4typeEOSB_ENKUldRKNSD_13InvokeContextEE_clEdSM_ Line | Count | Source | 312 | 31.9k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 31.9k | return function(arg1); | 314 | 31.9k | }); |
_ZZN3cel20UnaryFunctionAdapterIN4absl12lts_202605268StatusOrIlEERKNS_9ListValueEE12WrapFunctionIRFS4_S7_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ENKUlS7_RKNSG_13InvokeContextEE_clES7_SP_ Line | Count | Source | 312 | 73 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 73 | return function(arg1); | 314 | 73 | }); |
_ZZN3cel20UnaryFunctionAdapterIN4absl12lts_202605268StatusOrIlEERKNS_8MapValueEE12WrapFunctionIRFS4_S7_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ENKUlS7_RKNSG_13InvokeContextEE_clES7_SP_ Line | Count | Source | 312 | 711 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 711 | return function(arg1); | 314 | 711 | }); |
Unexecuted instantiation: logical_functions.cc:_ZZN3cel20UnaryFunctionAdapterIbbE12WrapFunctionIZNS_24RegisterLogicalFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bEENS9_10unique_ptrINS_8FunctionENS9_14default_deleteISD_EEEEE4typeEOSB_ENKUlbRKNSD_13InvokeContextEE_clEbSM_ string_functions.cc:_ZZN3cel20UnaryFunctionAdapterIlRKNS_11StringValueEE12WrapFunctionIRZNS_12_GLOBAL__N_121RegisterSizeFunctionsERNS_16FunctionRegistryEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ENKUlS3_RKNSF_13InvokeContextEE_clES3_SO_ Line | Count | Source | 312 | 610 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 610 | return function(arg1); | 314 | 610 | }); |
string_functions.cc:_ZZN3cel20UnaryFunctionAdapterIlRKNS_10BytesValueEE12WrapFunctionIRZNS_12_GLOBAL__N_121RegisterSizeFunctionsERNS_16FunctionRegistryEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ENKUlS3_RKNSF_13InvokeContextEE_clES3_SO_ Line | Count | Source | 312 | 398 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 398 | return function(arg1); | 314 | 398 | }); |
Unexecuted instantiation: time_functions.cc:_ZZN3cel20UnaryFunctionAdapterIlN4absl12lts_202605268DurationEE12WrapFunctionIZNS_12_GLOBAL__N_125RegisterDurationFunctionsERNS_16FunctionRegistryEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ENKUlS3_RKNSE_13InvokeContextEE_clES3_SN_ Unexecuted instantiation: time_functions.cc:_ZZN3cel20UnaryFunctionAdapterIlN4absl12lts_202605268DurationEE12WrapFunctionIZNS_12_GLOBAL__N_125RegisterDurationFunctionsERNS_16FunctionRegistryEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ENKUlS3_RKNSE_13InvokeContextEE_clES3_SN_ Unexecuted instantiation: time_functions.cc:_ZZN3cel20UnaryFunctionAdapterIlN4absl12lts_202605268DurationEE12WrapFunctionIZNS_12_GLOBAL__N_125RegisterDurationFunctionsERNS_16FunctionRegistryEE3$_2EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ENKUlS3_RKNSE_13InvokeContextEE_clES3_SN_ Unexecuted instantiation: time_functions.cc:_ZZN3cel20UnaryFunctionAdapterIlN4absl12lts_202605268DurationEE12WrapFunctionIZNS_12_GLOBAL__N_125RegisterDurationFunctionsERNS_16FunctionRegistryEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ENKUlS3_RKNSE_13InvokeContextEE_clES3_SN_ type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterIbbE12WrapFunctionIZNS_12_GLOBAL__N_131RegisterBoolConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ENKUlbRKNSE_13InvokeContextEE_clEbSN_ Line | Count | Source | 312 | 323 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 323 | return function(arg1); | 314 | 323 | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterINS_10BytesValueES1_E12WrapFunctionIZNS_12_GLOBAL__N_132RegisterBytesConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S1_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ENKUlS1_RKNSF_13InvokeContextEE_clES1_SO_ Line | Count | Source | 312 | 147 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 147 | return function(arg1); | 314 | 147 | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_10BytesValueEEERKNS_11StringValueEE12WrapFunctionIZNS_12_GLOBAL__N_132RegisterBytesConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S8_EENSI_10unique_ptrINS_8FunctionENSI_14default_deleteISM_EEEEE4typeEOSK_ENKUlS8_RKNSM_13InvokeContextEE_clES8_SV_ Line | Count | Source | 312 | 66 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 66 | return function(arg1); | 314 | 66 | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterIddE12WrapFunctionIZNS_12_GLOBAL__N_133RegisterDoubleConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_dEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ENKUldRKNSE_13InvokeContextEE_clEdSN_ Line | Count | Source | 312 | 8.69k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 8.69k | return function(arg1); | 314 | 8.69k | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterIdlE12WrapFunctionIZNS_12_GLOBAL__N_133RegisterDoubleConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_lEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ENKUllRKNSE_13InvokeContextEE_clElSN_ Line | Count | Source | 312 | 403 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 403 | return function(arg1); | 314 | 403 | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterIdmE12WrapFunctionIZNS_12_GLOBAL__N_133RegisterDoubleConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ENKUlmRKNSE_13InvokeContextEE_clEmSN_ Line | Count | Source | 312 | 206 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 206 | return function(arg1); | 314 | 206 | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterIlbE12WrapFunctionIZNS_12_GLOBAL__N_130RegisterIntConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ENKUlbRKNSE_13InvokeContextEE_clEbSN_ Line | Count | Source | 312 | 210 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 210 | return function(arg1); | 314 | 210 | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterIllE12WrapFunctionIZNS_12_GLOBAL__N_130RegisterIntConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_2EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_lEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ENKUllRKNSE_13InvokeContextEE_clElSN_ Line | Count | Source | 312 | 253 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 253 | return function(arg1); | 314 | 253 | }); |
Unexecuted instantiation: type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterIlN4absl12lts_202605264TimeEE12WrapFunctionIZNS_12_GLOBAL__N_130RegisterIntConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_4EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSD_10unique_ptrINS_8FunctionENSD_14default_deleteISH_EEEEE4typeEOSF_ENKUlS3_RKNSH_13InvokeContextEE_clES3_SQ_ type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterINS_11StringValueEbE12WrapFunctionIZNS_12_GLOBAL__N_133RegisterStringConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bEENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ENKUlbRKNSF_13InvokeContextEE_clEbSO_ Line | Count | Source | 312 | 196 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 196 | return function(arg1); | 314 | 196 | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterINS_11StringValueES1_E12WrapFunctionIZNS_12_GLOBAL__N_133RegisterStringConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S1_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ENKUlS1_RKNSF_13InvokeContextEE_clES1_SO_ Line | Count | Source | 312 | 194 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 194 | return function(arg1); | 314 | 194 | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterImmE12WrapFunctionIZNS_12_GLOBAL__N_131RegisterUintConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ENKUlmRKNSE_13InvokeContextEE_clEmSN_ Line | Count | Source | 312 | 197 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 197 | return function(arg1); | 314 | 197 | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterINS_5ValueEN4absl12lts_202605264TimeEE12WrapFunctionIZNS_12_GLOBAL__N_131RegisterTimeConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_EENSE_10unique_ptrINS_8FunctionENSE_14default_deleteISI_EEEEE4typeEOSG_ENKUlS4_RKNSI_13InvokeContextEE_clES4_SR_ Line | Count | Source | 312 | 1 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 1 | return function(arg1); | 314 | 1 | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterINS_5ValueEN4absl12lts_202605268DurationEE12WrapFunctionIZNS_12_GLOBAL__N_131RegisterTimeConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_2EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_EENSE_10unique_ptrINS_8FunctionENSE_14default_deleteISI_EEEEE4typeEOSG_ENKUlS4_RKNSI_13InvokeContextEE_clES4_SR_ Line | Count | Source | 312 | 1 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 1 | return function(arg1); | 314 | 1 | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterINS_5ValueERKS1_E12WrapFunctionIZNS_31RegisterTypeConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ENKUlS3_RKNSG_13InvokeContextEE_clES3_SP_ Line | Count | Source | 312 | 70 | U arg1, const Function::InvokeContext& context) -> T { | 313 | 70 | return function(arg1); | 314 | 70 | }); |
type_conversion_functions.cc:_ZZN3cel20UnaryFunctionAdapterINS_5ValueERKS1_E12WrapFunctionIZNS_31RegisterTypeConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ENKUlS3_RKNSG_13InvokeContextEE_clES3_SP_ Line | Count | Source | 312 | 4.00k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 4.00k | return function(arg1); | 314 | 4.00k | }); |
|
315 | 681k | } arithmetic_functions.cc:_ZN3cel20UnaryFunctionAdapterIddE12WrapFunctionIZNS_27RegisterArithmeticFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_dEENS9_10unique_ptrINS_8FunctionENS9_14default_deleteISD_EEEEE4typeEOSB_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
_ZN3cel20UnaryFunctionAdapterIN4absl12lts_202605268StatusOrIlEERKNS_9ListValueEE12WrapFunctionIRFS4_S7_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ Line | Count | Source | 309 | 45.4k | WrapFunction(F&& function) { | 310 | 45.4k | return WrapFunction( | 311 | 45.4k | [function = std::forward<F>(function)]( | 312 | 45.4k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 45.4k | return function(arg1); | 314 | 45.4k | }); | 315 | 45.4k | } |
_ZN3cel20UnaryFunctionAdapterIN4absl12lts_202605268StatusOrIlEERKNS_8MapValueEE12WrapFunctionIRFS4_S7_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ Line | Count | Source | 309 | 45.4k | WrapFunction(F&& function) { | 310 | 45.4k | return WrapFunction( | 311 | 45.4k | [function = std::forward<F>(function)]( | 312 | 45.4k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 45.4k | return function(arg1); | 314 | 45.4k | }); | 315 | 45.4k | } |
logical_functions.cc:_ZN3cel20UnaryFunctionAdapterIbbE12WrapFunctionIZNS_24RegisterLogicalFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bEENS9_10unique_ptrINS_8FunctionENS9_14default_deleteISD_EEEEE4typeEOSB_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
string_functions.cc:_ZN3cel20UnaryFunctionAdapterIlRKNS_11StringValueEE12WrapFunctionIRZNS_12_GLOBAL__N_121RegisterSizeFunctionsERNS_16FunctionRegistryEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ Line | Count | Source | 309 | 45.4k | WrapFunction(F&& function) { | 310 | 45.4k | return WrapFunction( | 311 | 45.4k | [function = std::forward<F>(function)]( | 312 | 45.4k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 45.4k | return function(arg1); | 314 | 45.4k | }); | 315 | 45.4k | } |
string_functions.cc:_ZN3cel20UnaryFunctionAdapterIlRKNS_10BytesValueEE12WrapFunctionIRZNS_12_GLOBAL__N_121RegisterSizeFunctionsERNS_16FunctionRegistryEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ Line | Count | Source | 309 | 45.4k | WrapFunction(F&& function) { | 310 | 45.4k | return WrapFunction( | 311 | 45.4k | [function = std::forward<F>(function)]( | 312 | 45.4k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 45.4k | return function(arg1); | 314 | 45.4k | }); | 315 | 45.4k | } |
time_functions.cc:_ZN3cel20UnaryFunctionAdapterIlN4absl12lts_202605268DurationEE12WrapFunctionIZNS_12_GLOBAL__N_125RegisterDurationFunctionsERNS_16FunctionRegistryEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
time_functions.cc:_ZN3cel20UnaryFunctionAdapterIlN4absl12lts_202605268DurationEE12WrapFunctionIZNS_12_GLOBAL__N_125RegisterDurationFunctionsERNS_16FunctionRegistryEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
time_functions.cc:_ZN3cel20UnaryFunctionAdapterIlN4absl12lts_202605268DurationEE12WrapFunctionIZNS_12_GLOBAL__N_125RegisterDurationFunctionsERNS_16FunctionRegistryEE3$_2EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
time_functions.cc:_ZN3cel20UnaryFunctionAdapterIlN4absl12lts_202605268DurationEE12WrapFunctionIZNS_12_GLOBAL__N_125RegisterDurationFunctionsERNS_16FunctionRegistryEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterIbbE12WrapFunctionIZNS_12_GLOBAL__N_131RegisterBoolConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterINS_10BytesValueES1_E12WrapFunctionIZNS_12_GLOBAL__N_132RegisterBytesConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S1_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_10BytesValueEEERKNS_11StringValueEE12WrapFunctionIZNS_12_GLOBAL__N_132RegisterBytesConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S8_EENSI_10unique_ptrINS_8FunctionENSI_14default_deleteISM_EEEEE4typeEOSK_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterIddE12WrapFunctionIZNS_12_GLOBAL__N_133RegisterDoubleConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_dEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterIdlE12WrapFunctionIZNS_12_GLOBAL__N_133RegisterDoubleConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_lEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterIdmE12WrapFunctionIZNS_12_GLOBAL__N_133RegisterDoubleConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterIlbE12WrapFunctionIZNS_12_GLOBAL__N_130RegisterIntConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterIllE12WrapFunctionIZNS_12_GLOBAL__N_130RegisterIntConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_2EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_lEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterIlN4absl12lts_202605264TimeEE12WrapFunctionIZNS_12_GLOBAL__N_130RegisterIntConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_4EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSD_10unique_ptrINS_8FunctionENSD_14default_deleteISH_EEEEE4typeEOSF_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterINS_11StringValueEbE12WrapFunctionIZNS_12_GLOBAL__N_133RegisterStringConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bEENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterINS_11StringValueES1_E12WrapFunctionIZNS_12_GLOBAL__N_133RegisterStringConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S1_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterImmE12WrapFunctionIZNS_12_GLOBAL__N_131RegisterUintConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mEENSA_10unique_ptrINS_8FunctionENSA_14default_deleteISE_EEEEE4typeEOSC_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterINS_5ValueEN4absl12lts_202605264TimeEE12WrapFunctionIZNS_12_GLOBAL__N_131RegisterTimeConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_EENSE_10unique_ptrINS_8FunctionENSE_14default_deleteISI_EEEEE4typeEOSG_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterINS_5ValueEN4absl12lts_202605268DurationEE12WrapFunctionIZNS_12_GLOBAL__N_131RegisterTimeConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_2EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_EENSE_10unique_ptrINS_8FunctionENSE_14default_deleteISI_EEEEE4typeEOSG_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterINS_5ValueERKS1_E12WrapFunctionIZNS_31RegisterTypeConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
type_conversion_functions.cc:_ZN3cel20UnaryFunctionAdapterINS_5ValueERKS1_E12WrapFunctionIZNS_31RegisterTypeConversionFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ Line | Count | Source | 309 | 22.7k | WrapFunction(F&& function) { | 310 | 22.7k | return WrapFunction( | 311 | 22.7k | [function = std::forward<F>(function)]( | 312 | 22.7k | U arg1, const Function::InvokeContext& context) -> T { | 313 | 22.7k | return function(arg1); | 314 | 22.7k | }); | 315 | 22.7k | } |
|
316 | | |
317 | | static FunctionDescriptor CreateDescriptor(absl::string_view name, |
318 | | bool receiver_style, |
319 | 45.4k | bool is_strict) { |
320 | 45.4k | return CreateDescriptor( |
321 | 45.4k | name, receiver_style, |
322 | 45.4k | FunctionDescriptorOptions{is_strict, /*is_contextual=*/false}); |
323 | 45.4k | } |
324 | | |
325 | | static FunctionDescriptor CreateDescriptor( |
326 | | absl::string_view name, bool receiver_style, |
327 | 1.36M | FunctionDescriptorOptions options = {}) { |
328 | 1.36M | return FunctionDescriptor(name, receiver_style, |
329 | 1.36M | {runtime_internal::AdaptedKind<U>()}, options); |
330 | 1.36M | } cel::UnaryFunctionAdapter<cel::Value, long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 68.1k | FunctionDescriptorOptions options = {}) { | 328 | 68.1k | return FunctionDescriptor(name, receiver_style, | 329 | 68.1k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 68.1k | } |
cel::UnaryFunctionAdapter<double, double>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 45.4k | FunctionDescriptorOptions options = {}) { | 328 | 45.4k | return FunctionDescriptor(name, receiver_style, | 329 | 45.4k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 45.4k | } |
cel::UnaryFunctionAdapter<absl::lts_20260526::StatusOr<long>, cel::ListValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 45.4k | FunctionDescriptorOptions options = {}) { | 328 | 45.4k | return FunctionDescriptor(name, receiver_style, | 329 | 45.4k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 45.4k | } |
cel::UnaryFunctionAdapter<absl::lts_20260526::StatusOr<long>, cel::MapValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 45.4k | FunctionDescriptorOptions options = {}) { | 328 | 45.4k | return FunctionDescriptor(name, receiver_style, | 329 | 45.4k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 45.4k | } |
cel::UnaryFunctionAdapter<bool, bool>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 45.4k | FunctionDescriptorOptions options = {}) { | 328 | 45.4k | return FunctionDescriptor(name, receiver_style, | 329 | 45.4k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 45.4k | } |
cel::UnaryFunctionAdapter<cel::Value, cel::Value>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 45.4k | FunctionDescriptorOptions options = {}) { | 328 | 45.4k | return FunctionDescriptor(name, receiver_style, | 329 | 45.4k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 45.4k | } |
cel::UnaryFunctionAdapter<long, cel::StringValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 45.4k | FunctionDescriptorOptions options = {}) { | 328 | 45.4k | return FunctionDescriptor(name, receiver_style, | 329 | 45.4k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 45.4k | } |
cel::UnaryFunctionAdapter<long, cel::BytesValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 45.4k | FunctionDescriptorOptions options = {}) { | 328 | 45.4k | return FunctionDescriptor(name, receiver_style, | 329 | 45.4k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 45.4k | } |
cel::UnaryFunctionAdapter<cel::Value, absl::lts_20260526::Time>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 272k | FunctionDescriptorOptions options = {}) { | 328 | 272k | return FunctionDescriptor(name, receiver_style, | 329 | 272k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 272k | } |
cel::UnaryFunctionAdapter<long, absl::lts_20260526::Duration>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 90.8k | FunctionDescriptorOptions options = {}) { | 328 | 90.8k | return FunctionDescriptor(name, receiver_style, | 329 | 90.8k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 90.8k | } |
cel::UnaryFunctionAdapter<cel::Value, cel::StringValue>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::BytesValue, cel::BytesValue>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::BytesValue>, cel::StringValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<double, long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::Value, cel::StringValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 113k | FunctionDescriptorOptions options = {}) { | 328 | 113k | return FunctionDescriptor(name, receiver_style, | 329 | 113k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 113k | } |
cel::UnaryFunctionAdapter<double, unsigned long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<long, bool>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::Value, double>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 68.1k | FunctionDescriptorOptions options = {}) { | 328 | 68.1k | return FunctionDescriptor(name, receiver_style, | 329 | 68.1k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 68.1k | } |
cel::UnaryFunctionAdapter<long, long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<long, absl::lts_20260526::Time>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::Value, unsigned long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::Value, cel::BytesValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::StringValue, bool>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::StringValue, long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::StringValue, cel::StringValue>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::StringValue, unsigned long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::Value, absl::lts_20260526::Duration>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 45.4k | FunctionDescriptorOptions options = {}) { | 328 | 45.4k | return FunctionDescriptor(name, receiver_style, | 329 | 45.4k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 45.4k | } |
cel::UnaryFunctionAdapter<unsigned long, unsigned long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 22.7k | FunctionDescriptorOptions options = {}) { | 328 | 22.7k | return FunctionDescriptor(name, receiver_style, | 329 | 22.7k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 22.7k | } |
cel::UnaryFunctionAdapter<cel::Value, cel::Value const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 327 | 45.4k | FunctionDescriptorOptions options = {}) { | 328 | 45.4k | return FunctionDescriptor(name, receiver_style, | 329 | 45.4k | {runtime_internal::AdaptedKind<U>()}, options); | 330 | 45.4k | } |
|
331 | | |
332 | | private: |
333 | | class UnaryFunctionImpl : public Function { |
334 | | public: |
335 | 1.36M | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {}cel::UnaryFunctionAdapter<cel::Value, long>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 68.1k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<double, double>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<double (double, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 45.4k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<absl::lts_20260526::StatusOr<long>, cel::ListValue const&>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<long> (cel::ListValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 45.4k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<absl::lts_20260526::StatusOr<long>, cel::MapValue const&>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<long> (cel::MapValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 45.4k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<bool, bool>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (bool, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 45.4k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::Value, cel::Value>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (cel::Value, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 45.4k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<long, cel::StringValue const&>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<long (cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 45.4k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<long, cel::BytesValue const&>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<long (cel::BytesValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 45.4k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::Value, absl::lts_20260526::Time>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 272k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<long, absl::lts_20260526::Duration>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<long (absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 90.8k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::Value, cel::StringValue>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (cel::StringValue, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::BytesValue, cel::BytesValue>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::BytesValue (cel::BytesValue, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::BytesValue>, cel::StringValue const&>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::BytesValue> (cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<double, long>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<double (long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::Value, cel::StringValue const&>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 113k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<double, unsigned long>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<double (unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<long, bool>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<long (bool, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::Value, double>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (double, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 68.1k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<long, long>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<long (long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<long, absl::lts_20260526::Time>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<long (absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::Value, unsigned long>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::Value, cel::BytesValue const&>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (cel::BytesValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::StringValue, bool>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::StringValue (bool, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::StringValue, long>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::StringValue (long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::StringValue, cel::StringValue>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::StringValue (cel::StringValue, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::StringValue, unsigned long>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::StringValue (unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::Value, absl::lts_20260526::Duration>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 45.4k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<unsigned long, unsigned long>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<unsigned long (unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 22.7k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::UnaryFunctionAdapter<cel::Value, cel::Value const&>::UnaryFunctionImpl::UnaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (cel::Value const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 335 | 45.4k | explicit UnaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
|
336 | | absl::StatusOr<Value> Invoke( |
337 | | absl::Span<const Value> args, |
338 | 372k | const Function::InvokeContext& context) const final { |
339 | 372k | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; |
340 | 372k | if (args.size() != 1) { |
341 | 0 | return absl::InvalidArgumentError( |
342 | 0 | "unexpected number of arguments for unary function"); |
343 | 0 | } |
344 | 372k | typename ArgTraits::AssignableType arg1; |
345 | | |
346 | 372k | CEL_RETURN_IF_ERROR( |
347 | 372k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); |
348 | | if constexpr (std::is_same_v<T, Value> || |
349 | 326k | std::is_same_v<T, absl::StatusOr<Value>>) { |
350 | 326k | return fn_(ArgTraits::ToArg(arg1), context); |
351 | 326k | } else { |
352 | 45.9k | T result = fn_(ArgTraits::ToArg(arg1), context); |
353 | | |
354 | 45.9k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); |
355 | 45.9k | } |
356 | 372k | } cel::UnaryFunctionAdapter<cel::Value, long>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 61.6k | const Function::InvokeContext& context) const final { | 339 | 61.6k | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 61.6k | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 61.6k | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 61.6k | CEL_RETURN_IF_ERROR( | 347 | 61.6k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | 61.6k | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | 61.6k | return fn_(ArgTraits::ToArg(arg1), context); | 351 | | } else { | 352 | | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | | } | 356 | 61.6k | } |
cel::UnaryFunctionAdapter<double, double>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 40.6k | const Function::InvokeContext& context) const final { | 339 | 40.6k | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 40.6k | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 40.6k | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 40.6k | CEL_RETURN_IF_ERROR( | 347 | 40.6k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 40.6k | } else { | 352 | 40.6k | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 40.6k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 40.6k | } | 356 | 40.6k | } |
cel::UnaryFunctionAdapter<absl::lts_20260526::StatusOr<long>, cel::ListValue const&>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 73 | const Function::InvokeContext& context) const final { | 339 | 73 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 73 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 73 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 73 | CEL_RETURN_IF_ERROR( | 347 | 73 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 73 | } else { | 352 | 73 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 73 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 73 | } | 356 | 73 | } |
cel::UnaryFunctionAdapter<absl::lts_20260526::StatusOr<long>, cel::MapValue const&>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 711 | const Function::InvokeContext& context) const final { | 339 | 711 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 711 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 711 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 711 | CEL_RETURN_IF_ERROR( | 347 | 711 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 711 | } else { | 352 | 711 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 711 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 711 | } | 356 | 711 | } |
cel::UnaryFunctionAdapter<bool, bool>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 323 | const Function::InvokeContext& context) const final { | 339 | 323 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 323 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 323 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 323 | CEL_RETURN_IF_ERROR( | 347 | 323 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 323 | } else { | 352 | 323 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 323 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 323 | } | 356 | 323 | } |
Unexecuted instantiation: cel::UnaryFunctionAdapter<cel::Value, cel::Value>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const cel::UnaryFunctionAdapter<long, cel::StringValue const&>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 610 | const Function::InvokeContext& context) const final { | 339 | 610 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 610 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 610 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 610 | CEL_RETURN_IF_ERROR( | 347 | 610 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 610 | } else { | 352 | 610 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 610 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 610 | } | 356 | 610 | } |
cel::UnaryFunctionAdapter<long, cel::BytesValue const&>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 398 | const Function::InvokeContext& context) const final { | 339 | 398 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 398 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 398 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 398 | CEL_RETURN_IF_ERROR( | 347 | 398 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 398 | } else { | 352 | 398 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 398 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 398 | } | 356 | 398 | } |
cel::UnaryFunctionAdapter<cel::Value, absl::lts_20260526::Time>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 1 | const Function::InvokeContext& context) const final { | 339 | 1 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 1 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 1 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 1 | CEL_RETURN_IF_ERROR( | 347 | 1 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | 1 | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | 1 | return fn_(ArgTraits::ToArg(arg1), context); | 351 | | } else { | 352 | | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | | } | 356 | 1 | } |
Unexecuted instantiation: cel::UnaryFunctionAdapter<long, absl::lts_20260526::Duration>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const cel::UnaryFunctionAdapter<cel::Value, cel::StringValue>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 20.2k | const Function::InvokeContext& context) const final { | 339 | 20.2k | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 20.2k | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 20.2k | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 20.2k | CEL_RETURN_IF_ERROR( | 347 | 20.2k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | 20.2k | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | 20.2k | return fn_(ArgTraits::ToArg(arg1), context); | 351 | | } else { | 352 | | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | | } | 356 | 20.2k | } |
cel::UnaryFunctionAdapter<cel::BytesValue, cel::BytesValue>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 147 | const Function::InvokeContext& context) const final { | 339 | 147 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 147 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 147 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 147 | CEL_RETURN_IF_ERROR( | 347 | 147 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 147 | } else { | 352 | 147 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 147 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 147 | } | 356 | 147 | } |
cel::UnaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::BytesValue>, cel::StringValue const&>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 66 | const Function::InvokeContext& context) const final { | 339 | 66 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 66 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 66 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 66 | CEL_RETURN_IF_ERROR( | 347 | 66 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 66 | } else { | 352 | 66 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 66 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 66 | } | 356 | 66 | } |
cel::UnaryFunctionAdapter<double, long>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 403 | const Function::InvokeContext& context) const final { | 339 | 403 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 403 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 403 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 403 | CEL_RETURN_IF_ERROR( | 347 | 403 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 403 | } else { | 352 | 403 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 403 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 403 | } | 356 | 403 | } |
cel::UnaryFunctionAdapter<cel::Value, cel::StringValue const&>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 151k | const Function::InvokeContext& context) const final { | 339 | 151k | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 151k | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 151k | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 151k | CEL_RETURN_IF_ERROR( | 347 | 151k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | 151k | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | 151k | return fn_(ArgTraits::ToArg(arg1), context); | 351 | | } else { | 352 | | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | | } | 356 | 151k | } |
cel::UnaryFunctionAdapter<double, unsigned long>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 206 | const Function::InvokeContext& context) const final { | 339 | 206 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 206 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 206 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 206 | CEL_RETURN_IF_ERROR( | 347 | 206 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 206 | } else { | 352 | 206 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 206 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 206 | } | 356 | 206 | } |
cel::UnaryFunctionAdapter<long, bool>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 210 | const Function::InvokeContext& context) const final { | 339 | 210 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 210 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 210 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 210 | CEL_RETURN_IF_ERROR( | 347 | 210 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 210 | } else { | 352 | 210 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 210 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 210 | } | 356 | 210 | } |
cel::UnaryFunctionAdapter<cel::Value, double>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 56.8k | const Function::InvokeContext& context) const final { | 339 | 56.8k | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 56.8k | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 56.8k | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 56.8k | CEL_RETURN_IF_ERROR( | 347 | 56.8k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | 56.8k | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | 56.8k | return fn_(ArgTraits::ToArg(arg1), context); | 351 | | } else { | 352 | | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | | } | 356 | 56.8k | } |
cel::UnaryFunctionAdapter<long, long>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 253 | const Function::InvokeContext& context) const final { | 339 | 253 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 253 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 253 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 253 | CEL_RETURN_IF_ERROR( | 347 | 253 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 253 | } else { | 352 | 253 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 253 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 253 | } | 356 | 253 | } |
Unexecuted instantiation: cel::UnaryFunctionAdapter<long, absl::lts_20260526::Time>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const cel::UnaryFunctionAdapter<cel::Value, unsigned long>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 29.8k | const Function::InvokeContext& context) const final { | 339 | 29.8k | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 29.8k | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 29.8k | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 29.8k | CEL_RETURN_IF_ERROR( | 347 | 29.8k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | 29.8k | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | 29.8k | return fn_(ArgTraits::ToArg(arg1), context); | 351 | | } else { | 352 | | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | | } | 356 | 29.8k | } |
cel::UnaryFunctionAdapter<cel::Value, cel::BytesValue const&>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 2.38k | const Function::InvokeContext& context) const final { | 339 | 2.38k | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 2.38k | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 2.38k | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 2.38k | CEL_RETURN_IF_ERROR( | 347 | 2.38k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | 2.38k | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | 2.38k | return fn_(ArgTraits::ToArg(arg1), context); | 351 | | } else { | 352 | | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | | } | 356 | 2.38k | } |
cel::UnaryFunctionAdapter<cel::StringValue, bool>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 196 | const Function::InvokeContext& context) const final { | 339 | 196 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 196 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 196 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 196 | CEL_RETURN_IF_ERROR( | 347 | 196 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 196 | } else { | 352 | 196 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 196 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 196 | } | 356 | 196 | } |
cel::UnaryFunctionAdapter<cel::StringValue, long>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 508 | const Function::InvokeContext& context) const final { | 339 | 508 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 508 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 508 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 508 | CEL_RETURN_IF_ERROR( | 347 | 508 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 508 | } else { | 352 | 508 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 508 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 508 | } | 356 | 508 | } |
cel::UnaryFunctionAdapter<cel::StringValue, cel::StringValue>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 194 | const Function::InvokeContext& context) const final { | 339 | 194 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 194 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 194 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 194 | CEL_RETURN_IF_ERROR( | 347 | 194 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 194 | } else { | 352 | 194 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 194 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 194 | } | 356 | 194 | } |
cel::UnaryFunctionAdapter<cel::StringValue, unsigned long>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 814 | const Function::InvokeContext& context) const final { | 339 | 814 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 814 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 814 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 814 | CEL_RETURN_IF_ERROR( | 347 | 814 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 814 | } else { | 352 | 814 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 814 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 814 | } | 356 | 814 | } |
cel::UnaryFunctionAdapter<cel::Value, absl::lts_20260526::Duration>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 1 | const Function::InvokeContext& context) const final { | 339 | 1 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 1 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 1 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 1 | CEL_RETURN_IF_ERROR( | 347 | 1 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | 1 | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | 1 | return fn_(ArgTraits::ToArg(arg1), context); | 351 | | } else { | 352 | | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | | } | 356 | 1 | } |
cel::UnaryFunctionAdapter<unsigned long, unsigned long>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 197 | const Function::InvokeContext& context) const final { | 339 | 197 | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 197 | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 197 | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 197 | CEL_RETURN_IF_ERROR( | 347 | 197 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | | return fn_(ArgTraits::ToArg(arg1), context); | 351 | 197 | } else { | 352 | 197 | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | 197 | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | 197 | } | 356 | 197 | } |
cel::UnaryFunctionAdapter<cel::Value, cel::Value const&>::UnaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 338 | 4.07k | const Function::InvokeContext& context) const final { | 339 | 4.07k | using ArgTraits = runtime_internal::AdaptedTypeTraits<U>; | 340 | 4.07k | if (args.size() != 1) { | 341 | 0 | return absl::InvalidArgumentError( | 342 | 0 | "unexpected number of arguments for unary function"); | 343 | 0 | } | 344 | 4.07k | typename ArgTraits::AssignableType arg1; | 345 | | | 346 | 4.07k | CEL_RETURN_IF_ERROR( | 347 | 4.07k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 348 | | if constexpr (std::is_same_v<T, Value> || | 349 | 4.07k | std::is_same_v<T, absl::StatusOr<Value>>) { | 350 | 4.07k | return fn_(ArgTraits::ToArg(arg1), context); | 351 | | } else { | 352 | | T result = fn_(ArgTraits::ToArg(arg1), context); | 353 | | | 354 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 355 | | } | 356 | 4.07k | } |
|
357 | | |
358 | | private: |
359 | | FunctionType fn_; |
360 | | }; |
361 | | }; |
362 | | |
363 | | // Adapter class for generating CEL extension functions from a two argument |
364 | | // function. Generates an implementation of the cel::Function interface that |
365 | | // calls the function to wrap. |
366 | | // |
367 | | // Extension functions must distinguish between recoverable errors (error that |
368 | | // should participate in CEL's error pruning) and unrecoverable errors (a non-ok |
369 | | // absl::Status that stops evaluation). The function to wrap may return |
370 | | // StatusOr<T> to propagate a Status, or return a Value with an Error |
371 | | // value to introduce a CEL error. |
372 | | // |
373 | | // To introduce an extension function that may accept any kind of CEL value as |
374 | | // an argument, the wrapped function should use a Value<Handle> parameter and |
375 | | // check the type of the argument at evaluation time. |
376 | | // |
377 | | // Supported CEL to C++ type mappings: |
378 | | // bool -> bool |
379 | | // double -> double |
380 | | // uint -> uint64_t |
381 | | // int -> int64_t |
382 | | // timestamp -> absl::Time |
383 | | // duration -> absl::Duration |
384 | | // |
385 | | // Complex types may be referred to by cref or value. |
386 | | // To return these, users should return a Value. |
387 | | // any/dyn -> Value, const Value& |
388 | | // string -> StringValue | const StringValue& |
389 | | // bytes -> BytesValue | const BytesValue& |
390 | | // list -> ListValue | const ListValue& |
391 | | // map -> MapValue | const MapValue& |
392 | | // struct -> StructValue | const StructValue& |
393 | | // null -> NullValue | const NullValue& |
394 | | // |
395 | | // To intercept error and unknown arguments, users must use a non-strict |
396 | | // overload with all arguments typed as any and check the kind of the |
397 | | // Value argument. |
398 | | // |
399 | | // Example Usage: |
400 | | // double SquareDifference(ValueManager&, double x, double y) { |
401 | | // return x * x - y * y; |
402 | | // } |
403 | | // |
404 | | // { |
405 | | // RuntimeBuilder builder; |
406 | | // // Initialize Expression builder with built-ins as needed. |
407 | | // |
408 | | // CEL_RETURN_IF_ERROR( |
409 | | // builder.function_registry().Register( |
410 | | // BinaryFunctionAdapter<double, double, double>::CreateDescriptor( |
411 | | // "sq_diff", /*receiver_style=*/false), |
412 | | // BinaryFunctionAdapter<double, double, double>::WrapFunction( |
413 | | // &SquareDifference))); |
414 | | // |
415 | | // |
416 | | // // Alternative shorthand |
417 | | // // See RegisterHelper (template base class) for details. |
418 | | // // runtime/register_function_helper.h |
419 | | // auto status = BinaryFunctionAdapter<double, double, double>:: |
420 | | // RegisterGlobalOverload( |
421 | | // "sq_diff", |
422 | | // &SquareDifference, |
423 | | // builder.function_registry()); |
424 | | // CEL_RETURN_IF_ERROR(status); |
425 | | // } |
426 | | // |
427 | | // example CEL expression: |
428 | | // sq_diff(4, 3) == 7 [true] |
429 | | // |
430 | | template <typename T, typename U, typename V> |
431 | | class BinaryFunctionAdapter |
432 | | : public RegisterHelper<BinaryFunctionAdapter<T, U, V>> { |
433 | | public: |
434 | | using FunctionType = |
435 | | absl::AnyInvocable<T(U, V, const Function::InvokeContext&) const>; |
436 | | |
437 | 2.63M | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { |
438 | 2.63M | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); |
439 | 2.63M | } cel::BinaryFunctionAdapter<cel::Value, double, double>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (double, double, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<cel::Value, long, long>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (long, long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 113k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 113k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 113k | } |
cel::BinaryFunctionAdapter<cel::Value, unsigned long, unsigned long>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (unsigned long, unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 113k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 113k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 113k | } |
cel::BinaryFunctionAdapter<bool, double, long>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (double, long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, double, unsigned long>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (double, unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, unsigned long, double>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (unsigned long, double, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, unsigned long, long>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (unsigned long, long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, long, double>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (long, double, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, long, unsigned long>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (long, unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, bool, bool>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (bool, bool, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, long, long>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (long, long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, unsigned long, unsigned long>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (unsigned long, unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, double, double>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (double, double, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, cel::StringValue const&, cel::StringValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (cel::StringValue const&, cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 227k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 227k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 227k | } |
cel::BinaryFunctionAdapter<bool, cel::BytesValue const&, cel::BytesValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (cel::BytesValue const&, cel::BytesValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, absl::lts_20260526::Duration, absl::lts_20260526::Duration>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (absl::lts_20260526::Duration, absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, absl::lts_20260526::Time, absl::lts_20260526::Time>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (absl::lts_20260526::Time, absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 90.8k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 90.8k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 90.8k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::ListValue const&, cel::ListValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (cel::ListValue const&, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 22.7k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 22.7k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::ListValue>, cel::ListValue, cel::Value const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::ListValue> (cel::ListValue, cel::Value const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 22.7k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 22.7k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::Value const&, cel::ListValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (cel::Value const&, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 68.1k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 68.1k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 68.1k | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, bool, cel::ListValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<bool> (bool, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, long, cel::ListValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<bool> (long, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, unsigned long, cel::ListValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<bool> (unsigned long, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, double, cel::ListValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<bool> (double, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, cel::StringValue const&, cel::ListValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<bool> (cel::StringValue const&, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, cel::BytesValue const&, cel::ListValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<bool> (cel::BytesValue const&, cel::ListValue const&, cel::Function::InvokeContext const&) const>) cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::StringValue const&, cel::MapValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (cel::StringValue const&, cel::MapValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 68.1k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 68.1k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 68.1k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, bool, cel::MapValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (bool, cel::MapValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 68.1k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 68.1k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 68.1k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, long, cel::MapValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (long, cel::MapValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 68.1k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 68.1k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 68.1k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, unsigned long, cel::MapValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (unsigned long, cel::MapValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 68.1k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 68.1k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 68.1k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, double, cel::MapValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (double, cel::MapValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 68.1k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 68.1k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 68.1k | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::Value const&, cel::Value const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (cel::Value const&, cel::Value const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, bool, bool>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (bool, bool, cel::Function::InvokeContext const&) const>) cel::BinaryFunctionAdapter<cel::Value, cel::StringValue const&, cel::StringValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (cel::StringValue const&, cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 45.4k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 45.4k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 45.4k | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::BytesValue const&, cel::BytesValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (cel::BytesValue const&, cel::BytesValue const&, cel::Function::InvokeContext const&) const>) cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Duration, absl::lts_20260526::Duration>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Duration, absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 45.4k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 45.4k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 45.4k | } |
cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Time, absl::lts_20260526::Time>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Time, absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 22.7k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 22.7k | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::NullValue const&, cel::NullValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (cel::NullValue const&, cel::NullValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::TypeValue const&, cel::TypeValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (cel::TypeValue const&, cel::TypeValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::MapValue const&, cel::MapValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (cel::MapValue const&, cel::MapValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<bool, cel::StructValue const&, cel::NullValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (cel::StructValue const&, cel::NullValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<bool, cel::NullValue const&, cel::StructValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<bool (cel::NullValue const&, cel::StructValue const&, cel::Function::InvokeContext const&) const>) cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::StringValue>, cel::StringValue const&, cel::StringValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::StringValue> (cel::StringValue const&, cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 22.7k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 22.7k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::BytesValue>, cel::BytesValue const&, cel::BytesValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::BytesValue> (cel::BytesValue const&, cel::BytesValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 22.7k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 22.7k | } |
cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Time, cel::StringValue const&>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Time, cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 227k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 227k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 227k | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Time, absl::lts_20260526::Duration>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (absl::lts_20260526::Time, absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Duration, absl::lts_20260526::Time>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (absl::lts_20260526::Duration, absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Duration, absl::lts_20260526::Duration>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (absl::lts_20260526::Duration, absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Time, absl::lts_20260526::Time>::WrapFunction(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (absl::lts_20260526::Time, absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Time, absl::lts_20260526::Duration>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Time, absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 45.4k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 45.4k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 45.4k | } |
cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Duration, absl::lts_20260526::Time>::WrapFunction(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Duration, absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) Line | Count | Source | 437 | 22.7k | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { | 438 | 22.7k | return std::make_unique<BinaryFunctionImpl>(std::move(fn)); | 439 | 22.7k | } |
|
440 | | |
441 | | template <typename F> |
442 | | static std::enable_if_t< |
443 | | std::is_invocable_v<F, U, V, const google::protobuf::DescriptorPool* absl_nonnull, |
444 | | google::protobuf::MessageFactory* absl_nonnull, |
445 | | google::protobuf::Arena* absl_nonnull>, |
446 | | std::unique_ptr<cel::Function>> |
447 | 476k | WrapFunction(F&& function) { |
448 | 476k | return WrapFunction( |
449 | 476k | [function = std::forward<F>(function)]( |
450 | 502k | U arg1, V arg2, const Function::InvokeContext& context) -> T { |
451 | 502k | return function(arg1, arg2, context.descriptor_pool(), |
452 | 502k | context.message_factory(), context.arena()); |
453 | 502k | }); _ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKNS_9ListValueES8_E12WrapFunctionIRFNS3_IS6_EES8_S8_PKN6google8protobuf14DescriptorPoolEPNSD_14MessageFactoryEPNSD_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S8_S8_SG_SI_SK_EENSN_10unique_ptrINS_8FunctionENSN_14default_deleteISR_EEEEE4typeEOSP_ENKUlS8_S8_RKNSR_13InvokeContextEE_clES8_S8_S10_ Line | Count | Source | 450 | 497k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 451 | 497k | return function(arg1, arg2, context.descriptor_pool(), | 452 | 497k | context.message_factory(), context.arena()); | 453 | 497k | }); |
Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKS4_RKNS_9ListValueEE12WrapFunctionIPFS5_S7_SA_PKN6google8protobuf14DescriptorPoolEPNSE_14MessageFactoryEPNSE_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_SA_SH_SJ_SL_EENSO_10unique_ptrINS_8FunctionENSO_14default_deleteISS_EEEEE4typeEOSQ_ENKUlS7_SA_RKNSS_13InvokeContextEE_clES7_SA_S11_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrIbEEbRKNS_9ListValueEE12WrapFunctionIRFS4_bS7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bS7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ENKUlbS7_RKNSP_13InvokeContextEE_clEbS7_SY_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrIbEElRKNS_9ListValueEE12WrapFunctionIRFS4_lS7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_lS7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ENKUllS7_RKNSP_13InvokeContextEE_clElS7_SY_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrIbEEmRKNS_9ListValueEE12WrapFunctionIRFS4_mS7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mS7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ENKUlmS7_RKNSP_13InvokeContextEE_clEmS7_SY_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrIbEEdRKNS_9ListValueEE12WrapFunctionIRFS4_dS7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_dS7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ENKUldS7_RKNSP_13InvokeContextEE_clEdS7_SY_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrIbEERKNS_11StringValueERKNS_9ListValueEE12WrapFunctionIRFS4_S7_SA_PKN6google8protobuf14DescriptorPoolEPNSE_14MessageFactoryEPNSE_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_SA_SH_SJ_SL_EENSO_10unique_ptrINS_8FunctionENSO_14default_deleteISS_EEEEE4typeEOSQ_ENKUlS7_SA_RKNSS_13InvokeContextEE_clES7_SA_S11_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrIbEERKNS_10BytesValueERKNS_9ListValueEE12WrapFunctionIRFS4_S7_SA_PKN6google8protobuf14DescriptorPoolEPNSE_14MessageFactoryEPNSE_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_SA_SH_SJ_SL_EENSO_10unique_ptrINS_8FunctionENSO_14default_deleteISS_EEEEE4typeEOSQ_ENKUlS7_SA_RKNSS_13InvokeContextEE_clES7_SA_S11_ Unexecuted instantiation: container_membership_functions.cc:_ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKNS_11StringValueERKNS_8MapValueEE12WrapFunctionIRZNS_12_GLOBAL__N_130RegisterMapMembershipFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S8_SB_PKN6google8protobuf14DescriptorPoolEPNSQ_14MessageFactoryEPNSQ_5ArenaEEENSM_10unique_ptrINS_8FunctionENSM_14default_deleteISZ_EEEEE4typeEOSO_ENKUlS8_SB_RKNSZ_13InvokeContextEE_clES8_SB_S18_ Unexecuted instantiation: container_membership_functions.cc:_ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEEbRKNS_8MapValueEE12WrapFunctionIRZNS_12_GLOBAL__N_130RegisterMapMembershipFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bS8_PKN6google8protobuf14DescriptorPoolEPNSN_14MessageFactoryEPNSN_5ArenaEEENSJ_10unique_ptrINS_8FunctionENSJ_14default_deleteISW_EEEEE4typeEOSL_ENKUlbS8_RKNSW_13InvokeContextEE_clEbS8_S15_ Unexecuted instantiation: container_membership_functions.cc:_ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEElRKNS_8MapValueEE12WrapFunctionIRZNS_12_GLOBAL__N_130RegisterMapMembershipFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_2EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_lS8_PKN6google8protobuf14DescriptorPoolEPNSN_14MessageFactoryEPNSN_5ArenaEEENSJ_10unique_ptrINS_8FunctionENSJ_14default_deleteISW_EEEEE4typeEOSL_ENKUllS8_RKNSW_13InvokeContextEE_clElS8_S15_ Unexecuted instantiation: container_membership_functions.cc:_ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEEmRKNS_8MapValueEE12WrapFunctionIRZNS_12_GLOBAL__N_130RegisterMapMembershipFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mS8_PKN6google8protobuf14DescriptorPoolEPNSN_14MessageFactoryEPNSN_5ArenaEEENSJ_10unique_ptrINS_8FunctionENSJ_14default_deleteISW_EEEEE4typeEOSL_ENKUlmS8_RKNSW_13InvokeContextEE_clEmS8_S15_ Unexecuted instantiation: container_membership_functions.cc:_ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEEdRKNS_8MapValueEE12WrapFunctionIRZNS_12_GLOBAL__N_130RegisterMapMembershipFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_4EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_dS8_PKN6google8protobuf14DescriptorPoolEPNSN_14MessageFactoryEPNSN_5ArenaEEENSJ_10unique_ptrINS_8FunctionENSJ_14default_deleteISW_EEEEE4typeEOSL_ENKUldS8_RKNSW_13InvokeContextEE_clEdS8_S15_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKS4_S7_E12WrapFunctionIPFS5_S7_S7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_S7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ENKUlS7_S7_RKNSP_13InvokeContextEE_clES7_S7_SY_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterINS_5ValueEbbE12WrapFunctionINSt3__18functionIFS1_bbPKN6google8protobuf14DescriptorPoolEPNS7_14MessageFactoryEPNS7_5ArenaEEEEEENS4_9enable_ifIXsr3stdE14is_invocable_vIT_bbSA_SC_SE_EENS4_10unique_ptrINS_8FunctionENS4_14default_deleteISK_EEEEE4typeEOSI_ENKUlbbRKNSK_13InvokeContextEE_clEbbST_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterINS_5ValueEllE12WrapFunctionINSt3__18functionIFS1_llPKN6google8protobuf14DescriptorPoolEPNS7_14MessageFactoryEPNS7_5ArenaEEEEEENS4_9enable_ifIXsr3stdE14is_invocable_vIT_llSA_SC_SE_EENS4_10unique_ptrINS_8FunctionENS4_14default_deleteISK_EEEEE4typeEOSI_ENKUlllRKNSK_13InvokeContextEE_clEllST_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterINS_5ValueEmmE12WrapFunctionINSt3__18functionIFS1_mmPKN6google8protobuf14DescriptorPoolEPNS7_14MessageFactoryEPNS7_5ArenaEEEEEENS4_9enable_ifIXsr3stdE14is_invocable_vIT_mmSA_SC_SE_EENS4_10unique_ptrINS_8FunctionENS4_14default_deleteISK_EEEEE4typeEOSI_ENKUlmmRKNSK_13InvokeContextEE_clEmmST_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterINS_5ValueEddE12WrapFunctionINSt3__18functionIFS1_ddPKN6google8protobuf14DescriptorPoolEPNS7_14MessageFactoryEPNS7_5ArenaEEEEEENS4_9enable_ifIXsr3stdE14is_invocable_vIT_ddSA_SC_SE_EENS4_10unique_ptrINS_8FunctionENS4_14default_deleteISK_EEEEE4typeEOSI_ENKUlddRKNSK_13InvokeContextEE_clEddST_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterINS_5ValueERKNS_11StringValueES4_E12WrapFunctionINSt3__18functionIFS1_S4_S4_PKN6google8protobuf14DescriptorPoolEPNSA_14MessageFactoryEPNSA_5ArenaEEEEEENS7_9enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_SD_SF_SH_EENS7_10unique_ptrINS_8FunctionENS7_14default_deleteISN_EEEEE4typeEOSL_ENKUlS4_S4_RKNSN_13InvokeContextEE_clES4_S4_SW_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterINS_5ValueERKNS_10BytesValueES4_E12WrapFunctionINSt3__18functionIFS1_S4_S4_PKN6google8protobuf14DescriptorPoolEPNSA_14MessageFactoryEPNSA_5ArenaEEEEEENS7_9enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_SD_SF_SH_EENS7_10unique_ptrINS_8FunctionENS7_14default_deleteISN_EEEEE4typeEOSL_ENKUlS4_S4_RKNSN_13InvokeContextEE_clES4_S4_SW_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605268DurationES4_E12WrapFunctionINSt3__18functionIFS1_S4_S4_PKN6google8protobuf14DescriptorPoolEPNSA_14MessageFactoryEPNSA_5ArenaEEEEEENS7_9enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_SD_SF_SH_EENS7_10unique_ptrINS_8FunctionENS7_14default_deleteISN_EEEEE4typeEOSL_ENKUlS4_S4_RKNSN_13InvokeContextEE_clES4_S4_SW_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605264TimeES4_E12WrapFunctionINSt3__18functionIFS1_S4_S4_PKN6google8protobuf14DescriptorPoolEPNSA_14MessageFactoryEPNSA_5ArenaEEEEEENS7_9enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_SD_SF_SH_EENS7_10unique_ptrINS_8FunctionENS7_14default_deleteISN_EEEEE4typeEOSL_ENKUlS4_S4_RKNSN_13InvokeContextEE_clES4_S4_SW_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterINS_5ValueERKNS_9NullValueES4_E12WrapFunctionINSt3__18functionIFS1_S4_S4_PKN6google8protobuf14DescriptorPoolEPNSA_14MessageFactoryEPNSA_5ArenaEEEEEENS7_9enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_SD_SF_SH_EENS7_10unique_ptrINS_8FunctionENS7_14default_deleteISN_EEEEE4typeEOSL_ENKUlS4_S4_RKNSN_13InvokeContextEE_clES4_S4_SW_ Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterINS_5ValueERKNS_9TypeValueES4_E12WrapFunctionINSt3__18functionIFS1_S4_S4_PKN6google8protobuf14DescriptorPoolEPNSA_14MessageFactoryEPNSA_5ArenaEEEEEENS7_9enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_SD_SF_SH_EENS7_10unique_ptrINS_8FunctionENS7_14default_deleteISN_EEEEE4typeEOSL_ENKUlS4_S4_RKNSN_13InvokeContextEE_clES4_S4_SW_ Unexecuted instantiation: equality_functions.cc:_ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKNS_9ListValueES8_E12WrapFunctionIZNS_12_GLOBAL__N_117ComplexInequalityIS8_RNS2_11FunctionRefIFNS3_INSt3__18optionalIbEEEES8_S8_PKN6google8protobuf14DescriptorPoolEPNSJ_14MessageFactoryEPNSJ_5ArenaEEEEEEDaOT0_EUlS8_S8_SM_SO_SQ_E_EENSE_9enable_ifIXsr3stdE14is_invocable_vIT_S8_S8_SM_SO_SQ_EENSE_10unique_ptrINS_8FunctionENSE_14default_deleteIS10_EEEEE4typeEOSY_ENKUlS8_S8_RKNS10_13InvokeContextEE_clES8_S8_S19_ Unexecuted instantiation: equality_functions.cc:_ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKNS_9ListValueES8_E12WrapFunctionIZNS_12_GLOBAL__N_115ComplexEqualityIS8_RNS2_11FunctionRefIFNS3_INSt3__18optionalIbEEEES8_S8_PKN6google8protobuf14DescriptorPoolEPNSJ_14MessageFactoryEPNSJ_5ArenaEEEEEEDaOT0_EUlS8_S8_SM_SO_SQ_E_EENSE_9enable_ifIXsr3stdE14is_invocable_vIT_S8_S8_SM_SO_SQ_EENSE_10unique_ptrINS_8FunctionENSE_14default_deleteIS10_EEEEE4typeEOSY_ENKUlS8_S8_RKNS10_13InvokeContextEE_clES8_S8_S19_ Unexecuted instantiation: equality_functions.cc:_ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKNS_8MapValueES8_E12WrapFunctionIZNS_12_GLOBAL__N_117ComplexInequalityIS8_RNS2_11FunctionRefIFNS3_INSt3__18optionalIbEEEES8_S8_PKN6google8protobuf14DescriptorPoolEPNSJ_14MessageFactoryEPNSJ_5ArenaEEEEEEDaOT0_EUlS8_S8_SM_SO_SQ_E_EENSE_9enable_ifIXsr3stdE14is_invocable_vIT_S8_S8_SM_SO_SQ_EENSE_10unique_ptrINS_8FunctionENSE_14default_deleteIS10_EEEEE4typeEOSY_ENKUlS8_S8_RKNS10_13InvokeContextEE_clES8_S8_S19_ Unexecuted instantiation: equality_functions.cc:_ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKNS_8MapValueES8_E12WrapFunctionIZNS_12_GLOBAL__N_115ComplexEqualityIS8_RNS2_11FunctionRefIFNS3_INSt3__18optionalIbEEEES8_S8_PKN6google8protobuf14DescriptorPoolEPNSJ_14MessageFactoryEPNSJ_5ArenaEEEEEEDaOT0_EUlS8_S8_SM_SO_SQ_E_EENSE_9enable_ifIXsr3stdE14is_invocable_vIT_S8_S8_SM_SO_SQ_EENSE_10unique_ptrINS_8FunctionENSE_14default_deleteIS10_EEEEE4typeEOSY_ENKUlS8_S8_RKNS10_13InvokeContextEE_clES8_S8_S19_ _ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_11StringValueEEERKS4_S7_E12WrapFunctionIPFS5_S7_S7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_S7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ENKUlS7_S7_RKNSP_13InvokeContextEE_clES7_S7_SY_ Line | Count | Source | 450 | 3.40k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 451 | 3.40k | return function(arg1, arg2, context.descriptor_pool(), | 452 | 3.40k | context.message_factory(), context.arena()); | 453 | 3.40k | }); |
_ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_10BytesValueEEERKS4_S7_E12WrapFunctionIPFS5_S7_S7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_S7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ENKUlS7_S7_RKNSP_13InvokeContextEE_clES7_S7_SY_ Line | Count | Source | 450 | 1.41k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 451 | 1.41k | return function(arg1, arg2, context.descriptor_pool(), | 452 | 1.41k | context.message_factory(), context.arena()); | 453 | 1.41k | }); |
|
454 | 476k | } _ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKNS_9ListValueES8_E12WrapFunctionIRFNS3_IS6_EES8_S8_PKN6google8protobuf14DescriptorPoolEPNSD_14MessageFactoryEPNSD_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S8_S8_SG_SI_SK_EENSN_10unique_ptrINS_8FunctionENSN_14default_deleteISR_EEEEE4typeEOSP_ Line | Count | Source | 447 | 22.7k | WrapFunction(F&& function) { | 448 | 22.7k | return WrapFunction( | 449 | 22.7k | [function = std::forward<F>(function)]( | 450 | 22.7k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 451 | 22.7k | return function(arg1, arg2, context.descriptor_pool(), | 452 | 22.7k | context.message_factory(), context.arena()); | 453 | 22.7k | }); | 454 | 22.7k | } |
_ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKS4_RKNS_9ListValueEE12WrapFunctionIPFS5_S7_SA_PKN6google8protobuf14DescriptorPoolEPNSE_14MessageFactoryEPNSE_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_SA_SH_SJ_SL_EENSO_10unique_ptrINS_8FunctionENSO_14default_deleteISS_EEEEE4typeEOSQ_ Line | Count | Source | 447 | 68.1k | WrapFunction(F&& function) { | 448 | 68.1k | return WrapFunction( | 449 | 68.1k | [function = std::forward<F>(function)]( | 450 | 68.1k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 451 | 68.1k | return function(arg1, arg2, context.descriptor_pool(), | 452 | 68.1k | context.message_factory(), context.arena()); | 453 | 68.1k | }); | 454 | 68.1k | } |
Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrIbEEbRKNS_9ListValueEE12WrapFunctionIRFS4_bS7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bS7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrIbEElRKNS_9ListValueEE12WrapFunctionIRFS4_lS7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_lS7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrIbEEmRKNS_9ListValueEE12WrapFunctionIRFS4_mS7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mS7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrIbEEdRKNS_9ListValueEE12WrapFunctionIRFS4_dS7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_dS7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrIbEERKNS_11StringValueERKNS_9ListValueEE12WrapFunctionIRFS4_S7_SA_PKN6google8protobuf14DescriptorPoolEPNSE_14MessageFactoryEPNSE_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_SA_SH_SJ_SL_EENSO_10unique_ptrINS_8FunctionENSO_14default_deleteISS_EEEEE4typeEOSQ_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrIbEERKNS_10BytesValueERKNS_9ListValueEE12WrapFunctionIRFS4_S7_SA_PKN6google8protobuf14DescriptorPoolEPNSE_14MessageFactoryEPNSE_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_SA_SH_SJ_SL_EENSO_10unique_ptrINS_8FunctionENSO_14default_deleteISS_EEEEE4typeEOSQ_ container_membership_functions.cc:_ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKNS_11StringValueERKNS_8MapValueEE12WrapFunctionIRZNS_12_GLOBAL__N_130RegisterMapMembershipFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S8_SB_PKN6google8protobuf14DescriptorPoolEPNSQ_14MessageFactoryEPNSQ_5ArenaEEENSM_10unique_ptrINS_8FunctionENSM_14default_deleteISZ_EEEEE4typeEOSO_ Line | Count | Source | 447 | 68.1k | WrapFunction(F&& function) { | 448 | 68.1k | return WrapFunction( | 449 | 68.1k | [function = std::forward<F>(function)]( | 450 | 68.1k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 451 | 68.1k | return function(arg1, arg2, context.descriptor_pool(), | 452 | 68.1k | context.message_factory(), context.arena()); | 453 | 68.1k | }); | 454 | 68.1k | } |
container_membership_functions.cc:_ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEEbRKNS_8MapValueEE12WrapFunctionIRZNS_12_GLOBAL__N_130RegisterMapMembershipFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bS8_PKN6google8protobuf14DescriptorPoolEPNSN_14MessageFactoryEPNSN_5ArenaEEENSJ_10unique_ptrINS_8FunctionENSJ_14default_deleteISW_EEEEE4typeEOSL_ Line | Count | Source | 447 | 68.1k | WrapFunction(F&& function) { | 448 | 68.1k | return WrapFunction( | 449 | 68.1k | [function = std::forward<F>(function)]( | 450 | 68.1k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 451 | 68.1k | return function(arg1, arg2, context.descriptor_pool(), | 452 | 68.1k | context.message_factory(), context.arena()); | 453 | 68.1k | }); | 454 | 68.1k | } |
container_membership_functions.cc:_ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEElRKNS_8MapValueEE12WrapFunctionIRZNS_12_GLOBAL__N_130RegisterMapMembershipFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_2EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_lS8_PKN6google8protobuf14DescriptorPoolEPNSN_14MessageFactoryEPNSN_5ArenaEEENSJ_10unique_ptrINS_8FunctionENSJ_14default_deleteISW_EEEEE4typeEOSL_ Line | Count | Source | 447 | 68.1k | WrapFunction(F&& function) { | 448 | 68.1k | return WrapFunction( | 449 | 68.1k | [function = std::forward<F>(function)]( | 450 | 68.1k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 451 | 68.1k | return function(arg1, arg2, context.descriptor_pool(), | 452 | 68.1k | context.message_factory(), context.arena()); | 453 | 68.1k | }); | 454 | 68.1k | } |
container_membership_functions.cc:_ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEEmRKNS_8MapValueEE12WrapFunctionIRZNS_12_GLOBAL__N_130RegisterMapMembershipFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mS8_PKN6google8protobuf14DescriptorPoolEPNSN_14MessageFactoryEPNSN_5ArenaEEENSJ_10unique_ptrINS_8FunctionENSJ_14default_deleteISW_EEEEE4typeEOSL_ Line | Count | Source | 447 | 68.1k | WrapFunction(F&& function) { | 448 | 68.1k | return WrapFunction( | 449 | 68.1k | [function = std::forward<F>(function)]( | 450 | 68.1k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 451 | 68.1k | return function(arg1, arg2, context.descriptor_pool(), | 452 | 68.1k | context.message_factory(), context.arena()); | 453 | 68.1k | }); | 454 | 68.1k | } |
container_membership_functions.cc:_ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEEdRKNS_8MapValueEE12WrapFunctionIRZNS_12_GLOBAL__N_130RegisterMapMembershipFunctionsERNS_16FunctionRegistryERKNS_14RuntimeOptionsEE3$_4EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_dS8_PKN6google8protobuf14DescriptorPoolEPNSN_14MessageFactoryEPNSN_5ArenaEEENSJ_10unique_ptrINS_8FunctionENSJ_14default_deleteISW_EEEEE4typeEOSL_ Line | Count | Source | 447 | 68.1k | WrapFunction(F&& function) { | 448 | 68.1k | return WrapFunction( | 449 | 68.1k | [function = std::forward<F>(function)]( | 450 | 68.1k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 451 | 68.1k | return function(arg1, arg2, context.descriptor_pool(), | 452 | 68.1k | context.message_factory(), context.arena()); | 453 | 68.1k | }); | 454 | 68.1k | } |
Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKS4_S7_E12WrapFunctionIPFS5_S7_S7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_S7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterINS_5ValueEbbE12WrapFunctionINSt3__18functionIFS1_bbPKN6google8protobuf14DescriptorPoolEPNS7_14MessageFactoryEPNS7_5ArenaEEEEEENS4_9enable_ifIXsr3stdE14is_invocable_vIT_bbSA_SC_SE_EENS4_10unique_ptrINS_8FunctionENS4_14default_deleteISK_EEEEE4typeEOSI_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterINS_5ValueEllE12WrapFunctionINSt3__18functionIFS1_llPKN6google8protobuf14DescriptorPoolEPNS7_14MessageFactoryEPNS7_5ArenaEEEEEENS4_9enable_ifIXsr3stdE14is_invocable_vIT_llSA_SC_SE_EENS4_10unique_ptrINS_8FunctionENS4_14default_deleteISK_EEEEE4typeEOSI_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterINS_5ValueEmmE12WrapFunctionINSt3__18functionIFS1_mmPKN6google8protobuf14DescriptorPoolEPNS7_14MessageFactoryEPNS7_5ArenaEEEEEENS4_9enable_ifIXsr3stdE14is_invocable_vIT_mmSA_SC_SE_EENS4_10unique_ptrINS_8FunctionENS4_14default_deleteISK_EEEEE4typeEOSI_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterINS_5ValueEddE12WrapFunctionINSt3__18functionIFS1_ddPKN6google8protobuf14DescriptorPoolEPNS7_14MessageFactoryEPNS7_5ArenaEEEEEENS4_9enable_ifIXsr3stdE14is_invocable_vIT_ddSA_SC_SE_EENS4_10unique_ptrINS_8FunctionENS4_14default_deleteISK_EEEEE4typeEOSI_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterINS_5ValueERKNS_11StringValueES4_E12WrapFunctionINSt3__18functionIFS1_S4_S4_PKN6google8protobuf14DescriptorPoolEPNSA_14MessageFactoryEPNSA_5ArenaEEEEEENS7_9enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_SD_SF_SH_EENS7_10unique_ptrINS_8FunctionENS7_14default_deleteISN_EEEEE4typeEOSL_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterINS_5ValueERKNS_10BytesValueES4_E12WrapFunctionINSt3__18functionIFS1_S4_S4_PKN6google8protobuf14DescriptorPoolEPNSA_14MessageFactoryEPNSA_5ArenaEEEEEENS7_9enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_SD_SF_SH_EENS7_10unique_ptrINS_8FunctionENS7_14default_deleteISN_EEEEE4typeEOSL_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605268DurationES4_E12WrapFunctionINSt3__18functionIFS1_S4_S4_PKN6google8protobuf14DescriptorPoolEPNSA_14MessageFactoryEPNSA_5ArenaEEEEEENS7_9enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_SD_SF_SH_EENS7_10unique_ptrINS_8FunctionENS7_14default_deleteISN_EEEEE4typeEOSL_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605264TimeES4_E12WrapFunctionINSt3__18functionIFS1_S4_S4_PKN6google8protobuf14DescriptorPoolEPNSA_14MessageFactoryEPNSA_5ArenaEEEEEENS7_9enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_SD_SF_SH_EENS7_10unique_ptrINS_8FunctionENS7_14default_deleteISN_EEEEE4typeEOSL_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterINS_5ValueERKNS_9NullValueES4_E12WrapFunctionINSt3__18functionIFS1_S4_S4_PKN6google8protobuf14DescriptorPoolEPNSA_14MessageFactoryEPNSA_5ArenaEEEEEENS7_9enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_SD_SF_SH_EENS7_10unique_ptrINS_8FunctionENS7_14default_deleteISN_EEEEE4typeEOSL_ Unexecuted instantiation: _ZN3cel21BinaryFunctionAdapterINS_5ValueERKNS_9TypeValueES4_E12WrapFunctionINSt3__18functionIFS1_S4_S4_PKN6google8protobuf14DescriptorPoolEPNSA_14MessageFactoryEPNSA_5ArenaEEEEEENS7_9enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_SD_SF_SH_EENS7_10unique_ptrINS_8FunctionENS7_14default_deleteISN_EEEEE4typeEOSL_ Unexecuted instantiation: equality_functions.cc:_ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKNS_9ListValueES8_E12WrapFunctionIZNS_12_GLOBAL__N_117ComplexInequalityIS8_RNS2_11FunctionRefIFNS3_INSt3__18optionalIbEEEES8_S8_PKN6google8protobuf14DescriptorPoolEPNSJ_14MessageFactoryEPNSJ_5ArenaEEEEEEDaOT0_EUlS8_S8_SM_SO_SQ_E_EENSE_9enable_ifIXsr3stdE14is_invocable_vIT_S8_S8_SM_SO_SQ_EENSE_10unique_ptrINS_8FunctionENSE_14default_deleteIS10_EEEEE4typeEOSY_ Unexecuted instantiation: equality_functions.cc:_ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKNS_9ListValueES8_E12WrapFunctionIZNS_12_GLOBAL__N_115ComplexEqualityIS8_RNS2_11FunctionRefIFNS3_INSt3__18optionalIbEEEES8_S8_PKN6google8protobuf14DescriptorPoolEPNSJ_14MessageFactoryEPNSJ_5ArenaEEEEEEDaOT0_EUlS8_S8_SM_SO_SQ_E_EENSE_9enable_ifIXsr3stdE14is_invocable_vIT_S8_S8_SM_SO_SQ_EENSE_10unique_ptrINS_8FunctionENSE_14default_deleteIS10_EEEEE4typeEOSY_ Unexecuted instantiation: equality_functions.cc:_ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKNS_8MapValueES8_E12WrapFunctionIZNS_12_GLOBAL__N_117ComplexInequalityIS8_RNS2_11FunctionRefIFNS3_INSt3__18optionalIbEEEES8_S8_PKN6google8protobuf14DescriptorPoolEPNSJ_14MessageFactoryEPNSJ_5ArenaEEEEEEDaOT0_EUlS8_S8_SM_SO_SQ_E_EENSE_9enable_ifIXsr3stdE14is_invocable_vIT_S8_S8_SM_SO_SQ_EENSE_10unique_ptrINS_8FunctionENSE_14default_deleteIS10_EEEEE4typeEOSY_ Unexecuted instantiation: equality_functions.cc:_ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_5ValueEEERKNS_8MapValueES8_E12WrapFunctionIZNS_12_GLOBAL__N_115ComplexEqualityIS8_RNS2_11FunctionRefIFNS3_INSt3__18optionalIbEEEES8_S8_PKN6google8protobuf14DescriptorPoolEPNSJ_14MessageFactoryEPNSJ_5ArenaEEEEEEDaOT0_EUlS8_S8_SM_SO_SQ_E_EENSE_9enable_ifIXsr3stdE14is_invocable_vIT_S8_S8_SM_SO_SQ_EENSE_10unique_ptrINS_8FunctionENSE_14default_deleteIS10_EEEEE4typeEOSY_ _ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_11StringValueEEERKS4_S7_E12WrapFunctionIPFS5_S7_S7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_S7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ Line | Count | Source | 447 | 22.7k | WrapFunction(F&& function) { | 448 | 22.7k | return WrapFunction( | 449 | 22.7k | [function = std::forward<F>(function)]( | 450 | 22.7k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 451 | 22.7k | return function(arg1, arg2, context.descriptor_pool(), | 452 | 22.7k | context.message_factory(), context.arena()); | 453 | 22.7k | }); | 454 | 22.7k | } |
_ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_10BytesValueEEERKS4_S7_E12WrapFunctionIPFS5_S7_S7_PKN6google8protobuf14DescriptorPoolEPNSB_14MessageFactoryEPNSB_5ArenaEEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S7_S7_SE_SG_SI_EENSL_10unique_ptrINS_8FunctionENSL_14default_deleteISP_EEEEE4typeEOSN_ Line | Count | Source | 447 | 22.7k | WrapFunction(F&& function) { | 448 | 22.7k | return WrapFunction( | 449 | 22.7k | [function = std::forward<F>(function)]( | 450 | 22.7k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 451 | 22.7k | return function(arg1, arg2, context.descriptor_pool(), | 452 | 22.7k | context.message_factory(), context.arena()); | 453 | 22.7k | }); | 454 | 22.7k | } |
|
455 | | |
456 | | template <typename F> |
457 | | static std::enable_if_t<std::is_invocable_v<F, U, V>, |
458 | | std::unique_ptr<cel::Function>> |
459 | 1.56M | WrapFunction(F&& function) { |
460 | 1.56M | return WrapFunction( |
461 | 1.56M | [function = std::forward<F>(function)]( |
462 | 1.56M | U arg1, V arg2, const Function::InvokeContext& context) -> T { |
463 | 289k | return function(arg1, arg2); |
464 | 289k | }); _ZZN3cel21BinaryFunctionAdapterIbdlE12WrapFunctionIPFbdlEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_dlEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ENKUldlRKNS9_13InvokeContextEE_clEdlSI_ Line | Count | Source | 462 | 25.6k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 25.6k | return function(arg1, arg2); | 464 | 25.6k | }); |
_ZZN3cel21BinaryFunctionAdapterIbdmE12WrapFunctionIPFbdmEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_dmEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ENKUldmRKNS9_13InvokeContextEE_clEdmSI_ Line | Count | Source | 462 | 8.34k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 8.34k | return function(arg1, arg2); | 464 | 8.34k | }); |
_ZZN3cel21BinaryFunctionAdapterIbmdE12WrapFunctionIPFbmdEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mdEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ENKUlmdRKNS9_13InvokeContextEE_clEmdSI_ Line | Count | Source | 462 | 32.0k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 32.0k | return function(arg1, arg2); | 464 | 32.0k | }); |
_ZZN3cel21BinaryFunctionAdapterIbmlE12WrapFunctionIPFbmlEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mlEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ENKUlmlRKNS9_13InvokeContextEE_clEmlSI_ Line | Count | Source | 462 | 21.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 21.8k | return function(arg1, arg2); | 464 | 21.8k | }); |
_ZZN3cel21BinaryFunctionAdapterIbldE12WrapFunctionIPFbldEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_ldEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ENKUlldRKNS9_13InvokeContextEE_clEldSI_ Line | Count | Source | 462 | 23.9k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 23.9k | return function(arg1, arg2); | 464 | 23.9k | }); |
_ZZN3cel21BinaryFunctionAdapterIblmE12WrapFunctionIPFblmEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_lmEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ENKUllmRKNS9_13InvokeContextEE_clElmSI_ Line | Count | Source | 462 | 13.6k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 13.6k | return function(arg1, arg2); | 464 | 13.6k | }); |
_ZZN3cel21BinaryFunctionAdapterIbbbE12WrapFunctionIRFbbbEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bbEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ENKUlbbRKNS9_13InvokeContextEE_clEbbSI_ Line | Count | Source | 462 | 1.33k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 1.33k | return function(arg1, arg2); | 464 | 1.33k | }); |
_ZZN3cel21BinaryFunctionAdapterIbllE12WrapFunctionIRFbllEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_llEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ENKUlllRKNS9_13InvokeContextEE_clEllSI_ Line | Count | Source | 462 | 131k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 131k | return function(arg1, arg2); | 464 | 131k | }); |
_ZZN3cel21BinaryFunctionAdapterIbmmE12WrapFunctionIRFbmmEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mmEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ENKUlmmRKNS9_13InvokeContextEE_clEmmSI_ Line | Count | Source | 462 | 9.93k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 9.93k | return function(arg1, arg2); | 464 | 9.93k | }); |
_ZZN3cel21BinaryFunctionAdapterIbddE12WrapFunctionIRFbddEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_ddEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ENKUlddRKNS9_13InvokeContextEE_clEddSI_ Line | Count | Source | 462 | 2.71k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 2.71k | return function(arg1, arg2); | 464 | 2.71k | }); |
_ZZN3cel21BinaryFunctionAdapterIbRKNS_11StringValueES3_E12WrapFunctionIRFbS3_S3_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S3_EENS8_10unique_ptrINS_8FunctionENS8_14default_deleteISC_EEEEE4typeEOSA_ENKUlS3_S3_RKNSC_13InvokeContextEE_clES3_S3_SL_ Line | Count | Source | 462 | 7.00k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 7.00k | return function(arg1, arg2); | 464 | 7.00k | }); |
_ZZN3cel21BinaryFunctionAdapterIbRKNS_10BytesValueES3_E12WrapFunctionIRFbS3_S3_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S3_EENS8_10unique_ptrINS_8FunctionENS8_14default_deleteISC_EEEEE4typeEOSA_ENKUlS3_S3_RKNSC_13InvokeContextEE_clES3_S3_SL_ Line | Count | Source | 462 | 2.51k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 2.51k | return function(arg1, arg2); | 464 | 2.51k | }); |
_ZZN3cel21BinaryFunctionAdapterIbN4absl12lts_202605268DurationES3_E12WrapFunctionIRFbS3_S3_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S3_EENS8_10unique_ptrINS_8FunctionENS8_14default_deleteISC_EEEEE4typeEOSA_ENKUlS3_S3_RKNSC_13InvokeContextEE_clES3_S3_SL_ Line | Count | Source | 462 | 3.08k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 3.08k | return function(arg1, arg2); | 464 | 3.08k | }); |
_ZZN3cel21BinaryFunctionAdapterIbN4absl12lts_202605264TimeES3_E12WrapFunctionIRFbS3_S3_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S3_EENS8_10unique_ptrINS_8FunctionENS8_14default_deleteISC_EEEEE4typeEOSA_ENKUlS3_S3_RKNSC_13InvokeContextEE_clES3_S3_SL_ Line | Count | Source | 462 | 2.13k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 2.13k | return function(arg1, arg2); | 464 | 2.13k | }); |
Unexecuted instantiation: _ZZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_9ListValueEEES4_RKNS_5ValueEE12WrapFunctionIRFS5_S4_S8_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S8_EENSD_10unique_ptrINS_8FunctionENSD_14default_deleteISH_EEEEE4typeEOSF_ENKUlS4_S8_RKNSH_13InvokeContextEE_clES4_S8_SQ_ Unexecuted instantiation: equality_functions.cc:_ZZN3cel21BinaryFunctionAdapterIbRKNS_11StructValueERKNS_9NullValueEE12WrapFunctionIZNS_12_GLOBAL__N_136RegisterNullMessageEqualityFunctionsERNS_16FunctionRegistryEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S6_EENSD_10unique_ptrINS_8FunctionENSD_14default_deleteISH_EEEEE4typeEOSF_ENKUlS3_S6_RKNSH_13InvokeContextEE_clES3_S6_SQ_ Unexecuted instantiation: equality_functions.cc:_ZZN3cel21BinaryFunctionAdapterIbRKNS_9NullValueERKNS_11StructValueEE12WrapFunctionIZNS_12_GLOBAL__N_136RegisterNullMessageEqualityFunctionsERNS_16FunctionRegistryEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S6_EENSD_10unique_ptrINS_8FunctionENSD_14default_deleteISH_EEEEE4typeEOSF_ENKUlS3_S6_RKNSH_13InvokeContextEE_clES3_S6_SQ_ Unexecuted instantiation: equality_functions.cc:_ZZN3cel21BinaryFunctionAdapterIbRKNS_11StructValueERKNS_9NullValueEE12WrapFunctionIZNS_12_GLOBAL__N_136RegisterNullMessageEqualityFunctionsERNS_16FunctionRegistryEE3$_2EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S6_EENSD_10unique_ptrINS_8FunctionENSD_14default_deleteISH_EEEEE4typeEOSF_ENKUlS3_S6_RKNSH_13InvokeContextEE_clES3_S6_SQ_ Unexecuted instantiation: equality_functions.cc:_ZZN3cel21BinaryFunctionAdapterIbRKNS_9NullValueERKNS_11StructValueEE12WrapFunctionIZNS_12_GLOBAL__N_136RegisterNullMessageEqualityFunctionsERNS_16FunctionRegistryEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S6_EENSD_10unique_ptrINS_8FunctionENSD_14default_deleteISH_EEEEE4typeEOSF_ENKUlS3_S6_RKNSH_13InvokeContextEE_clES3_S6_SQ_ time_functions.cc:_ZZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605264TimeENS3_8DurationEE12WrapFunctionIZNS_12_GLOBAL__N_140RegisterUncheckedTimeArithmeticFunctionsERNS_16FunctionRegistryEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S5_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ENKUlS4_S5_RKNSG_13InvokeContextEE_clES4_S5_SP_ Line | Count | Source | 462 | 79 | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 79 | return function(arg1, arg2); | 464 | 79 | }); |
time_functions.cc:_ZZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605268DurationENS3_4TimeEE12WrapFunctionIZNS_12_GLOBAL__N_140RegisterUncheckedTimeArithmeticFunctionsERNS_16FunctionRegistryEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S5_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ENKUlS4_S5_RKNSG_13InvokeContextEE_clES4_S5_SP_ Line | Count | Source | 462 | 609 | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 609 | return function(arg1, arg2); | 464 | 609 | }); |
time_functions.cc:_ZZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605268DurationES4_E12WrapFunctionIZNS_12_GLOBAL__N_140RegisterUncheckedTimeArithmeticFunctionsERNS_16FunctionRegistryEE3$_2EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ENKUlS4_S4_RKNSF_13InvokeContextEE_clES4_S4_SO_ Line | Count | Source | 462 | 1.58k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 1.58k | return function(arg1, arg2); | 464 | 1.58k | }); |
time_functions.cc:_ZZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605264TimeENS3_8DurationEE12WrapFunctionIZNS_12_GLOBAL__N_140RegisterUncheckedTimeArithmeticFunctionsERNS_16FunctionRegistryEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S5_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ENKUlS4_S5_RKNSG_13InvokeContextEE_clES4_S5_SP_ Line | Count | Source | 462 | 78 | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 78 | return function(arg1, arg2); | 464 | 78 | }); |
time_functions.cc:_ZZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605264TimeES4_E12WrapFunctionIZNS_12_GLOBAL__N_140RegisterUncheckedTimeArithmeticFunctionsERNS_16FunctionRegistryEE3$_4EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ENKUlS4_S4_RKNSF_13InvokeContextEE_clES4_S4_SO_ Line | Count | Source | 462 | 640 | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 640 | return function(arg1, arg2); | 464 | 640 | }); |
time_functions.cc:_ZZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605268DurationES4_E12WrapFunctionIZNS_12_GLOBAL__N_140RegisterUncheckedTimeArithmeticFunctionsERNS_16FunctionRegistryEE3$_5EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ENKUlS4_S4_RKNSF_13InvokeContextEE_clES4_S4_SO_ Line | Count | Source | 462 | 503 | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 503 | return function(arg1, arg2); | 464 | 503 | }); |
|
465 | 1.56M | } _ZN3cel21BinaryFunctionAdapterIbdlE12WrapFunctionIPFbdlEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_dlEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIbdmE12WrapFunctionIPFbdmEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_dmEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIbmdE12WrapFunctionIPFbmdEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mdEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIbmlE12WrapFunctionIPFbmlEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mlEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIbldE12WrapFunctionIPFbldEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_ldEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIblmE12WrapFunctionIPFblmEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_lmEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIbbbE12WrapFunctionIRFbbbEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_bbEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIbllE12WrapFunctionIRFbllEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_llEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIbmmE12WrapFunctionIRFbmmEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_mmEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIbddE12WrapFunctionIRFbddEEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_ddEENS5_10unique_ptrINS_8FunctionENS5_14default_deleteIS9_EEEEE4typeEOS7_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIbRKNS_11StringValueES3_E12WrapFunctionIRFbS3_S3_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S3_EENS8_10unique_ptrINS_8FunctionENS8_14default_deleteISC_EEEEE4typeEOSA_ Line | Count | Source | 459 | 227k | WrapFunction(F&& function) { | 460 | 227k | return WrapFunction( | 461 | 227k | [function = std::forward<F>(function)]( | 462 | 227k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 227k | return function(arg1, arg2); | 464 | 227k | }); | 465 | 227k | } |
_ZN3cel21BinaryFunctionAdapterIbRKNS_10BytesValueES3_E12WrapFunctionIRFbS3_S3_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S3_EENS8_10unique_ptrINS_8FunctionENS8_14default_deleteISC_EEEEE4typeEOSA_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIbN4absl12lts_202605268DurationES3_E12WrapFunctionIRFbS3_S3_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S3_EENS8_10unique_ptrINS_8FunctionENS8_14default_deleteISC_EEEEE4typeEOSA_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIbN4absl12lts_202605264TimeES3_E12WrapFunctionIRFbS3_S3_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S3_EENS8_10unique_ptrINS_8FunctionENS8_14default_deleteISC_EEEEE4typeEOSA_ Line | Count | Source | 459 | 90.8k | WrapFunction(F&& function) { | 460 | 90.8k | return WrapFunction( | 461 | 90.8k | [function = std::forward<F>(function)]( | 462 | 90.8k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 90.8k | return function(arg1, arg2); | 464 | 90.8k | }); | 465 | 90.8k | } |
_ZN3cel21BinaryFunctionAdapterIN4absl12lts_202605268StatusOrINS_9ListValueEEES4_RKNS_5ValueEE12WrapFunctionIRFS5_S4_S8_EEENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S8_EENSD_10unique_ptrINS_8FunctionENSD_14default_deleteISH_EEEEE4typeEOSF_ Line | Count | Source | 459 | 22.7k | WrapFunction(F&& function) { | 460 | 22.7k | return WrapFunction( | 461 | 22.7k | [function = std::forward<F>(function)]( | 462 | 22.7k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 22.7k | return function(arg1, arg2); | 464 | 22.7k | }); | 465 | 22.7k | } |
Unexecuted instantiation: equality_functions.cc:_ZN3cel21BinaryFunctionAdapterIbRKNS_11StructValueERKNS_9NullValueEE12WrapFunctionIZNS_12_GLOBAL__N_136RegisterNullMessageEqualityFunctionsERNS_16FunctionRegistryEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S6_EENSD_10unique_ptrINS_8FunctionENSD_14default_deleteISH_EEEEE4typeEOSF_ Unexecuted instantiation: equality_functions.cc:_ZN3cel21BinaryFunctionAdapterIbRKNS_9NullValueERKNS_11StructValueEE12WrapFunctionIZNS_12_GLOBAL__N_136RegisterNullMessageEqualityFunctionsERNS_16FunctionRegistryEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S6_EENSD_10unique_ptrINS_8FunctionENSD_14default_deleteISH_EEEEE4typeEOSF_ Unexecuted instantiation: equality_functions.cc:_ZN3cel21BinaryFunctionAdapterIbRKNS_11StructValueERKNS_9NullValueEE12WrapFunctionIZNS_12_GLOBAL__N_136RegisterNullMessageEqualityFunctionsERNS_16FunctionRegistryEE3$_2EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S6_EENSD_10unique_ptrINS_8FunctionENSD_14default_deleteISH_EEEEE4typeEOSF_ Unexecuted instantiation: equality_functions.cc:_ZN3cel21BinaryFunctionAdapterIbRKNS_9NullValueERKNS_11StructValueEE12WrapFunctionIZNS_12_GLOBAL__N_136RegisterNullMessageEqualityFunctionsERNS_16FunctionRegistryEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S3_S6_EENSD_10unique_ptrINS_8FunctionENSD_14default_deleteISH_EEEEE4typeEOSF_ time_functions.cc:_ZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605264TimeENS3_8DurationEE12WrapFunctionIZNS_12_GLOBAL__N_140RegisterUncheckedTimeArithmeticFunctionsERNS_16FunctionRegistryEE3$_0EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S5_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ Line | Count | Source | 459 | 22.7k | WrapFunction(F&& function) { | 460 | 22.7k | return WrapFunction( | 461 | 22.7k | [function = std::forward<F>(function)]( | 462 | 22.7k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 22.7k | return function(arg1, arg2); | 464 | 22.7k | }); | 465 | 22.7k | } |
time_functions.cc:_ZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605268DurationENS3_4TimeEE12WrapFunctionIZNS_12_GLOBAL__N_140RegisterUncheckedTimeArithmeticFunctionsERNS_16FunctionRegistryEE3$_1EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S5_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ Line | Count | Source | 459 | 22.7k | WrapFunction(F&& function) { | 460 | 22.7k | return WrapFunction( | 461 | 22.7k | [function = std::forward<F>(function)]( | 462 | 22.7k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 22.7k | return function(arg1, arg2); | 464 | 22.7k | }); | 465 | 22.7k | } |
time_functions.cc:_ZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605268DurationES4_E12WrapFunctionIZNS_12_GLOBAL__N_140RegisterUncheckedTimeArithmeticFunctionsERNS_16FunctionRegistryEE3$_2EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ Line | Count | Source | 459 | 22.7k | WrapFunction(F&& function) { | 460 | 22.7k | return WrapFunction( | 461 | 22.7k | [function = std::forward<F>(function)]( | 462 | 22.7k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 22.7k | return function(arg1, arg2); | 464 | 22.7k | }); | 465 | 22.7k | } |
time_functions.cc:_ZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605264TimeENS3_8DurationEE12WrapFunctionIZNS_12_GLOBAL__N_140RegisterUncheckedTimeArithmeticFunctionsERNS_16FunctionRegistryEE3$_3EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S5_EENSC_10unique_ptrINS_8FunctionENSC_14default_deleteISG_EEEEE4typeEOSE_ Line | Count | Source | 459 | 22.7k | WrapFunction(F&& function) { | 460 | 22.7k | return WrapFunction( | 461 | 22.7k | [function = std::forward<F>(function)]( | 462 | 22.7k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 22.7k | return function(arg1, arg2); | 464 | 22.7k | }); | 465 | 22.7k | } |
time_functions.cc:_ZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605264TimeES4_E12WrapFunctionIZNS_12_GLOBAL__N_140RegisterUncheckedTimeArithmeticFunctionsERNS_16FunctionRegistryEE3$_4EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ Line | Count | Source | 459 | 22.7k | WrapFunction(F&& function) { | 460 | 22.7k | return WrapFunction( | 461 | 22.7k | [function = std::forward<F>(function)]( | 462 | 22.7k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 22.7k | return function(arg1, arg2); | 464 | 22.7k | }); | 465 | 22.7k | } |
time_functions.cc:_ZN3cel21BinaryFunctionAdapterINS_5ValueEN4absl12lts_202605268DurationES4_E12WrapFunctionIZNS_12_GLOBAL__N_140RegisterUncheckedTimeArithmeticFunctionsERNS_16FunctionRegistryEE3$_5EENSt3__19enable_ifIXsr3stdE14is_invocable_vIT_S4_S4_EENSB_10unique_ptrINS_8FunctionENSB_14default_deleteISF_EEEEE4typeEOSD_ Line | Count | Source | 459 | 22.7k | WrapFunction(F&& function) { | 460 | 22.7k | return WrapFunction( | 461 | 22.7k | [function = std::forward<F>(function)]( | 462 | 22.7k | U arg1, V arg2, const Function::InvokeContext& context) -> T { | 463 | 22.7k | return function(arg1, arg2); | 464 | 22.7k | }); | 465 | 22.7k | } |
|
466 | | |
467 | | static FunctionDescriptor CreateDescriptor(absl::string_view name, |
468 | | bool receiver_style, |
469 | | bool is_strict) { |
470 | | return CreateDescriptor(name, receiver_style, |
471 | | {is_strict, /*is_contextual=*/false}); |
472 | | } |
473 | | |
474 | | static FunctionDescriptor CreateDescriptor( |
475 | | absl::string_view name, bool receiver_style, |
476 | 2.63M | FunctionDescriptorOptions options = {}) { |
477 | 2.63M | return FunctionDescriptor(name, receiver_style, |
478 | 2.63M | {runtime_internal::AdaptedKind<U>(), |
479 | 2.63M | runtime_internal::AdaptedKind<V>()}, |
480 | 2.63M | options); |
481 | 2.63M | } cel::BinaryFunctionAdapter<cel::Value, double, double>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<cel::Value, long, long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 113k | FunctionDescriptorOptions options = {}) { | 477 | 113k | return FunctionDescriptor(name, receiver_style, | 478 | 113k | {runtime_internal::AdaptedKind<U>(), | 479 | 113k | runtime_internal::AdaptedKind<V>()}, | 480 | 113k | options); | 481 | 113k | } |
cel::BinaryFunctionAdapter<cel::Value, unsigned long, unsigned long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 113k | FunctionDescriptorOptions options = {}) { | 477 | 113k | return FunctionDescriptor(name, receiver_style, | 478 | 113k | {runtime_internal::AdaptedKind<U>(), | 479 | 113k | runtime_internal::AdaptedKind<V>()}, | 480 | 113k | options); | 481 | 113k | } |
cel::BinaryFunctionAdapter<bool, double, long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, double, unsigned long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, unsigned long, double>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, unsigned long, long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, long, double>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, long, unsigned long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, bool, bool>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, long, long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, unsigned long, unsigned long>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, double, double>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, cel::StringValue const&, cel::StringValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 227k | FunctionDescriptorOptions options = {}) { | 477 | 227k | return FunctionDescriptor(name, receiver_style, | 478 | 227k | {runtime_internal::AdaptedKind<U>(), | 479 | 227k | runtime_internal::AdaptedKind<V>()}, | 480 | 227k | options); | 481 | 227k | } |
cel::BinaryFunctionAdapter<bool, cel::BytesValue const&, cel::BytesValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, absl::lts_20260526::Duration, absl::lts_20260526::Duration>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<bool, absl::lts_20260526::Time, absl::lts_20260526::Time>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 90.8k | FunctionDescriptorOptions options = {}) { | 477 | 90.8k | return FunctionDescriptor(name, receiver_style, | 478 | 90.8k | {runtime_internal::AdaptedKind<U>(), | 479 | 90.8k | runtime_internal::AdaptedKind<V>()}, | 480 | 90.8k | options); | 481 | 90.8k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::ListValue const&, cel::ListValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 22.7k | FunctionDescriptorOptions options = {}) { | 477 | 22.7k | return FunctionDescriptor(name, receiver_style, | 478 | 22.7k | {runtime_internal::AdaptedKind<U>(), | 479 | 22.7k | runtime_internal::AdaptedKind<V>()}, | 480 | 22.7k | options); | 481 | 22.7k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::ListValue>, cel::ListValue, cel::Value const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 22.7k | FunctionDescriptorOptions options = {}) { | 477 | 22.7k | return FunctionDescriptor(name, receiver_style, | 478 | 22.7k | {runtime_internal::AdaptedKind<U>(), | 479 | 22.7k | runtime_internal::AdaptedKind<V>()}, | 480 | 22.7k | options); | 481 | 22.7k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::Value const&, cel::ListValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 68.1k | FunctionDescriptorOptions options = {}) { | 477 | 68.1k | return FunctionDescriptor(name, receiver_style, | 478 | 68.1k | {runtime_internal::AdaptedKind<U>(), | 479 | 68.1k | runtime_internal::AdaptedKind<V>()}, | 480 | 68.1k | options); | 481 | 68.1k | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, bool, cel::ListValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, long, cel::ListValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, unsigned long, cel::ListValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, double, cel::ListValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, cel::StringValue const&, cel::ListValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, cel::BytesValue const&, cel::ListValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::StringValue const&, cel::MapValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 68.1k | FunctionDescriptorOptions options = {}) { | 477 | 68.1k | return FunctionDescriptor(name, receiver_style, | 478 | 68.1k | {runtime_internal::AdaptedKind<U>(), | 479 | 68.1k | runtime_internal::AdaptedKind<V>()}, | 480 | 68.1k | options); | 481 | 68.1k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, bool, cel::MapValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 68.1k | FunctionDescriptorOptions options = {}) { | 477 | 68.1k | return FunctionDescriptor(name, receiver_style, | 478 | 68.1k | {runtime_internal::AdaptedKind<U>(), | 479 | 68.1k | runtime_internal::AdaptedKind<V>()}, | 480 | 68.1k | options); | 481 | 68.1k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, long, cel::MapValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 68.1k | FunctionDescriptorOptions options = {}) { | 477 | 68.1k | return FunctionDescriptor(name, receiver_style, | 478 | 68.1k | {runtime_internal::AdaptedKind<U>(), | 479 | 68.1k | runtime_internal::AdaptedKind<V>()}, | 480 | 68.1k | options); | 481 | 68.1k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, unsigned long, cel::MapValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 68.1k | FunctionDescriptorOptions options = {}) { | 477 | 68.1k | return FunctionDescriptor(name, receiver_style, | 478 | 68.1k | {runtime_internal::AdaptedKind<U>(), | 479 | 68.1k | runtime_internal::AdaptedKind<V>()}, | 480 | 68.1k | options); | 481 | 68.1k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, double, cel::MapValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 68.1k | FunctionDescriptorOptions options = {}) { | 477 | 68.1k | return FunctionDescriptor(name, receiver_style, | 478 | 68.1k | {runtime_internal::AdaptedKind<U>(), | 479 | 68.1k | runtime_internal::AdaptedKind<V>()}, | 480 | 68.1k | options); | 481 | 68.1k | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::Value const&, cel::Value const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, bool, bool>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) cel::BinaryFunctionAdapter<cel::Value, cel::StringValue const&, cel::StringValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 45.4k | FunctionDescriptorOptions options = {}) { | 477 | 45.4k | return FunctionDescriptor(name, receiver_style, | 478 | 45.4k | {runtime_internal::AdaptedKind<U>(), | 479 | 45.4k | runtime_internal::AdaptedKind<V>()}, | 480 | 45.4k | options); | 481 | 45.4k | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::BytesValue const&, cel::BytesValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Duration, absl::lts_20260526::Duration>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 45.4k | FunctionDescriptorOptions options = {}) { | 477 | 45.4k | return FunctionDescriptor(name, receiver_style, | 478 | 45.4k | {runtime_internal::AdaptedKind<U>(), | 479 | 45.4k | runtime_internal::AdaptedKind<V>()}, | 480 | 45.4k | options); | 481 | 45.4k | } |
cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Time, absl::lts_20260526::Time>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 22.7k | FunctionDescriptorOptions options = {}) { | 477 | 22.7k | return FunctionDescriptor(name, receiver_style, | 478 | 22.7k | {runtime_internal::AdaptedKind<U>(), | 479 | 22.7k | runtime_internal::AdaptedKind<V>()}, | 480 | 22.7k | options); | 481 | 22.7k | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::NullValue const&, cel::NullValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::TypeValue const&, cel::TypeValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::MapValue const&, cel::MapValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<bool, cel::StructValue const&, cel::NullValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<bool, cel::NullValue const&, cel::StructValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::StringValue>, cel::StringValue const&, cel::StringValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 22.7k | FunctionDescriptorOptions options = {}) { | 477 | 22.7k | return FunctionDescriptor(name, receiver_style, | 478 | 22.7k | {runtime_internal::AdaptedKind<U>(), | 479 | 22.7k | runtime_internal::AdaptedKind<V>()}, | 480 | 22.7k | options); | 481 | 22.7k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::BytesValue>, cel::BytesValue const&, cel::BytesValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 22.7k | FunctionDescriptorOptions options = {}) { | 477 | 22.7k | return FunctionDescriptor(name, receiver_style, | 478 | 22.7k | {runtime_internal::AdaptedKind<U>(), | 479 | 22.7k | runtime_internal::AdaptedKind<V>()}, | 480 | 22.7k | options); | 481 | 22.7k | } |
cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Time, cel::StringValue const&>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 227k | FunctionDescriptorOptions options = {}) { | 477 | 227k | return FunctionDescriptor(name, receiver_style, | 478 | 227k | {runtime_internal::AdaptedKind<U>(), | 479 | 227k | runtime_internal::AdaptedKind<V>()}, | 480 | 227k | options); | 481 | 227k | } |
cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Time, absl::lts_20260526::Duration>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 45.4k | FunctionDescriptorOptions options = {}) { | 477 | 45.4k | return FunctionDescriptor(name, receiver_style, | 478 | 45.4k | {runtime_internal::AdaptedKind<U>(), | 479 | 45.4k | runtime_internal::AdaptedKind<V>()}, | 480 | 45.4k | options); | 481 | 45.4k | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Duration, absl::lts_20260526::Time>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Duration, absl::lts_20260526::Duration>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Time, absl::lts_20260526::Duration>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Time, absl::lts_20260526::Time>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Duration, absl::lts_20260526::Time>::CreateDescriptor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, cel::FunctionDescriptorOptions) Line | Count | Source | 476 | 22.7k | FunctionDescriptorOptions options = {}) { | 477 | 22.7k | return FunctionDescriptor(name, receiver_style, | 478 | 22.7k | {runtime_internal::AdaptedKind<U>(), | 479 | 22.7k | runtime_internal::AdaptedKind<V>()}, | 480 | 22.7k | options); | 481 | 22.7k | } |
|
482 | | |
483 | | private: |
484 | | class BinaryFunctionImpl : public Function { |
485 | | public: |
486 | 2.63M | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {}cel::BinaryFunctionAdapter<cel::Value, double, double>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (double, double, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<cel::Value, long, long>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (long, long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 113k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<cel::Value, unsigned long, unsigned long>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (unsigned long, unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 113k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, double, long>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (double, long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, double, unsigned long>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (double, unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, unsigned long, double>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (unsigned long, double, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, unsigned long, long>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (unsigned long, long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, long, double>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (long, double, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, long, unsigned long>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (long, unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, bool, bool>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (bool, bool, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, long, long>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (long, long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, unsigned long, unsigned long>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (unsigned long, unsigned long, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, double, double>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (double, double, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, cel::StringValue const&, cel::StringValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (cel::StringValue const&, cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 227k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, cel::BytesValue const&, cel::BytesValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (cel::BytesValue const&, cel::BytesValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, absl::lts_20260526::Duration, absl::lts_20260526::Duration>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (absl::lts_20260526::Duration, absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<bool, absl::lts_20260526::Time, absl::lts_20260526::Time>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (absl::lts_20260526::Time, absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 90.8k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::ListValue const&, cel::ListValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (cel::ListValue const&, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 22.7k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::ListValue>, cel::ListValue, cel::Value const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::ListValue> (cel::ListValue, cel::Value const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 22.7k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::Value const&, cel::ListValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (cel::Value const&, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 68.1k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, bool, cel::ListValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<bool> (bool, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, long, cel::ListValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<bool> (long, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, unsigned long, cel::ListValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<bool> (unsigned long, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, double, cel::ListValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<bool> (double, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, cel::StringValue const&, cel::ListValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<bool> (cel::StringValue const&, cel::ListValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, cel::BytesValue const&, cel::ListValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<bool> (cel::BytesValue const&, cel::ListValue const&, cel::Function::InvokeContext const&) const>) cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::StringValue const&, cel::MapValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (cel::StringValue const&, cel::MapValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 68.1k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, bool, cel::MapValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (bool, cel::MapValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 68.1k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, long, cel::MapValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (long, cel::MapValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 68.1k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, unsigned long, cel::MapValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (unsigned long, cel::MapValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 68.1k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, double, cel::MapValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (double, cel::MapValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 68.1k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::Value const&, cel::Value const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (cel::Value const&, cel::Value const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, bool, bool>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (bool, bool, cel::Function::InvokeContext const&) const>) cel::BinaryFunctionAdapter<cel::Value, cel::StringValue const&, cel::StringValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (cel::StringValue const&, cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 45.4k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::BytesValue const&, cel::BytesValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (cel::BytesValue const&, cel::BytesValue const&, cel::Function::InvokeContext const&) const>) cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Duration, absl::lts_20260526::Duration>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Duration, absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 45.4k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Time, absl::lts_20260526::Time>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Time, absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 22.7k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::NullValue const&, cel::NullValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (cel::NullValue const&, cel::NullValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::TypeValue const&, cel::TypeValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (cel::TypeValue const&, cel::TypeValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::MapValue const&, cel::MapValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (cel::MapValue const&, cel::MapValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<bool, cel::StructValue const&, cel::NullValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (cel::StructValue const&, cel::NullValue const&, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<bool, cel::NullValue const&, cel::StructValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<bool (cel::NullValue const&, cel::StructValue const&, cel::Function::InvokeContext const&) const>) cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::StringValue>, cel::StringValue const&, cel::StringValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::StringValue> (cel::StringValue const&, cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 22.7k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::BytesValue>, cel::BytesValue const&, cel::BytesValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::BytesValue> (cel::BytesValue const&, cel::BytesValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 22.7k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Time, cel::StringValue const&>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Time, cel::StringValue const&, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 227k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Time, absl::lts_20260526::Duration>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (absl::lts_20260526::Time, absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Duration, absl::lts_20260526::Time>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (absl::lts_20260526::Duration, absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Duration, absl::lts_20260526::Duration>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (absl::lts_20260526::Duration, absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Time, absl::lts_20260526::Time>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<absl::lts_20260526::StatusOr<cel::Value> (absl::lts_20260526::Time, absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Time, absl::lts_20260526::Duration>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Time, absl::lts_20260526::Duration, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 45.4k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Duration, absl::lts_20260526::Time>::BinaryFunctionImpl::BinaryFunctionImpl(absl::lts_20260526::AnyInvocable<cel::Value (absl::lts_20260526::Duration, absl::lts_20260526::Time, cel::Function::InvokeContext const&) const>) Line | Count | Source | 486 | 22.7k | explicit BinaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
|
487 | | absl::StatusOr<Value> Invoke( |
488 | | absl::Span<const Value> args, |
489 | 3.45M | const Function::InvokeContext& context) const final { |
490 | 3.45M | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; |
491 | 3.45M | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; |
492 | 3.45M | if (args.size() != 2) { |
493 | 0 | return absl::InvalidArgumentError( |
494 | 0 | "unexpected number of arguments for binary function"); |
495 | 0 | } |
496 | 3.45M | typename Arg1Traits::AssignableType arg1; |
497 | 3.45M | typename Arg2Traits::AssignableType arg2; |
498 | 3.45M | CEL_RETURN_IF_ERROR( |
499 | 3.45M | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); |
500 | 3.45M | CEL_RETURN_IF_ERROR( |
501 | 3.45M | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); |
502 | | |
503 | | if constexpr (std::is_same_v<T, Value> || |
504 | 3.16M | std::is_same_v<T, absl::StatusOr<Value>>) { |
505 | 3.16M | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); |
506 | 3.16M | } else { |
507 | 290k | T result = |
508 | 290k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); |
509 | | |
510 | 290k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); |
511 | 290k | } |
512 | 3.45M | } cel::BinaryFunctionAdapter<cel::Value, double, double>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 91.1k | const Function::InvokeContext& context) const final { | 490 | 91.1k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 91.1k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 91.1k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 91.1k | typename Arg1Traits::AssignableType arg1; | 497 | 91.1k | typename Arg2Traits::AssignableType arg2; | 498 | 91.1k | CEL_RETURN_IF_ERROR( | 499 | 91.1k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 91.1k | CEL_RETURN_IF_ERROR( | 501 | 91.1k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | 91.1k | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | 91.1k | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | | } else { | 507 | | T result = | 508 | | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | | } | 512 | 91.1k | } |
cel::BinaryFunctionAdapter<cel::Value, long, long>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 889k | const Function::InvokeContext& context) const final { | 490 | 889k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 889k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 889k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 889k | typename Arg1Traits::AssignableType arg1; | 497 | 889k | typename Arg2Traits::AssignableType arg2; | 498 | 889k | CEL_RETURN_IF_ERROR( | 499 | 889k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 889k | CEL_RETURN_IF_ERROR( | 501 | 889k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | 889k | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | 889k | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | | } else { | 507 | | T result = | 508 | | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | | } | 512 | 889k | } |
cel::BinaryFunctionAdapter<cel::Value, unsigned long, unsigned long>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 1.67M | const Function::InvokeContext& context) const final { | 490 | 1.67M | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 1.67M | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 1.67M | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 1.67M | typename Arg1Traits::AssignableType arg1; | 497 | 1.67M | typename Arg2Traits::AssignableType arg2; | 498 | 1.67M | CEL_RETURN_IF_ERROR( | 499 | 1.67M | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 1.67M | CEL_RETURN_IF_ERROR( | 501 | 1.67M | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | 1.67M | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | 1.67M | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | | } else { | 507 | | T result = | 508 | | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | | } | 512 | 1.67M | } |
cel::BinaryFunctionAdapter<bool, double, long>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 25.6k | const Function::InvokeContext& context) const final { | 490 | 25.6k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 25.6k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 25.6k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 25.6k | typename Arg1Traits::AssignableType arg1; | 497 | 25.6k | typename Arg2Traits::AssignableType arg2; | 498 | 25.6k | CEL_RETURN_IF_ERROR( | 499 | 25.6k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 25.6k | CEL_RETURN_IF_ERROR( | 501 | 25.6k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 25.6k | } else { | 507 | 25.6k | T result = | 508 | 25.6k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 25.6k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 25.6k | } | 512 | 25.6k | } |
cel::BinaryFunctionAdapter<bool, double, unsigned long>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 8.34k | const Function::InvokeContext& context) const final { | 490 | 8.34k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 8.34k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 8.34k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 8.34k | typename Arg1Traits::AssignableType arg1; | 497 | 8.34k | typename Arg2Traits::AssignableType arg2; | 498 | 8.34k | CEL_RETURN_IF_ERROR( | 499 | 8.34k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 8.34k | CEL_RETURN_IF_ERROR( | 501 | 8.34k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 8.34k | } else { | 507 | 8.34k | T result = | 508 | 8.34k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 8.34k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 8.34k | } | 512 | 8.34k | } |
cel::BinaryFunctionAdapter<bool, unsigned long, double>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 32.0k | const Function::InvokeContext& context) const final { | 490 | 32.0k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 32.0k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 32.0k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 32.0k | typename Arg1Traits::AssignableType arg1; | 497 | 32.0k | typename Arg2Traits::AssignableType arg2; | 498 | 32.0k | CEL_RETURN_IF_ERROR( | 499 | 32.0k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 32.0k | CEL_RETURN_IF_ERROR( | 501 | 32.0k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 32.0k | } else { | 507 | 32.0k | T result = | 508 | 32.0k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 32.0k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 32.0k | } | 512 | 32.0k | } |
cel::BinaryFunctionAdapter<bool, unsigned long, long>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 21.8k | const Function::InvokeContext& context) const final { | 490 | 21.8k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 21.8k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 21.8k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 21.8k | typename Arg1Traits::AssignableType arg1; | 497 | 21.8k | typename Arg2Traits::AssignableType arg2; | 498 | 21.8k | CEL_RETURN_IF_ERROR( | 499 | 21.8k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 21.8k | CEL_RETURN_IF_ERROR( | 501 | 21.8k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 21.8k | } else { | 507 | 21.8k | T result = | 508 | 21.8k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 21.8k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 21.8k | } | 512 | 21.8k | } |
cel::BinaryFunctionAdapter<bool, long, double>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 23.9k | const Function::InvokeContext& context) const final { | 490 | 23.9k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 23.9k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 23.9k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 23.9k | typename Arg1Traits::AssignableType arg1; | 497 | 23.9k | typename Arg2Traits::AssignableType arg2; | 498 | 23.9k | CEL_RETURN_IF_ERROR( | 499 | 23.9k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 23.9k | CEL_RETURN_IF_ERROR( | 501 | 23.9k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 23.9k | } else { | 507 | 23.9k | T result = | 508 | 23.9k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 23.9k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 23.9k | } | 512 | 23.9k | } |
cel::BinaryFunctionAdapter<bool, long, unsigned long>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 13.6k | const Function::InvokeContext& context) const final { | 490 | 13.6k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 13.6k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 13.6k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 13.6k | typename Arg1Traits::AssignableType arg1; | 497 | 13.6k | typename Arg2Traits::AssignableType arg2; | 498 | 13.6k | CEL_RETURN_IF_ERROR( | 499 | 13.6k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 13.6k | CEL_RETURN_IF_ERROR( | 501 | 13.6k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 13.6k | } else { | 507 | 13.6k | T result = | 508 | 13.6k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 13.6k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 13.6k | } | 512 | 13.6k | } |
cel::BinaryFunctionAdapter<bool, bool, bool>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 1.33k | const Function::InvokeContext& context) const final { | 490 | 1.33k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 1.33k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 1.33k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 1.33k | typename Arg1Traits::AssignableType arg1; | 497 | 1.33k | typename Arg2Traits::AssignableType arg2; | 498 | 1.33k | CEL_RETURN_IF_ERROR( | 499 | 1.33k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 1.33k | CEL_RETURN_IF_ERROR( | 501 | 1.33k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 1.33k | } else { | 507 | 1.33k | T result = | 508 | 1.33k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 1.33k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 1.33k | } | 512 | 1.33k | } |
cel::BinaryFunctionAdapter<bool, long, long>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 131k | const Function::InvokeContext& context) const final { | 490 | 131k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 131k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 131k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 131k | typename Arg1Traits::AssignableType arg1; | 497 | 131k | typename Arg2Traits::AssignableType arg2; | 498 | 131k | CEL_RETURN_IF_ERROR( | 499 | 131k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 131k | CEL_RETURN_IF_ERROR( | 501 | 131k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 131k | } else { | 507 | 131k | T result = | 508 | 131k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 131k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 131k | } | 512 | 131k | } |
cel::BinaryFunctionAdapter<bool, unsigned long, unsigned long>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 9.93k | const Function::InvokeContext& context) const final { | 490 | 9.93k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 9.93k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 9.93k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 9.93k | typename Arg1Traits::AssignableType arg1; | 497 | 9.93k | typename Arg2Traits::AssignableType arg2; | 498 | 9.93k | CEL_RETURN_IF_ERROR( | 499 | 9.93k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 9.93k | CEL_RETURN_IF_ERROR( | 501 | 9.93k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 9.93k | } else { | 507 | 9.93k | T result = | 508 | 9.93k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 9.93k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 9.93k | } | 512 | 9.93k | } |
cel::BinaryFunctionAdapter<bool, double, double>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 2.71k | const Function::InvokeContext& context) const final { | 490 | 2.71k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 2.71k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 2.71k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 2.71k | typename Arg1Traits::AssignableType arg1; | 497 | 2.71k | typename Arg2Traits::AssignableType arg2; | 498 | 2.71k | CEL_RETURN_IF_ERROR( | 499 | 2.71k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 2.71k | CEL_RETURN_IF_ERROR( | 501 | 2.71k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 2.71k | } else { | 507 | 2.71k | T result = | 508 | 2.71k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 2.71k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 2.71k | } | 512 | 2.71k | } |
cel::BinaryFunctionAdapter<bool, cel::StringValue const&, cel::StringValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 7.00k | const Function::InvokeContext& context) const final { | 490 | 7.00k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 7.00k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 7.00k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 7.00k | typename Arg1Traits::AssignableType arg1; | 497 | 7.00k | typename Arg2Traits::AssignableType arg2; | 498 | 7.00k | CEL_RETURN_IF_ERROR( | 499 | 7.00k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 7.00k | CEL_RETURN_IF_ERROR( | 501 | 7.00k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 7.00k | } else { | 507 | 7.00k | T result = | 508 | 7.00k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 7.00k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 7.00k | } | 512 | 7.00k | } |
cel::BinaryFunctionAdapter<bool, cel::BytesValue const&, cel::BytesValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 2.51k | const Function::InvokeContext& context) const final { | 490 | 2.51k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 2.51k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 2.51k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 2.51k | typename Arg1Traits::AssignableType arg1; | 497 | 2.51k | typename Arg2Traits::AssignableType arg2; | 498 | 2.51k | CEL_RETURN_IF_ERROR( | 499 | 2.51k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 2.51k | CEL_RETURN_IF_ERROR( | 501 | 2.51k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 2.51k | } else { | 507 | 2.51k | T result = | 508 | 2.51k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 2.51k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 2.51k | } | 512 | 2.51k | } |
cel::BinaryFunctionAdapter<bool, absl::lts_20260526::Duration, absl::lts_20260526::Duration>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 3.08k | const Function::InvokeContext& context) const final { | 490 | 3.08k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 3.08k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 3.08k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 3.08k | typename Arg1Traits::AssignableType arg1; | 497 | 3.08k | typename Arg2Traits::AssignableType arg2; | 498 | 3.08k | CEL_RETURN_IF_ERROR( | 499 | 3.08k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 3.08k | CEL_RETURN_IF_ERROR( | 501 | 3.08k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 3.08k | } else { | 507 | 3.08k | T result = | 508 | 3.08k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 3.08k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 3.08k | } | 512 | 3.08k | } |
cel::BinaryFunctionAdapter<bool, absl::lts_20260526::Time, absl::lts_20260526::Time>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 2.13k | const Function::InvokeContext& context) const final { | 490 | 2.13k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 2.13k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 2.13k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 2.13k | typename Arg1Traits::AssignableType arg1; | 497 | 2.13k | typename Arg2Traits::AssignableType arg2; | 498 | 2.13k | CEL_RETURN_IF_ERROR( | 499 | 2.13k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 2.13k | CEL_RETURN_IF_ERROR( | 501 | 2.13k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 2.13k | } else { | 507 | 2.13k | T result = | 508 | 2.13k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 2.13k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 2.13k | } | 512 | 2.13k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::ListValue const&, cel::ListValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 497k | const Function::InvokeContext& context) const final { | 490 | 497k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 497k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 497k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 497k | typename Arg1Traits::AssignableType arg1; | 497 | 497k | typename Arg2Traits::AssignableType arg2; | 498 | 497k | CEL_RETURN_IF_ERROR( | 499 | 497k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 497k | CEL_RETURN_IF_ERROR( | 501 | 497k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | 497k | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | 497k | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | | } else { | 507 | | T result = | 508 | | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | | } | 512 | 497k | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::ListValue>, cel::ListValue, cel::Value const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::Value const&, cel::ListValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, bool, cel::ListValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, long, cel::ListValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, unsigned long, cel::ListValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, double, cel::ListValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, cel::StringValue const&, cel::ListValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<bool>, cel::BytesValue const&, cel::ListValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::StringValue const&, cel::MapValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, bool, cel::MapValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, long, cel::MapValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, unsigned long, cel::MapValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, double, cel::MapValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::Value const&, cel::Value const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, bool, bool>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::StringValue const&, cel::StringValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::BytesValue const&, cel::BytesValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Duration, absl::lts_20260526::Duration>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 2.08k | const Function::InvokeContext& context) const final { | 490 | 2.08k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 2.08k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 2.08k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 2.08k | typename Arg1Traits::AssignableType arg1; | 497 | 2.08k | typename Arg2Traits::AssignableType arg2; | 498 | 2.08k | CEL_RETURN_IF_ERROR( | 499 | 2.08k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 2.08k | CEL_RETURN_IF_ERROR( | 501 | 2.08k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | 2.08k | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | 2.08k | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | | } else { | 507 | | T result = | 508 | | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | | } | 512 | 2.08k | } |
cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Time, absl::lts_20260526::Time>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 640 | const Function::InvokeContext& context) const final { | 490 | 640 | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 640 | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 640 | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 640 | typename Arg1Traits::AssignableType arg1; | 497 | 640 | typename Arg2Traits::AssignableType arg2; | 498 | 640 | CEL_RETURN_IF_ERROR( | 499 | 640 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 640 | CEL_RETURN_IF_ERROR( | 501 | 640 | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | 640 | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | 640 | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | | } else { | 507 | | T result = | 508 | | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | | } | 512 | 640 | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::NullValue const&, cel::NullValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, cel::TypeValue const&, cel::TypeValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, cel::MapValue const&, cel::MapValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<bool, cel::StructValue const&, cel::NullValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<bool, cel::NullValue const&, cel::StructValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::StringValue>, cel::StringValue const&, cel::StringValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 3.40k | const Function::InvokeContext& context) const final { | 490 | 3.40k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 3.40k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 3.40k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 3.40k | typename Arg1Traits::AssignableType arg1; | 497 | 3.40k | typename Arg2Traits::AssignableType arg2; | 498 | 3.40k | CEL_RETURN_IF_ERROR( | 499 | 3.40k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 3.40k | CEL_RETURN_IF_ERROR( | 501 | 3.40k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 3.40k | } else { | 507 | 3.40k | T result = | 508 | 3.40k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 3.40k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 3.40k | } | 512 | 3.40k | } |
cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::BytesValue>, cel::BytesValue const&, cel::BytesValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 1.41k | const Function::InvokeContext& context) const final { | 490 | 1.41k | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 1.41k | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 1.41k | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 1.41k | typename Arg1Traits::AssignableType arg1; | 497 | 1.41k | typename Arg2Traits::AssignableType arg2; | 498 | 1.41k | CEL_RETURN_IF_ERROR( | 499 | 1.41k | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 1.41k | CEL_RETURN_IF_ERROR( | 501 | 1.41k | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | 1.41k | } else { | 507 | 1.41k | T result = | 508 | 1.41k | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | 1.41k | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | 1.41k | } | 512 | 1.41k | } |
Unexecuted instantiation: cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Time, cel::StringValue const&>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Time, absl::lts_20260526::Duration>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Duration, absl::lts_20260526::Time>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Duration, absl::lts_20260526::Duration>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Unexecuted instantiation: cel::BinaryFunctionAdapter<absl::lts_20260526::StatusOr<cel::Value>, absl::lts_20260526::Time, absl::lts_20260526::Time>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Time, absl::lts_20260526::Duration>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 157 | const Function::InvokeContext& context) const final { | 490 | 157 | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 157 | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 157 | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 157 | typename Arg1Traits::AssignableType arg1; | 497 | 157 | typename Arg2Traits::AssignableType arg2; | 498 | 157 | CEL_RETURN_IF_ERROR( | 499 | 157 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 157 | CEL_RETURN_IF_ERROR( | 501 | 157 | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | 157 | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | 157 | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | | } else { | 507 | | T result = | 508 | | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | | } | 512 | 157 | } |
cel::BinaryFunctionAdapter<cel::Value, absl::lts_20260526::Duration, absl::lts_20260526::Time>::BinaryFunctionImpl::Invoke(absl::lts_20260526::Span<cel::Value const>, cel::Function::InvokeContext const&) const Line | Count | Source | 489 | 609 | const Function::InvokeContext& context) const final { | 490 | 609 | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; | 491 | 609 | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; | 492 | 609 | if (args.size() != 2) { | 493 | 0 | return absl::InvalidArgumentError( | 494 | 0 | "unexpected number of arguments for binary function"); | 495 | 0 | } | 496 | 609 | typename Arg1Traits::AssignableType arg1; | 497 | 609 | typename Arg2Traits::AssignableType arg2; | 498 | 609 | CEL_RETURN_IF_ERROR( | 499 | 609 | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); | 500 | 609 | CEL_RETURN_IF_ERROR( | 501 | 609 | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); | 502 | | | 503 | | if constexpr (std::is_same_v<T, Value> || | 504 | 609 | std::is_same_v<T, absl::StatusOr<Value>>) { | 505 | 609 | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 506 | | } else { | 507 | | T result = | 508 | | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), context); | 509 | | | 510 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); | 511 | | } | 512 | 609 | } |
|
513 | | |
514 | | private: |
515 | | BinaryFunctionAdapter::FunctionType fn_; |
516 | | }; |
517 | | }; |
518 | | |
519 | | template <typename T, typename U, typename V, typename W> |
520 | | class TernaryFunctionAdapter |
521 | | : public RegisterHelper<TernaryFunctionAdapter<T, U, V, W>> { |
522 | | public: |
523 | | using FunctionType = |
524 | | absl::AnyInvocable<T(U, V, W, const Function::InvokeContext&) const>; |
525 | | |
526 | | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { |
527 | | return std::make_unique<TernaryFunctionImpl>(std::move(fn)); |
528 | | } |
529 | | |
530 | | template <typename F> |
531 | | static std::enable_if_t< |
532 | | std::is_invocable_v< |
533 | | F, U, V, W, const google::protobuf::DescriptorPool* absl_nonnull, |
534 | | google::protobuf::MessageFactory* absl_nonnull, google::protobuf::Arena* absl_nonnull>, |
535 | | std::unique_ptr<cel::Function>> |
536 | | WrapFunction(F&& function) { |
537 | | return WrapFunction([function = std::forward<F>(function)]( |
538 | | U arg1, V arg2, W arg3, |
539 | | const Function::InvokeContext& context) -> T { |
540 | | return function(arg1, arg2, arg3, context.descriptor_pool(), |
541 | | context.message_factory(), context.arena()); |
542 | | }); |
543 | | } |
544 | | |
545 | | template <typename F> |
546 | | static std::enable_if_t<std::is_invocable_v<F, U, V, W>, |
547 | | std::unique_ptr<cel::Function>> |
548 | | WrapFunction(F&& function) { |
549 | | return WrapFunction([function = std::forward<F>(function)]( |
550 | | U arg1, V arg2, W arg3, |
551 | | const Function::InvokeContext& context) -> T { |
552 | | return function(arg1, arg2, arg3); |
553 | | }); |
554 | | } |
555 | | |
556 | | static FunctionDescriptor CreateDescriptor(absl::string_view name, |
557 | | bool receiver_style, |
558 | | bool is_strict) { |
559 | | return CreateDescriptor( |
560 | | name, receiver_style, |
561 | | FunctionDescriptorOptions{is_strict, /*is_contextual=*/false}); |
562 | | } |
563 | | |
564 | | static FunctionDescriptor CreateDescriptor( |
565 | | absl::string_view name, bool receiver_style, |
566 | | FunctionDescriptorOptions options = {}) { |
567 | | return FunctionDescriptor( |
568 | | name, receiver_style, |
569 | | {runtime_internal::AdaptedKind<U>(), runtime_internal::AdaptedKind<V>(), |
570 | | runtime_internal::AdaptedKind<W>()}, |
571 | | options); |
572 | | } |
573 | | |
574 | | private: |
575 | | class TernaryFunctionImpl : public Function { |
576 | | public: |
577 | | explicit TernaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
578 | | absl::StatusOr<Value> Invoke( |
579 | | absl::Span<const Value> args, |
580 | | const Function::InvokeContext& context) const final { |
581 | | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; |
582 | | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; |
583 | | using Arg3Traits = runtime_internal::AdaptedTypeTraits<W>; |
584 | | if (args.size() != 3) { |
585 | | return absl::InvalidArgumentError( |
586 | | "unexpected number of arguments for ternary function"); |
587 | | } |
588 | | typename Arg1Traits::AssignableType arg1; |
589 | | typename Arg2Traits::AssignableType arg2; |
590 | | typename Arg3Traits::AssignableType arg3; |
591 | | CEL_RETURN_IF_ERROR( |
592 | | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); |
593 | | CEL_RETURN_IF_ERROR( |
594 | | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); |
595 | | CEL_RETURN_IF_ERROR( |
596 | | runtime_internal::ValueToAdaptedVisitor{args[2]}(&arg3)); |
597 | | |
598 | | if constexpr (std::is_same_v<T, Value> || |
599 | | std::is_same_v<T, absl::StatusOr<Value>>) { |
600 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), |
601 | | Arg3Traits::ToArg(arg3), context); |
602 | | } else { |
603 | | T result = fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), |
604 | | Arg3Traits::ToArg(arg3), context); |
605 | | |
606 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); |
607 | | } |
608 | | } |
609 | | |
610 | | private: |
611 | | TernaryFunctionAdapter::FunctionType fn_; |
612 | | }; |
613 | | }; |
614 | | |
615 | | template <typename T, typename U, typename V, typename W, typename X> |
616 | | class QuaternaryFunctionAdapter |
617 | | : public RegisterHelper<QuaternaryFunctionAdapter<T, U, V, W, X>> { |
618 | | public: |
619 | | using FunctionType = |
620 | | absl::AnyInvocable<T(U, V, W, X, const Function::InvokeContext&) const>; |
621 | | |
622 | | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { |
623 | | return std::make_unique<QuaternaryFunctionImpl>(std::move(fn)); |
624 | | } |
625 | | |
626 | | template <typename F> |
627 | | static std::enable_if_t< |
628 | | std::is_invocable_v< |
629 | | F, U, V, W, X, const google::protobuf::DescriptorPool* absl_nonnull, |
630 | | google::protobuf::MessageFactory* absl_nonnull, google::protobuf::Arena* absl_nonnull>, |
631 | | std::unique_ptr<cel::Function>> |
632 | | WrapFunction(F&& function) { |
633 | | return WrapFunction([function = std::forward<F>(function)]( |
634 | | U arg1, V arg2, W arg3, X arg4, |
635 | | const Function::InvokeContext& context) -> T { |
636 | | return function(arg1, arg2, arg3, arg4, context.descriptor_pool(), |
637 | | context.message_factory(), context.arena()); |
638 | | }); |
639 | | } |
640 | | |
641 | | template <typename F> |
642 | | static std::enable_if_t<std::is_invocable_v<F, U, V, W, X>, |
643 | | std::unique_ptr<cel::Function>> |
644 | | WrapFunction(F&& function) { |
645 | | return WrapFunction([function = std::forward<F>(function)]( |
646 | | U arg1, V arg2, W arg3, X arg4, |
647 | | const Function::InvokeContext& context) -> T { |
648 | | return function(arg1, arg2, arg3, arg4); |
649 | | }); |
650 | | } |
651 | | |
652 | | static FunctionDescriptor CreateDescriptor(absl::string_view name, |
653 | | bool receiver_style, |
654 | | bool is_strict) { |
655 | | return CreateDescriptor(name, receiver_style, |
656 | | {is_strict, /*is_contextual=*/false}); |
657 | | } |
658 | | |
659 | | static FunctionDescriptor CreateDescriptor( |
660 | | absl::string_view name, bool receiver_style, |
661 | | FunctionDescriptorOptions options = {}) { |
662 | | return FunctionDescriptor( |
663 | | name, receiver_style, |
664 | | {runtime_internal::AdaptedKind<U>(), runtime_internal::AdaptedKind<V>(), |
665 | | runtime_internal::AdaptedKind<W>(), |
666 | | runtime_internal::AdaptedKind<X>()}, |
667 | | options); |
668 | | } |
669 | | |
670 | | private: |
671 | | class QuaternaryFunctionImpl : public Function { |
672 | | public: |
673 | | explicit QuaternaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
674 | | absl::StatusOr<Value> Invoke( |
675 | | absl::Span<const Value> args, |
676 | | const Function::InvokeContext& context) const final { |
677 | | using Arg1Traits = runtime_internal::AdaptedTypeTraits<U>; |
678 | | using Arg2Traits = runtime_internal::AdaptedTypeTraits<V>; |
679 | | using Arg3Traits = runtime_internal::AdaptedTypeTraits<W>; |
680 | | using Arg4Traits = runtime_internal::AdaptedTypeTraits<X>; |
681 | | if (args.size() != 4) { |
682 | | return absl::InvalidArgumentError( |
683 | | "unexpected number of arguments for quaternary function"); |
684 | | } |
685 | | typename Arg1Traits::AssignableType arg1; |
686 | | typename Arg2Traits::AssignableType arg2; |
687 | | typename Arg3Traits::AssignableType arg3; |
688 | | typename Arg4Traits::AssignableType arg4; |
689 | | CEL_RETURN_IF_ERROR( |
690 | | runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1)); |
691 | | CEL_RETURN_IF_ERROR( |
692 | | runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2)); |
693 | | CEL_RETURN_IF_ERROR( |
694 | | runtime_internal::ValueToAdaptedVisitor{args[2]}(&arg3)); |
695 | | CEL_RETURN_IF_ERROR( |
696 | | runtime_internal::ValueToAdaptedVisitor{args[3]}(&arg4)); |
697 | | |
698 | | if constexpr (std::is_same_v<T, Value> || |
699 | | std::is_same_v<T, absl::StatusOr<Value>>) { |
700 | | return fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), |
701 | | Arg3Traits::ToArg(arg3), Arg4Traits::ToArg(arg4), context); |
702 | | } else { |
703 | | T result = |
704 | | fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2), |
705 | | Arg3Traits::ToArg(arg3), Arg4Traits::ToArg(arg4), context); |
706 | | |
707 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); |
708 | | } |
709 | | } |
710 | | |
711 | | private: |
712 | | QuaternaryFunctionAdapter::FunctionType fn_; |
713 | | }; |
714 | | }; |
715 | | |
716 | | // Primary template for n-ary adapter. |
717 | | template <typename T, typename... Args> |
718 | | class NaryFunctionAdapter; |
719 | | |
720 | | template <typename T> |
721 | | class NaryFunctionAdapter<T> : public NullaryFunctionAdapter<T> {}; |
722 | | |
723 | | template <typename T, typename U> |
724 | | class NaryFunctionAdapter<T, U> : public UnaryFunctionAdapter<T, U> {}; |
725 | | |
726 | | template <typename T, typename U, typename V> |
727 | | class NaryFunctionAdapter<T, U, V> : public BinaryFunctionAdapter<T, U, V> {}; |
728 | | |
729 | | template <typename T, typename U, typename V, typename W> |
730 | | class NaryFunctionAdapter<T, U, V, W> |
731 | | : public TernaryFunctionAdapter<T, U, V, W> {}; |
732 | | |
733 | | template <typename T, typename U, typename V, typename W, typename X> |
734 | | class NaryFunctionAdapter<T, U, V, W, X> |
735 | | : public QuaternaryFunctionAdapter<T, U, V, W, X> {}; |
736 | | |
737 | | // N-ary function adapter. |
738 | | // |
739 | | // Prefer using one of the specific count adapters above for readability and |
740 | | // better error messages. |
741 | | template <typename T, typename... Args> |
742 | | class NaryFunctionAdapter |
743 | | : public RegisterHelper<NaryFunctionAdapter<T, Args...>> { |
744 | | public: |
745 | | using FunctionType = |
746 | | absl::AnyInvocable<T(Args..., const Function::InvokeContext&) const>; |
747 | | |
748 | | static FunctionDescriptor CreateDescriptor(absl::string_view name, |
749 | | bool receiver_style, |
750 | | bool is_strict) { |
751 | | return CreateDescriptor(name, receiver_style, |
752 | | {is_strict, /*is_contextual=*/false}); |
753 | | } |
754 | | |
755 | | static FunctionDescriptor CreateDescriptor( |
756 | | absl::string_view name, bool receiver_style, |
757 | | FunctionDescriptorOptions options = {}) { |
758 | | return FunctionDescriptor(name, receiver_style, |
759 | | {runtime_internal::AdaptedKind<Args>()...}, |
760 | | options); |
761 | | } |
762 | | |
763 | | static std::unique_ptr<cel::Function> WrapFunction(FunctionType fn) { |
764 | | return std::make_unique<NaryFunctionImpl>(std::move(fn)); |
765 | | } |
766 | | |
767 | | template <typename F> |
768 | | static std::enable_if_t< |
769 | | std::is_invocable_v< |
770 | | F, Args..., const google::protobuf::DescriptorPool* absl_nonnull, |
771 | | google::protobuf::MessageFactory* absl_nonnull, google::protobuf::Arena* absl_nonnull>, |
772 | | std::unique_ptr<cel::Function>> |
773 | | WrapFunction(F&& function) { |
774 | | return WrapFunction( |
775 | | [function = std::forward<F>(function)]( |
776 | | Args... args, const Function::InvokeContext& context) -> T { |
777 | | return function(args..., context.descriptor_pool(), |
778 | | context.message_factory(), context.arena()); |
779 | | }); |
780 | | } |
781 | | |
782 | | template <typename F> |
783 | | static std::enable_if_t<std::is_invocable_v<F, Args...>, |
784 | | std::unique_ptr<cel::Function>> |
785 | | WrapFunction(F&& function) { |
786 | | return WrapFunction( |
787 | | [function = std::forward<F>(function)]( |
788 | | Args... args, const Function::InvokeContext& context) -> T { |
789 | | return function(args...); |
790 | | }); |
791 | | } |
792 | | |
793 | | private: |
794 | | class NaryFunctionImpl : public Function { |
795 | | private: |
796 | | using ArgBuffer = std::tuple< |
797 | | typename runtime_internal::AdaptedTypeTraits<Args>::AssignableType...>; |
798 | | |
799 | | public: |
800 | | explicit NaryFunctionImpl(FunctionType fn) : fn_(std::move(fn)) {} |
801 | | absl::StatusOr<Value> Invoke( |
802 | | absl::Span<const Value> args, |
803 | | const Function::InvokeContext& context) const final { |
804 | | if (args.size() != sizeof...(Args)) { |
805 | | return absl::InvalidArgumentError( |
806 | | absl::StrCat("unexpected number of arguments for ", sizeof...(Args), |
807 | | "-ary function")); |
808 | | } |
809 | | ArgBuffer arg_buffer; |
810 | | CEL_RETURN_IF_ERROR( |
811 | | runtime_internal::AdaptHelper<Args...>::Apply(args, arg_buffer)); |
812 | | if constexpr (std::is_same_v<T, Value> || |
813 | | std::is_same_v<T, absl::StatusOr<Value>>) { |
814 | | return runtime_internal::ToArgsHelper<Args...>::template Apply<T>( |
815 | | fn_, arg_buffer, context); |
816 | | } else { |
817 | | T result = runtime_internal::ToArgsHelper<Args...>::template Apply<T>( |
818 | | fn_, arg_buffer, context); |
819 | | return runtime_internal::AdaptedToValueVisitor{}(std::move(result)); |
820 | | } |
821 | | } |
822 | | |
823 | | private: |
824 | | FunctionType fn_; |
825 | | }; |
826 | | }; |
827 | | |
828 | | } // namespace cel |
829 | | |
830 | | #endif // THIRD_PARTY_CEL_CPP_RUNTIME_FUNCTION_ADAPTER_H_ |