Querying

Main Helper Classes for Querying

AstNode

CstNode

Document

Url

URL as described using the Uniform Resource Identifier (URI) specification (RFC3986).

Heritage

Containers

ContainerView

An immutable view into a native random-access container. Implements Sequence protocol.

ChildrenNodesView

A view to a container of children nodes.

ChildrenNodes

Container that stores a vector of children nodes.

OwnedChildrenNodes

Container that stores a vector of potentially owned children nodes.

ChainedChildrenNodes

Container that stores a vector of children nodes that may own feature chainings.

LazyIterator

VisitAction

SharedMutex

WriteLocked

Stream

QualifiedName

A sequence of qualified name segments that stringifies with unrestricted names as needed. Unlike string, this allows querying segments in a qualified name without having to parse it again, and is cheaper to construct as string conversion is performed only when needed.

TypeGuard

The type used in a type check expression, e.g. istype, hastype. The actual expression result type is ScalarValues::Boolean.

Enumerations

ExplicitOperator

FeatureDirectionKind

FeatureDirectionKind enumerates the possible kinds of direction that a Feature may be given as a member of a Type.

Operator

PortionKind

PortionKind is an enumeration of the specific kinds of Occurrence portions that can be represented by an OccurrenceUsage.

RequirementConstraintKind

A RequirementConstraintKind indicates whether a ConstraintUsage is an assumption or a requirement in a RequirementDefinition or RequirementUsage.

StateSubactionKind

A StateSubactionKind indicates whether the action of a StateSubactionMembership is an entry, do or exit action.

TransitionFeatureKind

A TransitionActionKind indicates whether the transition_feature of a TransitionFeatureMembership is a trigger, guard or effect.

TriggerKind

TriggerKind enumerates the kinds of triggers that can be represented by a TriggerInvocationExpression.

VisibilityKind

VisibilityKind is an enumeration whose literals specify the visibility of a Membership of an Element in a Namespace outside of that Namespace. Note that “visibility” specifically restricts whether an Element in a Namespace may be referenced by name from outside the Namespace and only otherwise restricts access to an Element as provided by specific constraints in the abstract syntax (e.g., preventing the import or inheritance of private Elements).

NameID

Compiler

Urls

Url

URL as described using the Uniform Resource Identifier (URI) specification (RFC3986).

make_file_url

Construct a Url for a filesystem path with file:// scheme. This correctly handles Windows and Posix paths, and percent escapes Unicode characters.

decode_path

Decode a filesystem path from a Url. This correctly handles Windows and Posix paths using file:// scheme and returns other Urls as is.

EncodingOpts

Percent-encoding options

HostType

IPv4Address

IPv6Address

Scheme

(Advanced) Documents

(Advanced) Text Documents