Size: a a a

2020 April 04

IS

Iskander Saitbatalov in pro.cxx
Vladislav Khudziakov
на какое-то UB походже)
Зависит от того, как ты реализуешь свой аллокатор.
источник

AN

Alexander N in pro.cxx
А что аллокатор не может вернуть существующий адрес?
источник

AN

Alexander N in pro.cxx
Что если он просто будет возвращать адрес того массива? А тип ,в векторе будет char/unsigned char?
источник

АК

Александр Караев in pro.cxx
Alexander N
Что если он просто будет возвращать адрес того массива? А тип ,в векторе будет char/unsigned char?
я не думаю, что API принимает вектор с произвольным аллокатором
источник

VK

Vladislav Khudziakov in pro.cxx
Александр Караев
я не думаю, что API принимает вектор с произвольным аллокатором
да, там просто std::vector<uint8_t> :)
источник

AN

Alexander N in pro.cxx
Извращение номер 2) делаем ещё вектор и мувим туда? Хмм
источник

v

vehlwn in pro.cxx
Vladislav Khudziakov
Привет, может у кого-нибудь есть мысли, как можно мувнуть динамически аллоцированный массив в вектор?
std::move
источник

IS

Iskander Saitbatalov in pro.cxx
Vladislav Khudziakov
да, там просто std::vector<uint8_t> :)
Тогда так нельзя...
источник

AN

Alexander N in pro.cxx
Или так нельзя мувить между векторами?
источник

DF

Dollar Føølish in pro.cxx
Александр Караев
я не думаю, что API принимает вектор с произвольным аллокатором
А как это можно обходить?
источник

AN

Alexander N in pro.cxx
Я исхожу из того, что ownership у кого-то кто этот массив выделял.
источник

АК

Александр Караев in pro.cxx
Dollar Føølish
А как это можно обходить?
использовать другой API
источник

DF

Dollar Føølish in pro.cxx
Хм
источник

DF

Dollar Føølish in pro.cxx
На каждый аллокатор свой апи писать?
источник

m

magras in pro.cxx
Alexander N
Или так нельзя мувить между векторами?
Можно. Но это приведет к вызову стандартного аллокатора и копированию.
источник

AN

Alexander N in pro.cxx
А там вектор ещё и по значению передается?
источник

VK

Vladislav Khudziakov in pro.cxx
Alexander N
Я исхожу из того, что ownership у кого-то кто этот массив выделял.
создание cpu и gpu ресурсов независимо происходит.  Овнершип изначально у того, кто этот массив выделял.  Есть промежуточная структура данных, которая скармливается API и в которой содержатся данные для создания GPU ресурсов. Частью этих данных является std::vector<uint8_t> в котором содержатся байты текстуры.
источник

AN

Alexander N in pro.cxx
Ну я понял. А т.е вектор как есть. Тогда плохо
источник

VK

Vladislav Khudziakov in pro.cxx
В общем ничего лучше memcpy в вектор и удаления массива не нашел
источник

VK

Vladislav Khudziakov in pro.cxx
но все равно всем спасибо)
источник