object INativeType.GetValue(MemoryHolder /*!*/ owner, object readingFrom, int offset, bool raw) { _Structure res = (_Structure)CreateInstance(this.Context.SharedContext); res._memHolder = owner.GetSubBlock(offset); return(res); }
public _Structure from_address(CodeContext /*!*/ context, IntPtr ptr) { _Structure res = (_Structure)CreateInstance(context); res.SetAddress(ptr); return(res); }
public _Structure from_buffer_copy(CodeContext /*!*/ context, object /*?*/ data, int offset = 0) { _Structure res = (_Structure)CreateInstance(context); res.InitializeFromBufferCopy(data, offset, ((INativeType)this).Size); return(res); }
public _Structure from_buffer_copy(ArrayModule.array array, [DefaultParameterValue(0)] int offset) { ValidateArraySizes(array, offset, ((INativeType)this).Size); _Structure res = (_Structure)CreateInstance(Context.SharedContext); res._memHolder = new MemoryHolder(((INativeType)this).Size); res._memHolder.CopyFrom(array.GetArrayAddress().Add(offset), new IntPtr(((INativeType)this).Size)); GC.KeepAlive(array); return(res); }
public _Structure from_buffer(ArrayModule.array array, [DefaultParameterValue(0)] int offset) { ValidateArraySizes(array, offset, ((INativeType)this).Size); _Structure res = (_Structure)CreateInstance(Context.SharedContext); IntPtr addr = array.GetArrayAddress(); res._memHolder = new MemoryHolder(addr.Add(offset), ((INativeType)this).Size); res._memHolder.AddObject("ffffffff", array); return(res); }
public _Structure from_buffer(CodeContext /*!*/ context, ArrayModule.array array, int offset = 0) { ValidateArraySizes(array, offset, ((INativeType)this).Size); _Structure res = (_Structure)CreateInstance(context); IntPtr addr = array.GetArrayAddress(); res._memHolder = new MemoryHolder(addr.Add(offset), ((INativeType)this).Size); res._memHolder.AddObject("ffffffff", array); return(res); }