Show / Hide Table of Contents

Class ErlPatternMatcher

Pattern matcher that implements a container of patterns to be matched against a given Erlang term. On successful match, the corresponding func registered with that pattern gets invoked

Inheritance
System.Object
ErlPatternMatcher
Implements
System.Collections.Generic.IEnumerable<ErlPatternMatcher.Pattern>
System.Collections.IEnumerable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: NFX.Erlang
Assembly: NFX.Erlang.dll
Syntax
public class ErlPatternMatcher : IEnumerable<ErlPatternMatcher.Pattern>, IEnumerable

Properties

PatternsToString

Declaration
public string PatternsToString { get; }
Property Value
Type Description
System.String

Methods

Add(IErlObject, PatternMatchFunc)

Add a matching pattern to the collection

Declaration
public int Add(IErlObject pattern, PatternMatchFunc func)
Parameters
Type Name Description
IErlObject pattern

Erlang term to be used as a match pattern

PatternMatchFunc func

Function to invoke on successful match

Returns
Type Description
System.Int32

ID of the newly added pattern

Add(String, PatternMatchFunc)

Add a matching pattern to the collection

Declaration
public int Add(string pattern, PatternMatchFunc func)
Parameters
Type Name Description
System.String pattern

Pattern to compile

PatternMatchFunc func

Function to invoke on successful match

Returns
Type Description
System.Int32

ID of the newly added pattern

Add<TContext>(TContext, IErlObject, PatternMatchFunc<TContext>)

Add a matching pattern to the collection

Declaration
public int Add<TContext>(TContext context, IErlObject pattern, PatternMatchFunc<TContext> func)
Parameters
Type Name Description
TContext context

Context passed to func

IErlObject pattern

Compiled pattern containing variables to match

PatternMatchFunc<TContext> func

Function to invoke on successful match

Returns
Type Description
System.Int32

ID of the newly added pattern

Type Parameters
Name Description
TContext

Type of context passed to func

Add<TContext>(TContext, String, PatternMatchFunc<TContext>)

Add a matching pattern to the collection

Declaration
public int Add<TContext>(TContext context, string pattern, PatternMatchFunc<TContext> func)
Parameters
Type Name Description
TContext context

Context passed to func

System.String pattern

Pattern to compile

PatternMatchFunc<TContext> func

Function to invoke on successful match

Returns
Type Description
System.Int32

ID of the newly added pattern

Type Parameters
Name Description
TContext

Type of context passed to func

Clear()

Clear the collection of patterns

Declaration
public void Clear()

Match(ref IErlObject, Object[])

Match a term against the patterns in the collection. The first successful match will result in invocation of the func associated with the pattern, and storing func result in the term

Declaration
public int Match(ref IErlObject term, params object[] args)
Parameters
Type Name Description
IErlObject term

Term to match against patterns

System.Object[] args

Arguments to be passed to an func on successful pattern match

Returns
Type Description
System.Int32

ID of the pattern that matched, or -1 if there were no matches

Remove(Int32)

Remove pattern from collection given its ID

Declaration
public void Remove(int id)
Parameters
Type Name Description
System.Int32 id

Explicit Interface Implementations

IEnumerable<ErlPatternMatcher.Pattern>.GetEnumerator()

Declaration
IEnumerator<ErlPatternMatcher.Pattern> IEnumerable<ErlPatternMatcher.Pattern>.GetEnumerator()
Returns
Type Description
System.Collections.Generic.IEnumerator<ErlPatternMatcher.Pattern>

IEnumerable.GetEnumerator()

Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
Type Description
System.Collections.IEnumerator

Implements

System.Collections.Generic.IEnumerable<T>
System.Collections.IEnumerable

Extension Methods

