MCPcopy Create free account
hub / github.com/cel-expr/cel-cpp / Register

Method Register

runtime/function_registry.cc:80–97  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

78} // namespace
79
80absl::Status FunctionRegistry::Register(
81 const cel::FunctionDescriptor& descriptor,
82 std::unique_ptr<cel::Function> implementation) {
83 if (DescriptorRegistered(descriptor)) {
84 return absl::Status(
85 absl::StatusCode::kAlreadyExists,
86 "CelFunction with specified parameters already registered");
87 }
88 if (!ValidateNonStrictOverload(descriptor)) {
89 return absl::Status(absl::StatusCode::kAlreadyExists,
90 "Only one overload is allowed for non-strict function");
91 }
92
93 auto& overloads = functions_[descriptor.name()];
94 overloads.static_overloads.push_back(
95 StaticFunctionEntry(descriptor, std::move(implementation)));
96 return absl::OkStatus();
97}
98
99absl::Status FunctionRegistry::RegisterLazyFunction(
100 const cel::FunctionDescriptor& descriptor) {

Callers 15

TESTFunction · 0.45
TEST_PFunction · 0.45
TESTFunction · 0.45
RegisterRegexFunctionsFunction · 0.45

Calls 2

StaticFunctionEntryClass · 0.85
nameMethod · 0.45

Tested by 3

TESTFunction · 0.36
TEST_PFunction · 0.36
TESTFunction · 0.36