Code
62 /// Set the bit capacity. Please note that internally this will be rounded up to to the nearest 8 bits.63 void SetSize(uint uiSize)64 {65 uint uiByteSize = (uiSize >> 3) + ((uiSize&0x07)?1:0);66 if (uiByteSize == 0)67 {68 delete []m_pBits;69 m_uiByteSize = 0;70 m_pBits = NULL;71 }72 else73 if (uiByteSize > m_uiByteSize)74 {75 byte* pNewBits = new byte[uiByteSize];76 memset(pNewBits, 0, uiByteSize);77 if (m_uiByteSize)78 {79 memcpy(pNewBits, m_pBits, m_uiByteSize);80 delete []m_pBits;81 }82 m_pBits = pNewBits;83 m_uiByteSize = uiByteSize;84 }85 else86 if (uiByteSize < m_uiByteSize)87 {88 byte* pNewBits = new byte[uiByteSize];89 memset(pNewBits, 0, uiByteSize);90 if (m_uiByteSize)91 {92 memcpy(pNewBits, m_pBits, uiByteSize);93 delete []m_pBits;94 }95 m_pBits = pNewBits;96 m_uiByteSize = uiByteSize;97 }98 }