public void grow(int capacity) { if (m_buf.Length >= capacity) return; byte[] temp = new byte[Math.Max(capacity, m_size*2)]; System.Array.Copy(m_buf, 0, temp, 0, m_size); m_buf = temp; }
public override sealed OutStream w(int v) { if (p.m_pos + 1 >= p.m_buf.Length) { p.grow(p.m_pos + 1); } p.m_buf[p.m_pos++] = (byte)v; if (p.m_pos > p.m_size) { p.m_size = p.m_pos; } return(this); }