Sign in Join
FPDoc Onlineexperiment

TAggregateExpr class

In unit fpExprPars

Internally used Base class for aggregate expressions

Declaration

pascal
TAggregateExpr = class(TFPExprFunction)

Inheritance

  1. TAggregateExpr
  2. TFPExprFunction
  3. TFPExprIdentifierNode
  4. TFPExprNode
  5. 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

IsAggregatepublicCheck if expression is an aggregate
GetNodeValuepublicGet the aggregate expression value

Fields

FResultprotected

Inherited

From TFPExprFunction (11)

ArgumentNodes ArgumentParams AsString CalcParams Check ConvertArgument CreateFunction Destroy HasAggregate InitAggregate UpdateAggregate

From TFPExprIdentifierNode (3)

CreateIdentifier Identifier NodeType

From TFPExprNode (2)

CheckNodeType NodeValue

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.