Dmitry
Dmitry

Reputation: 5269

boost::optional alternative in C++ Standard Library

I'm trying to get my program working without boost usage, but can't find an alternative of some useful patterns. Namely, I can't find boost::optional-likewise pattern in the standard library. Is there some standard alternative for boost::optional (C++11 or somewhere else)?

Upvotes: 22

Views: 13675

Answers (3)

pmr
pmr

Reputation: 59811

Short answer: No.

Long answer: Roll your own according to the boost spec. The documentation is quite exhaustive and the code isn't that complex, but this still requires above average C++ skills.

To update this answer: C++14 unfortunately did not ship with std::optional. The current proposal (Revision 5) is N3793 and it is expected to be shipped as a separate technical specification or to become part of C++17.

Upvotes: 26

Jan Rüegg
Jan Rüegg

Reputation: 10035

Like pmr explained, it is not possible right now, and will not be until C++17 is out.

However, you should be able to use this single header library on github as a drop in replacement of boost- or std optional. It has no dependencies (except a c++11/c++14 capable compiler).

Upvotes: 1

Nova
Nova

Reputation: 2109

There is currently a proposal for C++14 (or C++17). So the answer is (probably) not yet :).

Upvotes: 13

Related Questions