diff options
Diffstat (limited to 'internal/rpn/operations_interfaces.go')
| -rw-r--r-- | internal/rpn/operations_interfaces.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/internal/rpn/operations_interfaces.go b/internal/rpn/operations_interfaces.go index 7542993..cc60db2 100644 --- a/internal/rpn/operations_interfaces.go +++ b/internal/rpn/operations_interfaces.go @@ -101,6 +101,20 @@ type CustomMetricManager interface { CustomUndefine(name string) error } +// OperatorProvider combines all operator interfaces needed by the OperatorRegistry. +// This satisfies DIP by decoupling the registry from the concrete *Operations type. +type OperatorProvider interface { + ArithmeticOperator + PowerIntOperator + LogarithmicOperator + BooleanOperator + StackOperator + VariableOperator + ConstantOperator + MetricOperator + HyperOperator +} + // OperationsProvider combines all interfaces that RPN needs from Operations. // RPN depends on this interface (DIP) rather than the concrete *Operations type. type OperationsProvider interface { |
