Class ErlTupleBase
Inheritance
System.Object
ErlTupleBase
Implements
System.IComparable
System.ICloneable
System.Collections.Generic.IEnumerable<
IErlObject>
System.Collections.IEnumerable
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Assembly: NFX.Erlang.dll
Syntax
public abstract class ErlTupleBase : IErlObject<List<IErlObject>>, IErlObject, IComparable, IComparable<IErlObject>, IEquatable<IErlObject>, ICloneable, IEnumerable<IErlObject>, IEnumerable
Constructors
ErlTupleBase()
Declaration
ErlTupleBase(ErlTupleBase)
Declaration
public ErlTupleBase(ErlTupleBase term)
Parameters
ErlTupleBase(IErlObject[], Boolean)
Create an Erlang string from the given string
Declaration
public ErlTupleBase(IErlObject[] items, bool clone = true)
Parameters
| Type |
Name |
Description |
| IErlObject[] |
items |
|
| System.Boolean |
clone |
|
ErlTupleBase(List<IErlObject>, Boolean)
Declaration
public ErlTupleBase(List<IErlObject> items, bool clone = true)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.List<IErlObject> |
items |
|
| System.Boolean |
clone |
|
ErlTupleBase(Object[])
Declaration
public ErlTupleBase(params object[] items)
Parameters
| Type |
Name |
Description |
| System.Object[] |
items |
|
Fields
m_Items
The index of this atom in the global atom table
Declaration
protected List<IErlObject> m_Items
Field Value
| Type |
Description |
| System.Collections.Generic.List<IErlObject> |
|
Properties
CloseBracket
Declaration
protected abstract char CloseBracket { get; }
Property Value
| Type |
Description |
| System.Char |
|
Count
Return number of elements in the container
Declaration
public int Count { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
IsScalar
Determines whether the underlying type is scalar or complex (i.e. tuple, list)
Declaration
public bool IsScalar { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
Item[Int32]
Return index'th element from the container
Declaration
public IErlObject this[int index] { get; }
Parameters
| Type |
Name |
Description |
| System.Int32 |
index |
|
Property Value
OpenBracket
Declaration
protected abstract char OpenBracket { get; }
Property Value
| Type |
Description |
| System.Char |
|
TypeOrder
Declaration
public abstract ErlTypeOrder TypeOrder { get; }
Property Value
Value
Get the list of Erlang terms contained in this object
Declaration
public List<IErlObject> Value { get; }
Property Value
| Type |
Description |
| System.Collections.Generic.List<IErlObject> |
|
ValueAsBool
Declaration
public virtual bool ValueAsBool { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
ValueAsByteArray
Declaration
public virtual byte[] ValueAsByteArray { get; }
Property Value
| Type |
Description |
| System.Byte[] |
|
ValueAsChar
Declaration
public virtual char ValueAsChar { get; }
Property Value
| Type |
Description |
| System.Char |
|
ValueAsDateTime
Declaration
public virtual DateTime ValueAsDateTime { get; }
Property Value
| Type |
Description |
| System.DateTime |
|
ValueAsDecimal
Declaration
public virtual decimal ValueAsDecimal { get; }
Property Value
| Type |
Description |
| System.Decimal |
|
ValueAsDouble
Declaration
public virtual double ValueAsDouble { get; }
Property Value
| Type |
Description |
| System.Double |
|
ValueAsInt
Declaration
public virtual int ValueAsInt { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
ValueAsLong
Declaration
public virtual long ValueAsLong { get; }
Property Value
| Type |
Description |
| System.Int64 |
|
ValueAsObject
Declaration
public virtual object ValueAsObject { get; }
Property Value
| Type |
Description |
| System.Object |
|
ValueAsString
Declaration
public virtual string ValueAsString { get; }
Property Value
| Type |
Description |
| System.String |
|
ValueAsTimeSpan
Declaration
public virtual TimeSpan ValueAsTimeSpan { get; }
Property Value
| Type |
Description |
| System.TimeSpan |
|
Methods
Add(IErlObject)
Add an item to a mutable list. This method must be used only during
list construction phase, since it treats the list as a mutable entity
Declaration
public void Add(IErlObject term)
Parameters
Cast<T>(Int32)
Return index'th element cast to the given type
Declaration
public T Cast<T>(int index)
Parameters
| Type |
Name |
Description |
| System.Int32 |
index |
|
Returns
Type Parameters
Clone()
Clone an instance of the object (non-scalar immutable objects are copied by reference)
Declaration
public IErlObject Clone()
Returns
CompareTo(IErlObject)
Compare this instance to the IErlObject.
Negative value means that the atom is less than obj, positive - greater than the obj
Declaration
public int CompareTo(IErlObject obj)
Parameters
Returns
| Type |
Description |
| System.Int32 |
|
CompareTo(Object)
Compare this instance to the object.
Negative value means that the atom is less than obj, positive - greater than the obj
Declaration
public int CompareTo(object obj)
Parameters
| Type |
Name |
Description |
| System.Object |
obj |
|
Returns
| Type |
Description |
| System.Int32 |
|
Equals(IErlObject)
Determine if two Erlang objects are equal
Declaration
public abstract bool Equals(IErlObject o)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Equals(Object)
Determine if this instance is equal to the object
Declaration
public override bool Equals(object o)
Parameters
| Type |
Name |
Description |
| System.Object |
o |
|
Returns
| Type |
Description |
| System.Boolean |
|
Overrides
System.Object.Equals(System.Object)
GetHashCode()
Declaration
public override int GetHashCode()
Returns
| Type |
Description |
| System.Int32 |
|
Overrides
System.Object.GetHashCode()
MakeInstance()
Declaration
protected abstract ErlTupleBase MakeInstance()
Returns
Match(IErlObject)
Perform pattern match on this Erlang term returning null if match fails
or a dictionary of matched variables bound in the pattern
Declaration
public ErlVarBind Match(IErlObject pattern)
Parameters
Returns
Match(IErlObject, ErlVarBind)
Perform pattern match on this Erlang term, storing matched variables
found in the pattern into the binding.
Declaration
public bool Match(IErlObject pattern, ErlVarBind binding)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Matches(IErlObject)
Perform pattern match on this Erlang term without binding any variables
Declaration
public bool Matches(IErlObject pattern)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Subst(ref IErlObject, ErlVarBind)
Declaration
public bool Subst(ref IErlObject term, ErlVarBind binding)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
ToString()
Get the string representation of the list.
Declaration
public override string ToString()
Returns
| Type |
Description |
| System.String |
|
Overrides
System.Object.ToString()
ToString(Boolean)
Declaration
public string ToString(bool noBrakets)
Parameters
| Type |
Name |
Description |
| System.Boolean |
noBrakets |
|
Returns
| Type |
Description |
| System.String |
|
Visit<TAccumulate>(TAccumulate, Func<TAccumulate, IErlObject, TAccumulate>)
Execute fun for every nested term
Declaration
public TAccumulate Visit<TAccumulate>(TAccumulate acc, Func<TAccumulate, IErlObject, TAccumulate> fun)
Parameters
| Type |
Name |
Description |
| TAccumulate |
acc |
|
| System.Func<TAccumulate, IErlObject, TAccumulate> |
fun |
|
Returns
| Type |
Description |
| TAccumulate |
|
Type Parameters
| Name |
Description |
| TAccumulate |
|
Explicit Interface Implementations
IEnumerable<IErlObject>.GetEnumerator()
Declaration
IEnumerator<IErlObject> IEnumerable<IErlObject>.GetEnumerator()
Returns
| Type |
Description |
| System.Collections.Generic.IEnumerator<IErlObject> |
|
IEnumerable.GetEnumerator()
Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
| Type |
Description |
| System.Collections.IEnumerator |
|
ICloneable.Clone()
Declaration
object ICloneable.Clone()
Returns
| Type |
Description |
| System.Object |
|
Implements
System.IComparable
System.IComparable<T>
System.IEquatable<T>
System.ICloneable
System.Collections.Generic.IEnumerable<T>
System.Collections.IEnumerable
Extension Methods