@Trrrrr: Умные указатели не пойдут, вот кусочек из документации:
template class queue;
Requirements:
T must have a copy constructor
T must have a trivial assignment operator
T must have a trivial destructor
Если строго следовать букве, это значит что T должен простой побитово копируемой структурой с пустым деструктором. Похоже авторы вложили всю ментальную мощь в сам алгоритм и полностью забыли про всяческий полиморфизм, которым так славен был ранний boost.
Как пример, автор boost::log на вопрос, почему они не используют boost::lockfree, уклончиво ответил что в нем слишком много конструктивных ограничений и им пришлось написать свою неблокируюшую очередь. Тревожный звоночек для boost я бы сказал.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
template class queue;
Requirements:
T must have a copy constructor
T must have a trivial assignment operator
T must have a trivial destructor
Если строго следовать букве, это значит что T должен простой побитово копируемой структурой с пустым деструктором. Похоже авторы вложили всю ментальную мощь в сам алгоритм и полностью забыли про всяческий полиморфизм, которым так славен был ранний boost.
Как пример, автор boost::log на вопрос, почему они не используют boost::lockfree, уклончиво ответил что в нем слишком много конструктивных ограничений и им пришлось написать свою неблокируюшую очередь. Тревожный звоночек для boost я бы сказал.