force some inherited template names to be dependent

This commit is contained in:
Jonathan Gray 2013-04-21 15:00:23 +10:00
parent 648cfe3711
commit d9ccfeec4e
8 changed files with 77 additions and 78 deletions

View file

@ -41,9 +41,9 @@ class bits_vs : public bits_base<SZ>
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
void clear_trailing_bits() void clear_trailing_bits()
{ {
for (int i=SIZE; i<ARRAY_SIZE*BITS_INT_SIZE; i++) for (int i=SIZE; i<this->ARRAY_SIZE*this->BITS_INT_SIZE; i++)
{ {
mV[i>>BITS_SHIFT] &= ~(1<<(i&BITS_AND)); this->mV[i>>this->BITS_SHIFT] &= ~(1<<(i&this->BITS_AND));
} }
} }
@ -68,7 +68,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
bits_vs(const bits_vs &B) bits_vs(const bits_vs &B)
{ {
mem::cpy(mV, B.mV,BYTE_SIZE); mem::cpy(this->mV, B.mV,this->BYTE_SIZE);
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -76,7 +76,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
bits_vs(const char* Str) bits_vs(const char* Str)
{ {
clear(); this->clear();
for (int b=0; b<SIZE; b++) for (int b=0; b<SIZE; b++)
{ {
@ -86,7 +86,7 @@ public:
} }
if (Str[b]=='1') if (Str[b]=='1')
{ {
set_bit(b); // Found A True Bit this->set_bit(b); // Found A True Bit
} }
} }
} }
@ -96,9 +96,9 @@ public:
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
bool empty() const bool empty() const
{ {
for (int i=0; i<ARRAY_SIZE; i++) for (int i=0; i<this->ARRAY_SIZE; i++)
{ {
if (mV[i]) if (this->mV[i])
{ {
return false; return false;
} }
@ -119,9 +119,9 @@ public:
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
void invert() void invert()
{ {
for (int i=0; i<ARRAY_SIZE; i++) for (int i=0; i<this->ARRAY_SIZE; i++)
{ {
mV[i] = ~mV[i]; this->mV[i] = ~this->mV[i];
} }
clear_trailing_bits(); clear_trailing_bits();
} }
@ -144,7 +144,7 @@ public:
// of bits this object can hold. // of bits this object can hold.
//-------------------------------------------- //--------------------------------------------
assert(i>=0 && i < SIZE); assert(i>=0 && i < SIZE);
return ( (mV[i>>BITS_SHIFT] & (1<<(i&BITS_AND)))!=0 ); return ( (this->mV[i>>this->BITS_SHIFT] & (1<<(i&this->BITS_AND)))!=0 );
} }
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
@ -160,7 +160,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
bool operator==(const bits_vs &B) const bool operator==(const bits_vs &B) const
{ {
return (mem::eql(mV, B.mV,BYTE_SIZE)); return (mem::eql(this->mV, B.mV,this->BYTE_SIZE));
} }
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
@ -176,9 +176,9 @@ public:
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
void operator|=(const bits_vs &B) void operator|=(const bits_vs &B)
{ {
for (int i=0; i<ARRAY_SIZE; i++) for (int i=0; i<this->ARRAY_SIZE; i++)
{ {
mV[i] |= B.mV[i]; this->mV[i] |= B.mV[i];
} }
} }
@ -187,9 +187,9 @@ public:
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
void operator&=(const bits_vs &B) void operator&=(const bits_vs &B)
{ {
for (int i=0; i<ARRAY_SIZE; i++) for (int i=0; i<this->ARRAY_SIZE; i++)
{ {
mV[i] &= B.mV[i]; this->mV[i] &= B.mV[i];
} }
} }
@ -198,9 +198,9 @@ public:
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
void operator^=(const bits_vs &B) void operator^=(const bits_vs &B)
{ {
for (int i=0; i<ARRAY_SIZE; i++) for (int i=0; i<this->ARRAY_SIZE; i++)
{ {
mV[i] ^= B.mV[i]; this->mV[i] ^= B.mV[i];
} }
} }
@ -209,7 +209,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
void operator=(const bits_vs &B) void operator=(const bits_vs &B)
{ {
mem::cpy(mV, B.mV,BYTE_SIZE); mem::cpy(this->mV, B.mV,this->BYTE_SIZE);
} }
}; };

View file

@ -42,7 +42,7 @@ template <class T>
class handle_pool_base : public pool_root<T> class handle_pool_base : public pool_root<T>
{ {
public: public:
typedef typename T TStorageTraits; typedef T TStorageTraits;
typedef typename T::TValue TTValue; typedef typename T::TValue TTValue;
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Capacity Enum // Capacity Enum
@ -121,7 +121,7 @@ public:
const TTValue& operator[](int handle) const const TTValue& operator[](int handle) const
{ {
assert(is_used(handle)); //typically this is a stale handle (already been freed) assert(is_used(handle)); //typically this is a stale handle (already been freed)
return value_at_index(handle&mMASK_HANDLE_TO_INDEX); return this->value_at_index(handle&mMASK_HANDLE_TO_INDEX);
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -130,14 +130,14 @@ public:
TTValue& operator[](int i) TTValue& operator[](int i)
{ {
assert(is_used(i)); //typically this is a stale handle (already been freed) assert(is_used(i)); //typically this is a stale handle (already been freed)
return value_at_index(i&mMASK_HANDLE_TO_INDEX); return this->value_at_index(i&mMASK_HANDLE_TO_INDEX);
} }
bool is_used(int i) const bool is_used(int i) const
{ {
if (mHandles[i&mMASK_HANDLE_TO_INDEX]==i) if (mHandles[i&mMASK_HANDLE_TO_INDEX]==i)
{ {
return is_used_index(i&mMASK_HANDLE_TO_INDEX); return this->is_used_index(i&mMASK_HANDLE_TO_INDEX);
} }
return false; return false;
} }
@ -157,7 +157,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
int alloc() int alloc()
{ {
int index=alloc_index(); int index=this->alloc_index();
return mHandles[index]; return mHandles[index];
} }
@ -225,25 +225,25 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
int pointer_to_handle(const TRatlNew *me) const int pointer_to_handle(const TRatlNew *me) const
{ {
return index_to_handle(pointer_to_index(me)); return this->index_to_handle(this->pointer_to_index(me));
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Get An Iterator To The Object At handle // Get An Iterator To The Object At handle
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
pool_root<T>::iterator at(int handle) typename pool_root<T>::iterator at(int handle)
{ {
assert(is_used(handle)); assert(is_used(handle));
return at_index(handle&mMASK_HANDLE_TO_INDEX); return this->at_index(handle&mMASK_HANDLE_TO_INDEX);
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Get An Iterator To The Object At handle // Get An Iterator To The Object At handle
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
pool_root<T>::const_iterator at(int handle) const typename pool_root<T>::const_iterator at(int handle) const
{ {
assert(is_used(handle)); assert(is_used(handle));
return at_index(handle&mMASK_HANDLE_TO_INDEX); return this->at_index(handle&mMASK_HANDLE_TO_INDEX);
} }
}; };

View file

@ -98,7 +98,7 @@ template<class T, int IS_MULTI>
class tree_base class tree_base
{ {
public: public:
typedef typename T TStorageTraits; typedef T TStorageTraits;
typedef typename T::TValue TTValue; typedef typename T::TValue TTValue;
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Capacity Enum // Capacity Enum
@ -831,7 +831,7 @@ class set_base : public tree_base<T,IS_MULTI>
{ {
public: public:
typedef typename T TStorageTraits; typedef T TStorageTraits;
typedef typename T::TValue TTValue; typedef typename T::TValue TTValue;
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Capacity Enum // Capacity Enum
@ -850,7 +850,7 @@ public:
assert(!IS_MULTI || find_index(key)==tree_node::NULL_NODE); //fixme handle duplicates more sensibly? assert(!IS_MULTI || find_index(key)==tree_node::NULL_NODE); //fixme handle duplicates more sensibly?
alloc_key(key); alloc_key(key);
insert_alloced_key(); this->insert_alloced_key();
} }
@ -859,7 +859,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
TTValue & alloc() TTValue & alloc()
{ {
return alloc_key(); return this->alloc_key();
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -867,7 +867,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
TRatlNew *alloc_raw() TRatlNew *alloc_raw()
{ {
return alloc_key_raw(); return this->alloc_key_raw();
} }
template<class CAST_TO> template<class CAST_TO>
CAST_TO *verify_alloc(CAST_TO *p) const CAST_TO *verify_alloc(CAST_TO *p) const
@ -877,7 +877,7 @@ public:
void insert_alloced() void insert_alloced()
{ {
insert_alloced_key(); this->insert_alloced_key();
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -889,7 +889,7 @@ public:
int i=find_index(key); int i=find_index(key);
if (i!=tree_node::NULL_NODE) if (i!=tree_node::NULL_NODE)
{ {
erase_index(i); this->erase_index(i);
} }
} }
@ -1068,7 +1068,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
iterator begin() iterator begin()
{ {
return iterator(this, front()); return iterator(this, this->front());
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -1076,7 +1076,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
iterator rbegin() iterator rbegin()
{ {
return iterator(this, back()); return iterator(this, this->back());
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -1100,7 +1100,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
const_iterator begin() const const_iterator begin() const
{ {
return const_iterator(this, front()); return const_iterator(this, this->front());
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -1108,7 +1108,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
const_iterator rbegin() const const_iterator rbegin() const
{ {
return const_iterator(this, back()); return const_iterator(this, this->back());
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -1195,9 +1195,9 @@ template<class K,class V,int IS_MULTI>
class map_base : public tree_base<K,IS_MULTI> class map_base : public tree_base<K,IS_MULTI>
{ {
public: public:
typedef typename K TKeyStorageTraits; typedef K TKeyStorageTraits;
typedef typename K::TValue TKTValue; typedef typename K::TValue TKTValue;
typedef typename V TValueStorageTraits; typedef V TValueStorageTraits;
typedef typename V::TValue TVTValue; typedef typename V::TValue TVTValue;
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Capacity Enum // Capacity Enum
@ -1226,10 +1226,10 @@ public:
{ {
assert(!IS_MULTI || find_index(key)==tree_node::NULL_NODE); //fixme handle duplicates more sensibly? assert(!IS_MULTI || find_index(key)==tree_node::NULL_NODE); //fixme handle duplicates more sensibly?
alloc_key(key); this->alloc_key(key);
insert_alloced_key(); this->insert_alloced_key();
assert(check_validity()); assert(check_validity());
mValues.construct(index_of_alloced_key(),value); mValues.construct(this->index_of_alloced_key(),value);
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -1241,9 +1241,9 @@ public:
assert(!IS_MULTI || find_index(key)==tree_node::NULL_NODE); //fixme handle duplicates more sensibly? assert(!IS_MULTI || find_index(key)==tree_node::NULL_NODE); //fixme handle duplicates more sensibly?
alloc_key(key); alloc_key(key);
insert_alloced_key(); this->insert_alloced_key();
int idx=index_of_alloced_key(); int idx=this->index_of_alloced_key();
assert(check_validity()); assert(check_validity());
mValues.construct(idx); mValues.construct(idx);
return mValues[idx]; return mValues[idx];
@ -1257,9 +1257,9 @@ public:
assert(!IS_MULTI || find_index(key)==tree_node::NULL_NODE); //fixme handle duplicates more sensibly? assert(!IS_MULTI || find_index(key)==tree_node::NULL_NODE); //fixme handle duplicates more sensibly?
alloc_key(key); alloc_key(key);
insert_alloced_key(); this->insert_alloced_key();
assert(check_validity()); assert(check_validity());
return mValues.alloc_raw(index_of_alloced_key()); return mValues.alloc_raw(this->index_of_alloced_key());
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -1267,8 +1267,8 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
TVTValue &alloc_value() TVTValue &alloc_value()
{ {
mValues.construct(index_of_alloced_key()); mValues.construct(this->index_of_alloced_key());
return mValues[index_of_alloced_key()]; return mValues[this->index_of_alloced_key()];
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -1276,7 +1276,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
TRatlNew *alloc_value_raw() TRatlNew *alloc_value_raw()
{ {
return mValues.alloc_raw(index_of_alloced_key()); return mValues.alloc_raw(this->index_of_alloced_key());
} }
template<class CAST_TO> template<class CAST_TO>
@ -1291,10 +1291,10 @@ public:
void erase(const TKTValue &key) void erase(const TKTValue &key)
{ {
//fixme this is a double search currently //fixme this is a double search currently
int i=find_index(key); int i=this->find_index(key);
if (i!=tree_node::NULL_NODE) if (i!=tree_node::NULL_NODE)
{ {
erase_index(i); this->erase_index(i);
mValues.destruct(i); mValues.destruct(i);
} }
} }
@ -1490,7 +1490,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
iterator find(const TKTValue &key) iterator find(const TKTValue &key)
{ {
return iterator(this,find_index(key)); return iterator(this,this->find_index(key));
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -1498,7 +1498,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
iterator begin() iterator begin()
{ {
return iterator(this, front()); return iterator(this, this->front());
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -1506,7 +1506,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
iterator rbegin() iterator rbegin()
{ {
return iterator(this, back()); return iterator(this, this->back());
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -1530,7 +1530,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
const_iterator begin() const const_iterator begin() const
{ {
return const_iterator(this, front()); return const_iterator(this, this->front());
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -1538,7 +1538,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
const_iterator rbegin() const const_iterator rbegin() const
{ {
return const_iterator(this, back()); return const_iterator(this, this->back());
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////

View file

@ -40,7 +40,7 @@ template <class T>
class pool_root : public ratl_base class pool_root : public ratl_base
{ {
public: public:
typedef typename T TStorageTraits; typedef T TStorageTraits;
typedef typename T::TValue TTValue; typedef typename T::TValue TTValue;
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Capacity Enum // Capacity Enum
@ -461,7 +461,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
const TTValue& operator[](int i) const const TTValue& operator[](int i) const
{ {
return value_at_index(i); return this->value_at_index(i);
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -469,12 +469,12 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
TTValue& operator[](int i) TTValue& operator[](int i)
{ {
return value_at_index(i); return this->value_at_index(i);
} }
bool is_used(int i) const bool is_used(int i) const
{ {
return is_used_index(i); return this->is_used_index(i);
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -482,7 +482,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
void swap(int i,int j) void swap(int i,int j)
{ {
swap_index(i,j); this->swap_index(i,j);
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -490,7 +490,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
int alloc() int alloc()
{ {
return alloc_index(); return this->alloc_index();
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -498,7 +498,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
int alloc(const TTValue &v) int alloc(const TTValue &v)
{ {
return alloc_index(v); return this->alloc_index(v);
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
@ -506,23 +506,23 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
void free(int i) void free(int i)
{ {
free_index(i); this->free_index(i);
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Get An Iterator To The Object At index // Get An Iterator To The Object At index
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
pool_root<T>::iterator at(int index) typename pool_root<T>::iterator at(int index)
{ {
return at_index(index); return this->at_index(index);
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Get An Iterator To The Object At index // Get An Iterator To The Object At index
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
pool_root<T>::const_iterator at(int index) const typename pool_root<T>::const_iterator at(int index) const
{ {
return at_index(index); return this->at_index(index);
} }
}; };

View file

@ -41,7 +41,7 @@ template <class T>
class queue_base : public ratl_base class queue_base : public ratl_base
{ {
public: public:
typedef typename T TStorageTraits; typedef T TStorageTraits;
typedef typename T::TValue TTValue; typedef typename T::TValue TTValue;
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Capacity Enum // Capacity Enum
@ -81,7 +81,6 @@ private:
public: public:
typedef T TStorageTraits;
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Constructor // Constructor

View file

@ -1032,7 +1032,7 @@ public:
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Data // Data
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
typedef typename T TStorageTraits; typedef T TStorageTraits;
typedef typename T::TArray TTArray; typedef typename T::TArray TTArray;
typedef typename T::TValue TTValue; typedef typename T::TValue TTValue;
typedef typename T::TConstructed TTConstructed; typedef typename T::TConstructed TTConstructed;

View file

@ -36,7 +36,7 @@ template <class T>
class stack_base : public ratl_base class stack_base : public ratl_base
{ {
public: public:
typedef typename T TStorageTraits; typedef T TStorageTraits;
typedef typename T::TValue TTValue; typedef typename T::TValue TTValue;
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Capacity Enum // Capacity Enum

View file

@ -38,7 +38,7 @@ template<class T>
class vector_base : public ratl_base class vector_base : public ratl_base
{ {
public: public:
typedef typename T TStorageTraits; typedef T TStorageTraits;
typedef typename T::TValue TTValue; typedef typename T::TValue TTValue;
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////
// Capacity Enum // Capacity Enum
@ -69,7 +69,7 @@ public:
{ {
mArray[i] = B.mArray[i]; mArray[i] = B.mArray[i];
} }
mSize = val.mSize; mSize = B.mSize;
} }
//////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////