added command line, added basic character
This commit is contained in:
@@ -5,7 +5,9 @@
|
||||
#include "tier0/mem.h"
|
||||
#include "tier0/platform.h"
|
||||
#include "tier0/lib.h"
|
||||
#include "tier0/minmax_off.h"
|
||||
#include "new"
|
||||
#include "tier0/minmax.h"
|
||||
|
||||
template <typename T>
|
||||
class CUtlBuffer;
|
||||
@@ -161,7 +163,7 @@ public:
|
||||
|
||||
size_t GetSize() const;
|
||||
size_t GetRealSize() const;
|
||||
void Resize( size_t nSize );
|
||||
void Resize( size_t nSize, size_t nDataOffset = 0 );
|
||||
void* GetMemory(void) const;
|
||||
|
||||
operator T*( void ) const;
|
||||
@@ -248,7 +250,7 @@ size_t CUtlResizableBuffer<T>::GetRealSize( void ) const
|
||||
// Resizes memory.
|
||||
//-----------------------------------------------------------------------------
|
||||
template <typename T>
|
||||
void CUtlResizableBuffer<T>::Resize( size_t nSize )
|
||||
void CUtlResizableBuffer<T>::Resize( size_t nSize, size_t nDataOffset )
|
||||
{
|
||||
if (nSize > m_nAllocatedSize)
|
||||
{
|
||||
@@ -256,14 +258,14 @@ void CUtlResizableBuffer<T>::Resize( size_t nSize )
|
||||
T *pData = (T*)V_malloc(nAllocationSize*sizeof(T));
|
||||
for (size_t i = 0; i < m_nSize; i++)
|
||||
{
|
||||
new (&pData[i]) T(m_pData[i]);
|
||||
new (&pData[i+nDataOffset]) T(m_pData[i]);
|
||||
m_pData[i].~T();
|
||||
}
|
||||
V_free(m_pData);
|
||||
m_pData = pData;
|
||||
m_nAllocatedSize = nAllocationSize;
|
||||
}
|
||||
for ( size_t i = m_nSize; i < nSize; ++i )
|
||||
for ( size_t i = m_nSize+nDataOffset; i < nSize; ++i )
|
||||
new (&m_pData[i]) T();
|
||||
m_nSize = nSize;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,9 @@ public:
|
||||
CUtlString( const CUtlString &sz );
|
||||
|
||||
void AppendTail( const char *psz );
|
||||
void AppendTail( char ch );
|
||||
void AppendHead( const char *psz );
|
||||
void AppendHead( char ch );
|
||||
void AppendAt( size_t nPosition, const char *psz );
|
||||
|
||||
void RemoveTail( size_t nCount );
|
||||
@@ -20,6 +22,7 @@ public:
|
||||
char *GetString( void );
|
||||
size_t GetLenght( void );
|
||||
operator char*( void );
|
||||
operator CUtlVector<char>&( void );
|
||||
CUtlString& operator=(const CUtlString &sz);
|
||||
bool operator==(const char* psz);
|
||||
bool operator!=(const char* psz);
|
||||
|
||||
@@ -32,8 +32,8 @@ public:
|
||||
|
||||
T *GetData( void );
|
||||
size_t GetSize( void );
|
||||
void Resize( size_t nSize );
|
||||
void Reserve( size_t nSize );
|
||||
void Resize( size_t nSize, size_t nDataOffset = 0 );
|
||||
void Reserve( size_t nSize, size_t nDataOffset = 0 );
|
||||
|
||||
T &operator[]( size_t nIndex );
|
||||
T &operator[]( size_t nIndex ) const;
|
||||
@@ -121,7 +121,11 @@ void CUtlVector<T>::AppendHead( const T &data )
|
||||
template<typename T>
|
||||
void CUtlVector<T>::AppendHead( const T *pData, size_t n )
|
||||
{
|
||||
|
||||
size_t prevSize = m_data.GetSize();
|
||||
m_data.Resize(prevSize+n, n);
|
||||
for ( size_t i = 0; i < n; i++ )
|
||||
new (&m_data[i]) T(pData[i]);
|
||||
m_nSize+=n;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
@@ -135,7 +139,7 @@ void CUtlVector<T>::AppendTail( const T *pData, size_t n )
|
||||
{
|
||||
m_data.Resize(m_data.GetSize()+n);
|
||||
for ( size_t i = 0; i < n; i++ )
|
||||
m_data[i+m_nSize] = pData[i];
|
||||
new (&m_data[i+m_nSize]) T(pData[i]);
|
||||
m_nSize+=n;
|
||||
}
|
||||
|
||||
@@ -180,15 +184,15 @@ size_t CUtlVector<T>::GetSize( void )
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
void CUtlVector<T>::Resize( size_t nSize )
|
||||
void CUtlVector<T>::Resize( size_t nSize, size_t nDataOffset )
|
||||
{
|
||||
m_data.Resize(nSize);
|
||||
m_data.Resize(nSize, nDataOffset);
|
||||
m_nSize = nSize;
|
||||
}
|
||||
template<typename T>
|
||||
void CUtlVector<T>::Reserve( size_t nSize )
|
||||
void CUtlVector<T>::Reserve( size_t nSize, size_t nDataOffset )
|
||||
{
|
||||
m_data.Resize(nSize);
|
||||
m_data.Resize(nSize, nDataOffset);
|
||||
}
|
||||
template<typename T>
|
||||
CUtlVector<T> &CUtlVector<T>::operator=(const CUtlVector<T> &vec)
|
||||
|
||||
Reference in New Issue
Block a user