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); }