• Version 4.4.3
Show / Hide Table of Contents

Struct MemoryPointer

A pointer to a contiguous region of memory.

Implements
IDisposable
IEquatable<MemoryPointer>
Inherited Members
object.Equals(object, object)
object.GetType()
object.ReferenceEquals(object, object)
Namespace: OnixS.SimpleBinaryEncoding
Assembly: OnixS.SimpleBinaryEncoding.dll
Syntax
public struct MemoryPointer : IDisposable, IEquatable<MemoryPointer>

Constructors

MemoryPointer(Memory<byte>)

Constructs the instance that points to the given managed memory region.

WARNING: The given memory region will be pinned. To un-pin the region, call Dispose().

Declaration
public MemoryPointer(Memory<byte> memory)
Parameters
Type Name Description
Memory<byte> memory

The managed memory region, which will be pinned.

MemoryPointer(void*, int)

Constructs the instance pointing to the given unmanaged memory region owned by external code.

Declaration
public MemoryPointer(void* unmanagedPointer, int length)
Parameters
Type Name Description
void* unmanagedPointer

The unmanaged memory region owned by external code.

int length

The length of the umanaged memory region.

Properties

IsEmpty

Declaration
public bool IsEmpty { get; }
Property Value
Type Description
bool

true if the underlying memory region is empty; otherwise, false.

Length

Declaration
public int Length { get; }
Property Value
Type Description
int

The buffer length.

Span

Declaration
public Span<byte> Span { get; }
Property Value
Type Description
Span<byte>

A span created from the current object.

Methods

Dispose()

Unpins the referenced managed memory region (if required).

Declaration
public void Dispose()

Equals(MemoryPointer)

Indicates whether the current object is equal to another object of the same type.

Declaration
public bool Equals(MemoryPointer other)
Parameters
Type Name Description
MemoryPointer other

An object to compare with this object

Returns
Type Description
bool

true if the current object is equal to the other parameter; otherwise, false

Equals(object)

Indicates whether the current object is equal to another object of the same type.

Declaration
public override bool Equals(object obj)
Parameters
Type Name Description
object obj

An object to compare with this object

Returns
Type Description
bool

true if the current object is equal to the other parameter; otherwise, false

Overrides
ValueType.Equals(object)

GetHashCode()

Serves as the default hash function.

Declaration
public override int GetHashCode()
Returns
Type Description
int

A hash code for the current object

Overrides
ValueType.GetHashCode()

Reset(IMemoryPointer)

Sets with a new value.

Declaration
public void Reset(MemoryPointer.IMemoryPointer pointer)
Parameters
Type Name Description
MemoryPointer.IMemoryPointer pointer

Slice(int)

Forms a slice out of the current memory that begins at a specified index.

Declaration
public MemoryPointer.UnmanagedPointer Slice(int start)
Parameters
Type Name Description
int start

The index at which to begin the slice.

Returns
Type Description
MemoryPointer.UnmanagedPointer

The pointer to the memory region that contains all elements of the current instance from start to the end of the instance..

ToString()

Returns the text representation.

Declaration
public override string ToString()
Returns
Type Description
string

The text representation.

Overrides
ValueType.ToString()

Operators

operator ==(MemoryPointer, MemoryPointer)

Declaration
public static bool operator ==(MemoryPointer left, MemoryPointer right)
Parameters
Type Name Description
MemoryPointer left
MemoryPointer right
Returns
Type Description
bool

implicit operator MemoryPointer(byte[])

Declaration
public static implicit operator MemoryPointer(byte[] array)
Parameters
Type Name Description
byte[] array
Returns
Type Description
MemoryPointer

implicit operator MemoryPointer(Memory<byte>)

Declaration
public static implicit operator MemoryPointer(Memory<byte> memory)
Parameters
Type Name Description
Memory<byte> memory
Returns
Type Description
MemoryPointer

operator !=(MemoryPointer, MemoryPointer)

Declaration
public static bool operator !=(MemoryPointer left, MemoryPointer right)
Parameters
Type Name Description
MemoryPointer left
MemoryPointer right
Returns
Type Description
bool

Implements

IDisposable
IEquatable<T>
In this article
Back to top Copyright © Onix Solutions.
Generated by DocFX