TAggregateExpr class
Internally used Base class for aggregate expressions
Declaration
TAggregateExpr = class(TFPExprFunction)Inheritance
- TAggregateExpr
- TFPExprFunction
- TFPExprIdentifierNode
- TFPExprNode
- TObject
Descends from it: TAggregateCount TAggregateMax TAggregateMin TAggregateSum
Description
This abstract base class provides the foundation for all aggregate expression classes in the expression parser. Aggregate expressions perform calculations over multiple values, such as sums, averages, counts, minimums, and maximums.
The class extends TFPExprNode to provide aggregate-specific functionality including initialization and update methods that are called as values are processed. Derived classes must implement the specific aggregation logic for their particular operation.
Aggregate expressions typically maintain internal state that accumulates as values are processed, making them stateful unlike regular expression nodes. The aggregation process involves initialization, iterative updates, and final value calculation.
This class is used internally by the TFPExpressionParser class to construct an AST (Abstract Syntax Tree). There is normally no need for you to use or instantiate this class directly.
See also
Methods
IsAggregate | public | Check if expression is an aggregate |
GetNodeValue | public | Get the aggregate expression value |
Fields
FResult | protected |
Inherited
From TFPExprFunction (11)
ArgumentNodes ArgumentParams AsString CalcParams Check ConvertArgument CreateFunction Destroy HasAggregate InitAggregate UpdateAggregate
From TFPExprIdentifierNode (3)
From TFPExprNode (2)
From TObject (41)
AfterConstruction BeforeDestruction CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance Create DefaultHandler DefaultHandlerStr Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName newinstance QualifiedClassName SafeCallException StringMessageTable SystemHasExtendedRTTI ToString UnitName
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
