Struct ErlBinary
Provides a C# representation of Erlang integer types
Implements
System.IComparable
System.ICloneable
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.ReferenceEquals(System.Object, System.Object)
Assembly: NFX.Erlang.dll
Syntax
public struct ErlBinary : IErlObject<byte[]>, IErlObject, IComparable, IComparable<IErlObject>, IEquatable<IErlObject>, ICloneable
Constructors
ErlBinary(Byte[], Boolean)
Create an Erlang binary from the given value
Declaration
public ErlBinary(byte[] val, bool copy = true)
Parameters
| Type |
Name |
Description |
| System.Byte[] |
val |
|
| System.Boolean |
copy |
|
ErlBinary(Byte[], Int32, Int32)
Create an Erlang binary by copying its value from the given buffer
Declaration
public ErlBinary(byte[] buf, int offset, int count)
Parameters
| Type |
Name |
Description |
| System.Byte[] |
buf |
|
| System.Int32 |
offset |
|
| System.Int32 |
count |
|
Properties
IsScalar
Declaration
public bool IsScalar { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
Length
Return length of the binary byte array
Declaration
public int Length { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
TypeOrder
Declaration
public ErlTypeOrder TypeOrder { get; }
Property Value
Value
Declaration
public byte[] Value { get; }
Property Value
| Type |
Description |
| System.Byte[] |
|
ValueAsBool
Declaration
public bool ValueAsBool { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
ValueAsByteArray
Declaration
public byte[] ValueAsByteArray { get; }
Property Value
| Type |
Description |
| System.Byte[] |
|
ValueAsChar
Declaration
public char ValueAsChar { get; }
Property Value
| Type |
Description |
| System.Char |
|
ValueAsDateTime
Declaration
public DateTime ValueAsDateTime { get; }
Property Value
| Type |
Description |
| System.DateTime |
|
ValueAsDecimal
Declaration
public decimal ValueAsDecimal { get; }
Property Value
| Type |
Description |
| System.Decimal |
|
ValueAsDouble
Declaration
public double ValueAsDouble { get; }
Property Value
| Type |
Description |
| System.Double |
|
ValueAsInt
Declaration
public int ValueAsInt { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
ValueAsLong
Declaration
public long ValueAsLong { get; }
Property Value
| Type |
Description |
| System.Int64 |
|
ValueAsObject
Declaration
public object ValueAsObject { get; }
Property Value
| Type |
Description |
| System.Object |
|
ValueAsString
Declaration
public string ValueAsString { get; }
Property Value
| Type |
Description |
| System.String |
|
ValueAsTimeSpan
Declaration
public TimeSpan ValueAsTimeSpan { get; }
Property Value
| Type |
Description |
| System.TimeSpan |
|
Methods
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 value 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 value 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(ErlBinary)
Determine if two instances are equal
Declaration
public bool Equals(ErlBinary rhs)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Equals(IErlObject)
Determine if two instances are equal
Declaration
public bool Equals(IErlObject o)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Equals(Object)
Determine if this instance equals to the object
Declaration
public override bool Equals(object o)
Parameters
| Type |
Name |
Description |
| System.Object |
o |
|
Returns
| Type |
Description |
| System.Boolean |
|
Overrides
System.ValueType.Equals(System.Object)
GetHashCode()
Declaration
public override int GetHashCode()
Returns
| Type |
Description |
| System.Int32 |
|
Overrides
System.ValueType.GetHashCode()
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 |
|
ToBinaryString(Byte[], Int32, Int32, Int32)
Convert a byte buffer to printable binary representation (i.e. <<131,15,12,...>>)
Declaration
public static string ToBinaryString(byte[] buf, int offset, int count, int maxLen = 0)
Parameters
| Type |
Name |
Description |
| System.Byte[] |
buf |
Buffer to convert
|
| System.Int32 |
offset |
Offset in the buffer
|
| System.Int32 |
count |
Number of bytes to convert
|
| System.Int32 |
maxLen |
Maximum allowed length of returned string. If given, and
resulting string exceeds this value, it'll be trimmed to this length ending
with "...>>"
|
Returns
| Type |
Description |
| System.String |
|
ToBinaryString(Int32)
Returns binary representation of the string encoded as <<...>>
Declaration
public string ToBinaryString(int maxLen = 0)
Parameters
| Type |
Name |
Description |
| System.Int32 |
maxLen |
|
Returns
| Type |
Description |
| System.String |
|
ToPrintableString(Byte[], Int32, Int32, Int32)
Convert a byte buffer to printable binary representation (i.e. <<"abc...">>)
Declaration
public static string ToPrintableString(byte[] buf, int offset, int count, int maxLen = 0)
Parameters
| Type |
Name |
Description |
| System.Byte[] |
buf |
|
| System.Int32 |
offset |
|
| System.Int32 |
count |
|
| System.Int32 |
maxLen |
|
Returns
| Type |
Description |
| System.String |
|
ToPrintableString(Int32)
Returns printable binary representation of the string encoded as <<"abc...">>
Declaration
public string ToPrintableString(int maxLen = 0)
Parameters
| Type |
Name |
Description |
| System.Int32 |
maxLen |
|
Returns
| Type |
Description |
| System.String |
|
ToString()
Declaration
public override string ToString()
Returns
| Type |
Description |
| System.String |
|
Overrides
System.ValueType.ToString()
ToString(Encoding)
Declaration
public string ToString(Encoding encoding)
Parameters
| Type |
Name |
Description |
| System.Text.Encoding |
encoding |
|
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 |
|
Operators
Equality(ErlBinary, ErlBinary)
Declaration
public static bool operator ==(ErlBinary lhs, ErlBinary rhs)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Implicit(ErlBinary to Byte[])
Implicit conversion of ErlBinary to byte[]
Declaration
public static implicit operator byte[](ErlBinary t)
Parameters
Returns
| Type |
Description |
| System.Byte[] |
|
Inequality(ErlBinary, ErlBinary)
Declaration
public static bool operator !=(ErlBinary lhs, ErlBinary rhs)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Explicit Interface Implementations
ICloneable.Clone()
Declaration
object ICloneable.Clone()
Returns
| Type |
Description |
| System.Object |
|
Implements
System.IComparable
System.IComparable<T>
System.IEquatable<T>
System.ICloneable
Extension Methods