internal unsafe static void ToString(this DateTime time, CharStream charStream, char dateSplit = DateSplitChar) { char *timeFixed = (char *)charStream.GetBeforeMove(19 * sizeof(char)); toString(time, timeFixed, dateSplit); *(timeFixed + 10) = ' '; toString((int)((time.Ticks % TimeSpan.TicksPerDay) / TimeSpan.TicksPerSecond), timeFixed + 11); }
private void emptyString() { //<![CDATA[]]> byte *write = CharStream.GetBeforeMove(24); *(long *)write = '<' + ('!' << 16) + ((long)'[' << 32) + ((long)'C' << 48); *(long *)(write + sizeof(long)) = 'D' + ('A' << 16) + ((long)'T' << 32) + ((long)'A' << 48); *(long *)(write + sizeof(long) * 2) = '[' + (']' << 16) + ((long)']' << 32) + ((long)'>' << 48); }
public void CallSerialize(bool value) { if (value) { *(long *)CharStream.GetBeforeMove(4 * sizeof(char)) = 'T' + ('r' << 16) + ((long)'u' << 32) + ((long)'e' << 48); } else { byte *chars = (byte *)CharStream.GetBeforeMove(5 * sizeof(char)); *(long *)chars = 'F' + ('a' << 16) + ((long)'l' << 32) + ((long)'s' << 48); *(char *)(chars + sizeof(long)) = 'e'; } }
public void CallSerialize(char value) { if (((bits[(byte)value] & XmlDeSerializer.EncodeSpaceBit) | (value & 0xff00)) == 0) { switch ((byte)value) { case (byte)'\t': *(long *)CharStream.GetBeforeMove(4 * sizeof(char)) = '&' + ('#' << 16) + ((long)'9' << 32) + ((long)';' << 48); return; case (byte)'\n': byte *data10 = CharStream.GetBeforeMove(5 * sizeof(char)); *(long *)data10 = '&' + ('#' << 16) + ((long)'1' << 32) + ((long)'0' << 48); *(char *)(data10 + sizeof(long)) = ';'; return; case (byte)'\r': byte *data13 = CharStream.GetBeforeMove(5 * sizeof(char)); *(long *)data13 = '&' + ('#' << 16) + ((long)'1' << 32) + ((long)'3' << 48); *(char *)(data13 + sizeof(long)) = ';'; return; case (byte)' ': byte *data32 = CharStream.GetBeforeMove(5 * sizeof(char)); *(long *)data32 = '&' + ('#' << 16) + ((long)'3' << 32) + ((long)'2' << 48); *(char *)(data32 + sizeof(long)) = ';'; return; case (byte)'&': byte *data38 = CharStream.GetBeforeMove(5 * sizeof(char)); *(long *)data38 = '&' + ('#' << 16) + ((long)'3' << 32) + ((long)'8' << 48); *(char *)(data38 + sizeof(long)) = ';'; return; case (byte)'<': *(long *)CharStream.GetBeforeMove(4 * sizeof(char)) = '&' + ('l' << 16) + ((long)'t' << 32) + ((long)';' << 48); return; case (byte)'>': *(long *)CharStream.GetBeforeMove(4 * sizeof(char)) = '&' + ('g' << 16) + ((long)'t' << 32) + ((long)';' << 48); return; } } CharStream.Write(value); }
public void CallSerialize(Guid value) { new GuidCreator { Value = value }.ToString((char *)CharStream.GetBeforeMove(36 * sizeof(char))); }