std:std.memory.DataBuffer.New

Method New:Void( length:Int,byteOrder:ByteOrder=std.memory.ByteOrder.LittleEndian )
Method New:Void( data:Void Ptr,length:Int,byteOrder:ByteOrder=std.memory.ByteOrder.LittleEndian )

Creates a new data buffer.

Creates a data buffer with a newly allocated or existing block of memory.

If you provide a start pointer value when creating a data buffer, it should point to a valid block of memory at least length bytes in size. This pointer value will be used as the 'base address' when poking/peeking the data buffer, and will be returned by the Data property. Such data buffer cannot be Resized.

If you do not provide a start value, a block of memory length bytes long is allocated for you. This memory will be released when the data buffer is discarded or becomes unreachable by the garbage collector.

The new databuffer initally uses little endian byte order. You can change this via the ByteOrder property.

When you have finished with the data buffer, you should call its inherited Resource.Discard method.


	\#Import "<std>"

	Using std.memory

	Function Main()

		Local buf:=New DataBuffer( 10 )

		Print buf.Length

		For Local i:=0 Until 10
			buf.PokeByte( i,i*2 )
		Next

		For Local i:=0 Until 10
			Print buf.PeekByte( i )
		Next

	End

Parameters
start start The start of the data buffer memory.
length length The length of the data buffer memory in bytes.
byteOrder byteOrder Initial byte order of the data.