Boost
Libraries
arrow_drop_down
Boost.Optional
M
D
C++ 03 Added in Boost 1.30.0
Categories: Data

A value-semantic, type-safe wrapper for representing 'optional' (or 'nullable') objects of a given type. An optional object may or may not contain a value of the underlying type.

This Release

Fernando Cacciola
Maintainer
Andrzej Krzemienski
Andrzej Krzemienski
Maintainer
Jürgen Hunold
Jürgen Hunold
Contributor - New
Olaf van der Spek
Olaf van der Spek
Contributor - New
Siddhant Saraf
Siddhant Saraf
Contributor - New

Dependencies

Assert
Config
Core
Detail
Move
MPL
Static Assert
ThrowException
Type Traits
Utility

optional

A library for representing optional (nullable) objects in C++.

optional<int> readInt(); // this function may return either an int or a not-an-int

if (optional<int> oi = readInt()) // did I get a real int
  cout << "my int is: " << *oi;   // use my int
else
  cout << "I have no int";

For more information refer to the documentation provided with this library.

All Time

Fernando Cacciola
Fernando Cacciola
Contributor
Steven Watanabe
Steven Watanabe
Contributor
Beman Dawes
Beman Dawes
Contributor
Daniel James
Daniel James
Contributor
nobody
Contributor
Andrey Semashev
Andrey Semashev
Contributor
Niels Dekker
Contributor
Dave Abrahams
Dave Abrahams
Contributor
Troy D. Straszheim
Troy D. Straszheim
Contributor
Stephen Kelly
Stephen Kelly
Contributor
Marshall Clow
Marshall Clow
Contributor
Douglas Gregor
Douglas Gregor
Contributor
Vladimir Prus
Vladimir Prus
Contributor
Matias Capeletto
Matias Capeletto
Contributor
jzmaddock
jzmaddock
Contributor
Hartmut Kaiser
Hartmut Kaiser
Contributor
Michael A. Jackson
Michael A. Jackson
Contributor
Rene Rivera
Rene Rivera
Contributor
Jeremiah Willcock
Jeremiah Willcock
Contributor
Markus Schöpflin
Contributor
Jens Maurer
Jens Maurer
Contributor
Gennaro Prota
Contributor
Vicente J. Botet Escriba
Vicente J. Botet Escriba
Contributor
Stefan Seefeld
Stefan Seefeld
Contributor
Ralf W. Grosse-Kunstleve
Contributor
Gennadiy Rozental
Gennadiy Rozental
Contributor
Kazutoshi SATODA
Kazutoshi SATODA
Contributor
Marcel Raad
Marcel Raad
Contributor
Aleksey Gurtovoy
Contributor
Sebastian Redl
Contributor
Fredrik Blomqvist
Contributor