CollectionUtils.ForEach<T>(IEnumerable<T>, Action<T>)
CollectionUtils.ForEach<T>(IEnumerable<T>, Action<T, Int32>)
CollectionUtils.SkipLast<T>(IEnumerable<T>)
CollectionUtils.SkipLast<T>(IEnumerable<T>, Int32)
CollectionUtils.FirstMin<TResult, TComparand>(IEnumerable<TResult>, Func<TResult, TComparand>)
CollectionUtils.FirstMin<TResult, TComparand>(IEnumerable<TResult>, Func<TResult, TComparand>, out TComparand)
CollectionUtils.FirstMax<TResult, TComparand>(IEnumerable<TResult>, Func<TResult, TComparand>)
CollectionUtils.FirstMax<TResult, TComparand>(IEnumerable<TResult>, Func<TResult, TComparand>, out TComparand)
CollectionUtils.FirstOrAnyOrDefault<TResult>(IEnumerable<TResult>, Func<TResult, Boolean>)
CollectionUtils.Distinct<TResult, TKey>(IEnumerable<TResult>, Func<TResult, TKey>)
MiscUtils.NonNull<T>(T, Func<Exception>, String)
ObjectValueConversion.AsString(Object, String, ConvertErrorHandling)
ObjectValueConversion.AsNonNullOrEmptyString(Object)
ObjectValueConversion.AsLaconicConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsJSONConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsXMLConfig(Object, ConfigSectionNode, ConvertErrorHandling)
ObjectValueConversion.AsChar(Object, Char, ConvertErrorHandling)
ObjectValueConversion.AsNullableChar(Object, Nullable<Char>, ConvertErrorHandling)
ObjectValueConversion.AsByte(Object, Byte, ConvertErrorHandling)
ObjectValueConversion.AsNullableByte(Object, Nullable<Byte>, ConvertErrorHandling)
ObjectValueConversion.AsSByte(Object, SByte, ConvertErrorHandling)
ObjectValueConversion.AsNullableSByte(Object, Nullable<SByte>, ConvertErrorHandling)
ObjectValueConversion.AsShort(Object, Int16, ConvertErrorHandling)
ObjectValueConversion.AsNullableShort(Object, Nullable<Int16>, ConvertErrorHandling)
ObjectValueConversion.AsUShort(Object, UInt16, ConvertErrorHandling)
ObjectValueConversion.AsNullableUShort(Object, Nullable<UInt16>, ConvertErrorHandling)
ObjectValueConversion.AsInt(Object, Int32, ConvertErrorHandling)
ObjectValueConversion.AsNullableInt(Object, Nullable<Int32>, ConvertErrorHandling)
ObjectValueConversion.AsUInt(Object, UInt32, ConvertErrorHandling)
ObjectValueConversion.AsNullableUInt(Object, Nullable<UInt32>, ConvertErrorHandling)
ObjectValueConversion.AsLong(Object, Int64, ConvertErrorHandling)
ObjectValueConversion.AsNullableLong(Object, Nullable<Int64>, ConvertErrorHandling)
ObjectValueConversion.AsULong(Object, UInt64, ConvertErrorHandling)
ObjectValueConversion.AsNullableULong(Object, Nullable<UInt64>, ConvertErrorHandling)
ObjectValueConversion.AsDouble(Object, Double, ConvertErrorHandling)
ObjectValueConversion.AsNullableDouble(Object, Nullable<Double>, ConvertErrorHandling)
ObjectValueConversion.AsFloat(Object, Single, ConvertErrorHandling)
ObjectValueConversion.AsNullableFloat(Object, Nullable<Single>, ConvertErrorHandling)
ObjectValueConversion.AsDecimal(Object, Decimal, ConvertErrorHandling)
ObjectValueConversion.AsNullableDecimal(Object, Nullable<Decimal>, ConvertErrorHandling)
ObjectValueConversion.AsBool(Object, Boolean, ConvertErrorHandling)
ObjectValueConversion.AsNullableBool(Object, Nullable<Boolean>, ConvertErrorHandling)
ObjectValueConversion.AsGUID(Object, Guid, ConvertErrorHandling)
ObjectValueConversion.AsNullableGUID(Object, Nullable<Guid>, ConvertErrorHandling)
ObjectValueConversion.AsDateTime(Object)
ObjectValueConversion.AsDateTime(Object, DateTime, ConvertErrorHandling)
ObjectValueConversion.AsNullableDateTime(Object, Nullable<DateTime>, ConvertErrorHandling)
ObjectValueConversion.AsGDID(Object)
ObjectValueConversion.AsGDID(Object, GDID, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDID(Object, Nullable<GDID>, ConvertErrorHandling)
ObjectValueConversion.AsGDIDSymbol(Object)
ObjectValueConversion.AsGDIDSymbol(Object, GDIDSymbol, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDIDSymbol(Object, Nullable<GDIDSymbol>, ConvertErrorHandling)
ObjectValueConversion.AsTimeSpan(Object)
ObjectValueConversion.AsTimeSpan(Object, TimeSpan, ConvertErrorHandling)
ObjectValueConversion.AsNullableTimeSpan(Object, Nullable<TimeSpan>, ConvertErrorHandling)
ObjectValueConversion.AsEnum<TEnum>(Object, TEnum, ConvertErrorHandling)
ObjectValueConversion.AsNullableEnum<TEnum>(Object, Nullable<TEnum>, ConvertErrorHandling)
ObjectValueConversion.AsUri(Object, Uri, ConvertErrorHandling)
LookAheadExtensions.AsLookAheadEnumerable<T>(IEnumerable<T>)
JSONExtensions.ToJSON(Object, JSONWritingOptions)
JSONExtensions.ToJSON(Object, TextWriter, JSONWritingOptions)
JSONExtensions.ToJSON(Object, Stream, JSONWritingOptions, Encoding)
ErlObject.ToErlObject(Object)
ErlObject.ToErlObject(Object, ErlTypeOrder, Boolean)
Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX