added initializer and passed the init value as const reference
This commit is contained in:
parent
a6f9f33a62
commit
3af17fab9a
|
|
@ -73,15 +73,17 @@ STL_CONT& c;
|
||||||
std::vector<ATTR_TYPE> data;
|
std::vector<ATTR_TYPE> data;
|
||||||
|
|
||||||
SimpleTempData(STL_CONT &_c):c(_c){data.reserve(c.capacity());data.resize(c.size());};
|
SimpleTempData(STL_CONT &_c):c(_c){data.reserve(c.capacity());data.resize(c.size());};
|
||||||
SimpleTempData(STL_CONT &_c,ATTR_TYPE val):c(_c){
|
SimpleTempData(STL_CONT &_c, const ATTR_TYPE &val):c(_c){
|
||||||
data.reserve(c.capacity());data.resize(c.size());
|
data.reserve(c.capacity());data.resize(c.size());
|
||||||
typename std::vector<ATTR_TYPE>::iterator i;
|
Init(val);
|
||||||
for(i = data.begin(); i!= data.end(); ++i)
|
|
||||||
*i = val;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
~SimpleTempData(){data.clear();}
|
~SimpleTempData(){data.clear();}
|
||||||
|
|
||||||
|
void Init(const ATTR_TYPE &val)
|
||||||
|
{
|
||||||
|
std::fill(data.begin(),data.end(),val);
|
||||||
|
}
|
||||||
// access to data
|
// access to data
|
||||||
ATTR_TYPE & operator[](const typename STL_CONT::value_type & v){return data[&v-&*c.begin()];}
|
ATTR_TYPE & operator[](const typename STL_CONT::value_type & v){return data[&v-&*c.begin()];}
|
||||||
ATTR_TYPE & operator[](const typename STL_CONT::value_type * v){return data[v-&*c.begin()];}
|
ATTR_TYPE & operator[](const typename STL_CONT::value_type * v){return data[v-&*c.begin()];}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue