Привет всем, понадобилось использовать std::vector между потоками решил сделать просто написать класс,в него добавить нужные мне методы в которых потокобезопасно будут вызываться методы вектора:
Здравствуйте, _agg, Вы писали:
_>Понятно что у vector куча специализаций, но как избежать этого всего, может есть какой-то прием чтобы победить ошибку?
поместить определение методов в hpp файл.
модулей у нас еще долго не будет.
Здравствуйте, _agg, Вы писали:
_>Понятно что у vector куча специализаций, но как избежать этого всего, может есть какой-то прием чтобы победить ошибку?
Здравствуйте, _agg, Вы писали:
_>Привет всем, понадобилось использовать std::vector между потоками решил сделать просто написать класс,в него добавить нужные мне методы в которых потокобезопасно будут вызываться методы вектора:
Безотносительно вопроса, на который уже дали ответ, хочу обратить внимание, что нужно очень аккуратно подходить к желанию сделать "потокобезопасный контейнер".
Попробуй представить потокобезопасную реализацию вот такого:
safe_vector::iterator where = std::find(mySafeVector.begin(), mySafeVector.end());
Здравствуйте, Qbit86, Вы писали:
Q>Здравствуйте, _agg, Вы писали:
_>>Понятно что у vector куча специализаций, но как избежать этого всего, может есть какой-то прием чтобы победить ошибку?
Q>Добавить определение объявленного деструктора.
Здравствуйте, _agg, Вы писали:
_>Привет всем, понадобилось использовать std::vector между потоками решил сделать просто написать класс,в него добавить нужные мне методы в которых потокобезопасно будут вызываться методы вектора:
Если уж вот прямо надо-надо такой вектор организовать или не вектор, то предлагаю рассмотреть такую штуку:
// где-то в библиотеке.htypedef ... MyVipArrayType;
inline ThreadSafeAccess<MyVipArrayType> GetMyVipArray()
{
return getThreadSafeAccessInstance<MyVipArrayType, 0>()
}
// где-то в клиентском кодеauto vipArray = GetMyVipArray();
for( auto i = vipArray->begin(); i != vipArray->end(); I++ )
{
// ...
}
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском