Show / Hide Table of Contents

Namespace Mangrove.MetricSetSyntaxTree

Classes

Expression

Base class for all expression nodes in the syntax tree.

Expression<TExpr, TTable>

Wrapper for "an expression which only lives in a certain type of table".

MetricSetMetadata

Metadata (e.g. name, version) connected to a metric set.

MetricsPlan

Handle for the (de)serializable contract, containing flat lists of Expression and Table objects, any needed binaries, and MetricSetMetadata.

Table

Wrapper for a collection of expressions.

Table<T>

Strongly typed version of Table which requires "parents" and "clone" operations.

Interfaces

ICloneable<T>

Nodes in a IDirectedAcyclicGraph<T> which, although immutable, may be cloned given a new collection of parent nodes. This allows parent replacement logic to be shared across Expression and Table nodes.

ICloneable<TSubnode, TIdentifier, TNode>

Instances of ICloneable<T> having an additional "clone" method which takes an identifier and is more strongly typed than the generic Clone(IReadOnlyList<T>) method.

IDirectedAcyclicGraph<T>

Wrapper abstraction for an "object which has a collection of parents", to allow for some shared code between Expression and Table.

IExpressionVisitor

This interface gives the "visitor pattern" that must be implemented to define mappings on expression syntax trees.

IGenericExpressionVisitor<T>

Standardize expression visitors which "return something".

IGenericTableVisitor<T>

Standardize table visitors which "return something".

IGenericVisitor<T>

Wrapper interface for visitors which "return something". This is useful for standardizing the name of the "return property".

ITableVisitor

This interface gives the "visitor pattern" that must be implemented to define mappings on metric tables.

IVisitable<TVisitor>

It can accept a TVisitor!

Back to top Generated by DocFX