dbms: improved AutoArray compatibility with vector (this should also fix a bug) [#CONV-6318].

This commit is contained in:
Michael Kolupaev 2013-01-09 10:49:57 +00:00
parent 190179d7ba
commit 62c85998de

View File

@ -45,7 +45,7 @@ public:
{
setEmpty();
}
/** Если указать dont_init_elems = true, то не будут вызваны конструкторы по-умолчанию для элементов.
* В этом случае, вы должны вставить все элементы с помощью функции place и placement new,
* так как для них потом будут вызваны деструкторы.
@ -54,6 +54,18 @@ public:
{
init(size_, dont_init_elems);
}
/** Инициализирует все элементы копирующим конструктором с параметром value.
*/
AutoArray(size_t size_, const T & value)
{
init(size_, true);
for (size_t i = 0; i < size_; ++i)
{
new (place(i)) T(value);
}
}
/** resize удаляет все существующие элементы.
*/