예제 #1
0
 public override T Serialize <T>(T obj, string name = null)
 {
     UpdateCurrentSerializer(name);
     return(CurrentSerializer.Serialize(obj, name));
 }
예제 #2
0
 public override Pointer SerializePointer(Pointer obj, Pointer anchor = null, bool allowInvalid = false, string name = null)
 {
     UpdateCurrentSerializer(name);
     return(CurrentSerializer.SerializePointer(obj, anchor, allowInvalid, name));
 }
예제 #3
0
 public override Pointer <T> SerializePointer <T>(Pointer <T> obj, Pointer anchor = null, bool resolve = false, Action <T> onPreSerialize = null, bool allowInvalid = false, string name = null)
 {
     UpdateCurrentSerializer(name);
     return(CurrentSerializer.SerializePointer(obj, anchor, resolve, onPreSerialize, allowInvalid, name));
 }
예제 #4
0
 public override void DoEncoded(IStreamEncoder encoder, Action action)
 {
     SwitchSerializer(Deserializer);
     CurrentSerializer.DoEncoded(encoder, action);
 }
예제 #5
0
 public override T SerializeChecksum <T>(T calculatedChecksum, string name = null)
 {
     SwitchSerializer(Deserializer);
     return(CurrentSerializer.SerializeChecksum(calculatedChecksum, name));
 }
예제 #6
0
 public override void SerializeBitValues <T>(Action <SerializeBits> serializeFunc)
 {
     SwitchSerializer(Deserializer);
     CurrentSerializer.SerializeBitValues <T>(serializeFunc);
 }
예제 #7
0
 public override void Goto(Pointer offset) => CurrentSerializer.Goto(offset);
예제 #8
0
 public override void Log(string logString) => CurrentSerializer.Log(logString);
예제 #9
0
 public override T[] SerializeArraySize <T, U>(T[] obj, string name = null)
 {
     SwitchSerializer(Deserializer);
     return(CurrentSerializer.SerializeArraySize <T, U>(obj, name));
 }
예제 #10
0
 public override string SerializeString(string obj, long?length = null, Encoding encoding = null, string name = null)
 {
     UpdateCurrentSerializer(name);
     return(CurrentSerializer.SerializeString(obj, length, encoding, name));
 }
예제 #11
0
 public override void DoEndian(BinaryFile.Endian endianness, Action action)
 {
     CurrentSerializer.DoEndian(endianness, action);
 }
예제 #12
0
 public override void DoEncoded(IStreamEncoder encoder, Action action, BinaryFile.Endian?endianness = null)
 {
     SwitchSerializer(Deserializer);
     CurrentSerializer.DoEncoded(encoder, action, endianness);
 }