voile.dataformatter
データ形式向けのバイナリ操作
- struct
DataWriter
(Range, Endian rangeEndian = Endian.littleEndian) if (isOutputRange!(Range, const(ubyte)[]) || isOutputRange!(Range, ubyte) || isOutputRange!(Range, const(void)[])); -
- void
put
(T)(in T v)
if(is(Unqual!T == ubyte) || is(Unqual!T == char) || is(Unqual!T == byte));
voidput
(T)(in T v)
if(is(Unqual!T == const(ubyte)[]) || is(Unqual!T == const(byte)[]) || is(Unqual!T == const(char)[]) || is(Unqual!T == const(void)[]) || is(Unqual!T == immutable(ubyte)[]) || is(Unqual!T == immutable(byte)[]) || is(Unqual!T == string) || is(Unqual!T == immutable(void)[]) || is(Unqual!T == ubyte[]) || is(Unqual!T == byte[]) || is(Unqual!T == char[]) || is(Unqual!T == void[]));
voidput
(T)(in T v)
if(is(Unqual!T == ushort) || is(Unqual!T == short) || is(Unqual!T == wchar));
voidput
(T)(in T v)
if(is(Unqual!T == uint) || is(Unqual!T == int) || is(Unqual!T == float) || is(Unqual!T == ifloat) || is(Unqual!T == dchar));
voidput
(T)(T v)
if(is(Unqual!T == ulong) || is(Unqual!T == long) || is(Unqual!T == double) || is(Unqual!T == idouble));
voidput
(T)(in T v)
if(is(Unqual!T U == enum) && isOutputRange!(typeof(this), OriginalType!T));
voidput
(SrcRange)(ref SrcRange r)
if(isStaticArray!(Unqual!SrcRange)); - void
put
(SrcRange)(SrcRange r)
if(isInputRange!(Unqual!SrcRange) && !is(Unqual!SrcRange == const(ubyte)[]) && !is(Unqual!SrcRange == const(byte)[]) && !is(Unqual!SrcRange == const(char)[]) && !is(Unqual!SrcRange == const(void)[]) && !is(Unqual!SrcRange == immutable(ubyte)[]) && !is(Unqual!SrcRange == immutable(byte)[]) && !is(Unqual!SrcRange == string) && !is(Unqual!SrcRange == immutable(void)[]) && !is(Unqual!SrcRange == ubyte[]) && !is(Unqual!SrcRange == byte[]) && !is(Unqual!SrcRange == char[]) && !is(Unqual!SrcRange == void[]) && is(typeof(() { foreach (e; r) {put
(e); } } ())));
- DataWriter!(ElementType!Range[], Endian.littleEndian)
leWriter
(Range)(ref Range r)
if(isStaticArray!Range);
DataWriter!(Range, Endian.littleEndian)leWriter
(Range)(Range r)
if(isOutputRange!(Range, ubyte[]) || isOutputRange!(Range, ubyte)); - DataWriter!(ElementType!Range[], Endian.bigEndian)
beWriter
(Range)(ref Range r)
if(isStaticArray!Range);
DataWriter!(Range, Endian.bigEndian)beWriter
(Range)(Range r)
if(isOutputRange!(Range, ubyte[]) || isOutputRange!(Range, ubyte)); - void
pick
(R, E)(R r, ref E e)
if(!isArray!E);
voidpick
(R, E)(ref R r, E e)
if(isDynamicArray!E);
voidpick
(R, E)(ref R r, ref E e)
if(isStaticArray!E); - enum auto
isEntryRange
(R, E); - struct
DataReader
(Range, Endian rangeEndian = Endian.littleEndian) if (isEntryRange!(Range, ubyte[]) || isEntryRange!(Range, ubyte) || isEntryRange!(Range, void[])); -
- this(Range r);
- void
pick
(T)(ref T v)
if(is(T == ubyte) || is(T == char) || is(T == byte));
voidpick
(T)(T v)
if(is(T == ubyte[]) || is(T == void[]) || is(T == char[]) || is(T == byte[]));
voidpick
(T)(ref T v)
if(is(T == ushort) || is(T == short) || is(T == wchar));
voidpick
(T)(ref T v)
if(is(T == uint) || is(T == int) || is(T == float) || is(T == ifloat) || is(T == dchar));
voidpick
(T)(ref T v)
if(is(T == ulong) || is(T == long) || is(T == double) || is(T == idouble));
voidpick
(T)(ref T v)
if(is(Unqual!T U == enum) && isEntryRange!(typeof(this), OriginalType!T));
voidpick
(SrcRange)(ref SrcRange r)
if(isStaticArray!SrcRange);
voidpick
(DstRange)(DstRange r)
if(isInputRange!DstRange && !is(ElementType!DstRange == ubyte) && !is(DstRange == void[]) && !is(ElementType!DstRange == byte) && !is(DstRange == char[]) && is(typeof(() { foreach (ref e; r) {pick
(e); } } ()))); - EntryRange Primitive
- const @property bool
empty
(); - Range primitive
- DataReader!(ElementType!Range[], Endian.littleEndian)
leReader
(Range)(ref Range r)
if(isStaticArray!Range);
DataReader!(Range, Endian.littleEndian)leReader
(Range)(Range r)
if(isOutputRange!(Range, ubyte[]) || isOutputRange!(Range, ubyte)); - DataReader!(ElementType!Range[], Endian.bigEndian)
beReader
(Range)(ref Range r)
if(isStaticArray!Range);
DataReader!(Range, Endian.bigEndian)beReader
(Range)(Range r)
if(isOutputRange!(Range, ubyte[]) || isOutputRange!(Range, ubyte));