Описание тега boost-any
Boost.Any - это библиотека C++, которая предлагает безопасный универсальный контейнер для отдельных значений разных типов значений.
5
ответов
Сравнить надстройку:: любое содержимое
Я использую контейнер для хранения списка указателей на что-либо: struct Example { std::vector<boost::any> elements; } Чтобы вставить элементы в этот контейнер, я написал несколько вспомогательных функций (членов struct Example): void add_any(…
17 май '11 в 09:50
1
ответ
Отображение векторов произвольного типа
Мне нужно хранить список векторов разных типов, на каждый из которых будет ссылаться идентификатор строки. Сейчас я использую std::map с std::string в качестве ключа и boost::any как это значение (пример реализации размещен здесь). Я отклеился при п…
03 май '12 в 15:06
4
ответа
C++ boost::any для определения моей собственной печати,
Я изо всех сил пытаюсь найти, как сделать, чтобы использовать boost::any создать функцию печати, которая может печатать любой тип, используя шаблон в первую очередь. template <typename T> struct printer { void print(ostream& os, const boos…
13 фев '11 в 16:31
1
ответ
C# - Есть что-то похожее на boost::any?
У меня есть требование, где: 1. Мне нужно хранить объекты любого типа в списке 2. Избегайте как можно больше вызовов С этой целью я пытался что-то придумать. Что бы я ни пытался, я не смог избавиться от бокса \ распаковки. Я хотел знать, сталкивался…
23 фев '12 в 11:51
6
ответов
Могу ли я избежать всего этого кратного try/catch
У меня есть вектор много boost::any В этом векторе мне нужно выполнить некоторые операции над std::vector и над элементами типа IContainer class IContainer { public: virtual ~IContainer(){} virtual const boost::any operator[](std::string) const = 0;…
12 июл '13 в 14:34
1
ответ
Boost.Any vs. Boost.Variant
У меня проблемы с выбором между Boost.Any и Boost.Variant.Когда я должен использовать каждый? Каковы преимущества и недостатки каждого? Я в основном ищу хранить некоторые состояния из внешних источников.
02 сен '09 в 08:49
1
ответ
Нужно ли повысить:: любой RTTI?
На веб-сайте Boost я не нашел никакой информации относительно использования или RTTI при помощи boost::any. В нескольких местах я читал, что это требование, но затем я создал простой тестовый проект, и он строится как с RTTI, так и без него. Итак, н…
12 июл '16 в 09:10
1
ответ
boost:: любой номер
Я положил положительный 'int' для моей любой переменной. Затем я пытаюсь привести его к "unsigned long". И я получил исключение по поводу плохого актерского состава. Как я могу сделать использование boost::any_cast более гибким, сохраняя целочисленн…
12 дек '12 в 00:07
2
ответа
boost::any_cast(const any&) использует const_cast<> - разве это не UB?
boost/any.hpp (версия 1.55) определяет (строка 263) template<typename ValueType> inline const ValueType * any_cast(const any * operand) BOOST_NOEXCEPT { return any_cast<ValueType>(const_cast<any *>(operand)); } Однако, используя co…
20 май '14 в 08:42
2
ответа
Доступ к типу в шаблоне с переменным индексом
Я хотел бы получить тип в шаблоне variadic по индексу. Индекс указывается в качестве аргумента шаблона. Мне удалось найти "хак", который работает, но я считаю, что это не в духе вариационного шаблонного программирования. Кроме того, он использует до…
19 апр '15 в 11:01
5
ответов
Как я могу передать "Любые данные" в функцию в C++
Допустим, у меня есть класс Handler с некоторыми подклассами, такими как stringhandler, SomeTypeHandler, AnotherTypeHandler. Класс Handler определяет метод "handle" как общий интерфейс для всех подклассов. Логика "обработки", конечно, совершенно раз…
10 апр '12 в 14:38
1
ответ
Лучшая обработка отсутствующего / неправильного ключа в boost::program_options
Есть ли способ узнать, какой ключ был задействован при сбое вызова, подобного следующему? boost::program_options::variables_map vm; ... int foo_bar = vm["some_key"].as<int>(); Если ключ отсутствует на карте или не конвертируется в int, я получ…
13 апр '11 в 10:42
2
ответа
Сохраняет ли boost::any копию или ссылку / указатель?
Следующий код безопасен? boost::any any_value; { std::string s = "HelloWorld"; any_value = s; } std::string ss = any_cast<std::string>(any_value);
21 июн '12 в 16:34
2
ответа
Можно ли использовать параметры программы Boost без RTTI?
Я хотел бы отключить RTTI в моем проекте. Однако этот проект использует параметры программы Boost, которые сами зависят от Boost Any, который не поддерживает -fno-rtti. Мне было интересно, есть ли какое-либо решение использовать Boost Program без RT…
28 янв '13 в 07:24
0
ответов
Тип возвращаемой переменной в функции, которая возвращает удерживаемый объект boost::any
Скажи у меня класс C с полем типа std::vector<boost::any>, У меня есть оператор индекса const boost::any C::operator[](const size_t i); но что если я хотел C::operator[](const size_t i) вернуть объект, удерживаемый any объект по индексу i а не…
18 фев '17 в 15:37
1
ответ
Boost:: любой подвижный?
Этот код компилируется, но я не думаю, что он делает то, что хотел, то есть перемещает, не копирует, boost::any объект, который был создан в стеке в std::vector<boost::any> boost::any var; var = std::string("Stackru"); std::vector<boost::an…
10 авг '13 в 19:43
2
ответа
boost::any нарушает принцип подстановки Лискова
Я обнаружил, что невозможно извлечь ссылку на базовый тип из boost::any который содержит производный тип: boost::any holder = Derived(); const Base& base_ref = boost::any_cast<const Base&>(holder); бросает boost::bad_any_cast исключени…
17 июл '13 в 10:57
1
ответ
Как я могу увидеть значение boost::any, если я знаю тип с gdb
У меня есть дамп ядра, и я смотрю на дамп ядра с помощью gdb. Мне было интересно, если есть способ, чтобы иметь возможность проверить значение boost::any значение в GDB? В основном у меня был адрес для любого повышения, поэтому я попытался привести …
14 дек '12 в 20:42
1
ответ
Можно ли избежать накладных расходов при использовании boost_any?
Я хотел бы использовать boost::any как универсальный тип для хранения в контейнере и для перехода к различным функциям. Но внутри этих функций я всегда знаю реальный тип, поэтому во время выполнения мне не нужны никакие проверки безопасности типов и…
22 май '13 в 14:21
4
ответа
Стандарт C++11 обеспечивает что-то вроде boost::any?
Например boost::function почти полностью std::functionто же самое с boost::shared_ptr Но я не могу найти std::any? Был ли он переименован или вообще не был помещен в новый стандарт по какой-либо причине?
08 фев '12 в 14:19