mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-23 02:00:49 +00:00
dbms: improved AutoArray compatibility with vector (this should also fix a bug) [#CONV-6318].
This commit is contained in:
parent
190179d7ba
commit
62c85998de
@ -45,7 +45,7 @@ public:
|
|||||||
{
|
{
|
||||||
setEmpty();
|
setEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Если указать dont_init_elems = true, то не будут вызваны конструкторы по-умолчанию для элементов.
|
/** Если указать dont_init_elems = true, то не будут вызваны конструкторы по-умолчанию для элементов.
|
||||||
* В этом случае, вы должны вставить все элементы с помощью функции place и placement new,
|
* В этом случае, вы должны вставить все элементы с помощью функции place и placement new,
|
||||||
* так как для них потом будут вызваны деструкторы.
|
* так как для них потом будут вызваны деструкторы.
|
||||||
@ -54,6 +54,18 @@ public:
|
|||||||
{
|
{
|
||||||
init(size_, dont_init_elems);
|
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 удаляет все существующие элементы.
|
/** resize удаляет все существующие элементы.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user