Описание тега boost-optional
A Boost C++ library that provides a container that can represent uninitialized objects of arbitrary type, notably allowing easier definition of functions that might not have a value to return
3
ответа
Как отключить std:: экспериментальный:: необязательный?
С помощью Boost я могу создать дополнительный на месте: boost::optional<boost::asio::io_service::work> work = boost::in_place(boost::ref(io_service)); И отключите это с: work = boost::none; С поддержкой C++14 / эксперимента я могу вместо этого…
12 ноя '14 в 21:37
1
ответ
Wrap Boost:: Необязательно, используя Boost:: Python
Есть ли способ обернуть boost::optional<T> введите объект, чтобы выставить его через boost::python::class_ (позаимствованно из BOOST_PYTHON_MODULE) struct Foo { boost::optional<int> bar; }; BOOST_PYTHON_MODULE(module_name) { class_<Fo…
07 апр '16 в 19:48
2
ответа
Вызов функций с помощью std:: необязательных параметров
У меня есть функция, чья подпись: void func(std::optional<std::string> os = std::nullopt); (Я псевдоним std::experimental::optional до тех пор std::optional официально доступен.) Тем не менее, мне трудно назвать это чисто. Компилятор откажется…
06 фев '17 в 00:41
2
ответа
Может ли неинициализированный конструктор std::option или boost::option генерировать?
Может ли быть объявлен любой из следующих методов шаблона noexcept? template <typename T> std::optional<T> foo(const T& value) // noexcept? { try { // code possibly returning a T or a std::nullopt } catch(...) { return std::nullopt; …
14 янв '16 в 20:55
2
ответа
C++ необязательный <> и отложенное создание некопируемого объекта
Смотрите ниже код, Вопрос в том, как я могу отложить создание объекта, который нельзя скопировать, используя опциональный<>. В примере я использую Boost:: Optional, хотя я верю, что теперь это тоже стандарт Std:: Option. Да, я мог бы использовать sc…
16 авг '13 в 13:57
1
ответ
Неудачная попытка использовать boost:: необязательный
Я пытался использовать опцию boost необязательно для функции, которая могла бы возвращать объект или ноль, и я не могу понять это. Вот что у меня так далеко. Любые предложения о том, как решить эту проблему, будут оценены. class Myclass { public: in…
04 июн '13 в 02:36
0
ответов
Неоднозначная перегрузка nlohmann json для оператора =
Я получаю эту ошибку компиляции с помощью следующего кода #include <iostream> #include <boost/optional.hpp> #include "nlohmann_json.hpp" namespace nlohmann { template <typename T> struct adl_serializer<boost::optional<T>&g…
15 июн '18 в 19:12
1
ответ
Косвенный член RAII: unique_ptr или необязательный?
Рассмотрим класс с членом, который не может быть сохранен напрямую, например, потому что у него нет конструктора по умолчанию, а у конструктора вложенного класса недостаточно информации для его создания: class Foo { public: Foo(){} // Default ctor p…
03 мар '16 в 07:16
2
ответа
Не удалось вывести параметр шаблона
Я пытаюсь использовать API, который похож на следующее: #include<iostream> #include<boost/optional.hpp> class Base { int id; public: int get_id() { return id; } }; class A : public Base { }; class B : public Base { }; class M { public: e…
09 июн '15 в 08:04
4
ответа
Как использовать std:: необязательный?
Я читаю документацию std::experimental::optional и у меня есть хорошее представление о том, что он делает, но я не понимаю, когда я должен его использовать или как я должен его использовать. На сайте пока нет примеров, что затрудняет мне понимание и…
31 май '13 в 15:35
2
ответа
Буст опционально распознает наследование?
class Base {}; class Derived : public Base {}; void func(boost::optional<Base>&) {} int main () { boost::optional<Derived> x; func(x); } Примет ли func оба варианта: базовый и производный?
18 май '16 в 14:09
1
ответ
Использование std:: эксперимент:::: необязательно, давая ошибки компиляции
Я использую дополнительную функцию в первый раз, любая идея, что не так в этом коде, я хочу получить значение из кортежа, который хранится в retCode #include <iostream> #include <experimental/optional> std::experimental::optional<std:…
02 июл '18 в 11:57
3
ответа
Синтаксическая ошибка C2143 при включении boost/option.hpp
Я застрял с ошибкой во время компиляции, которую я не могу понять. Я пытаюсь использовать boost::optional в моем коде, и как только я включу boost/optional.hpp Я не могу больше строить свой проект. Если я прокомментирую это включение, это сработает.…
18 окт '16 в 12:42
2
ответа
Использование std::option<int> так же эффективно, как использование int?
У меня есть структура данных quad-/octree. Я храню дочерние индексы /ptrs ячейки в массиве. Каждая позиция в массиве представляет местоположение дочернего элемента относительно его родителя, например, в 2D: // _____________ // | | | // | 2 | 3 | // …
26 июн '13 в 15:27
1
ответ
Каково обоснование реализации boost::none_t?
Boost.Optional использует фиктивный тип, позволяющий создавать неинициализированные экземпляры boost::optional<T>, Этот тип называется none_tи экземпляр none для удобства уже определен в заголовке, что позволяет нам писать такой код: boost::o…
07 июн '12 в 15:11
0
ответов
bsoncxx::stdx:: необязательный и mongocxx::stdx:: необязательный
Есть ли разница между bsoncxx::stdx::optional а также mongocxx::stdx::optional в MongoDB C++ драйвер? Они оба наследуют boost::optional? Я не могу найти описания о них в документации по API драйвера MongoDB C++.
27 авг '18 в 03:20
3
ответа
Что такое повышение:: дополнительная эффективность?
У меня есть следующее: class Obj; typedef std::map<string, string> StrMap; std::map<std::string, std::pair<Obj, StrMap> > complexMap; Дело в том, что для некоторых записей в complexMap StrMap будет пустым, и я вообще не буду его ис…
25 июн '13 в 07:44
2
ответа
Как я могу вернуть массив символов с Boost:: необязательно
Я пытаюсь вернуть простой массив с Boost:: Необязательно boost::optional<const char *> foo () { char ar[100] = {}; return boost::make_optional(true, ar); } и я получил следующую ошибку: could not convert ‘boost::make_optional(bool, const T&…
29 авг '17 в 16:00
1
ответ
Безопасно ли использовать boost:: опционально в межпроцессной памяти?
Пожалуйста, рассмотрите следующую структуру: struct ThingThatWillGoInSharedMemory { boost::optional<int> opt_value; }; Я использую boost:: interprocess для создания общей области памяти. Насколько я понимаю, boost:: option заключался в том, чт…
28 ноя '13 в 16:53
3
ответа
Извлечение объекта из boost:: необязательный
Предположим, что метод возвращает что-то вроде этого boost::optional<SomeClass> SomeMethod() {...} Теперь предположим, что у меня есть что-то вроде этого boost::optional<SomeClass> val = SomeMethod(); Теперь мой вопрос, как я могу извлеч…
05 июн '13 в 19:57