| 386 | |
| 387 | template <typename... Overloads> |
| 388 | absl::StatusOr<FunctionDecl> MakeFunctionDecl(std::string name, |
| 389 | Overloads&&... overloads) { |
| 390 | FunctionDecl function_decl; |
| 391 | function_decl.set_name(std::move(name)); |
| 392 | function_decl.overloads_.Reserve(sizeof...(Overloads)); |
| 393 | absl::Status status; |
| 394 | (function_decl.AddOverloadImpl(std::forward<Overloads>(overloads), status), |
| 395 | ...); |
| 396 | CEL_RETURN_IF_ERROR(status); |
| 397 | return function_decl; |
| 398 | } |
| 399 | |
| 400 | namespace common_internal { |
| 401 |