- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
NTSTATUS resize(size_t new_capacity)
{
NT_ASSERT(new_capacity >= m_size);
if constexpr (std::is_pod_v<T>) {
T *new_array = static_cast<T*>(KReallocate(m_size, new_capacity, sizeof(T), m_array, POOL, TAG));
if (!new_array) {
return STATUS_NO_MEMORY;
}
m_capacity = new_capacity;
m_array = new_array;
} else {
T *new_array = static_cast<T*>(KAllocate(new_capacity, sizeof(T), POOL, TAG));
if (!new_array) {
return STATUS_NO_MEMORY;
}
for (size_t i = 0; i < m_size; i++) {
new (&new_array[i]) T(std::move(m_array[i]));
m_array[i].~T();
}
KmdfDeallocate(m_array, TAG);
m_capacity = new_capacity;
m_array = new_array;
}
return STATUS_SUCCESS;
}
guest8 17.09.2018 22:30 # −999
bormand 17.09.2018 22:37 # −2
tuberkulez 17.09.2018 23:52 # −104
BagorCtretora 18.09.2018 01:56 # 0
CTEPTOP_TUPOI_SHIZIK 18.09.2018 02:11 # 0
CTEPTOP_TUPOI_SHIZIK 18.09.2018 02:14 # 0
guest8 18.09.2018 02:32 # −999
guest8 18.09.2018 02:35 # −999
guest8 18.09.2018 02:51 # −999
Elvenfighter 18.09.2018 18:07 # 0
Гугл порезал с выдачи проприетарные сорцы (было несколько вытечек). Вот там грепать надо.
bormand 18.09.2018 18:10 # 0
Роман, верни ссылки!
Desktop 18.09.2018 18:49 # 0
roman-kashitsyn 18.09.2018 18:55 # 0
Elvenfighter 18.09.2018 19:12 # 0
roman-kashitsyn 18.09.2018 21:54 # 0
bormand 18.09.2018 22:06 # +2
guest8 18.09.2018 22:11 # −999