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

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
  cout << "I have no int";

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

license BSL-1.0
project boost
topics C++Boost
1 Version
version 1.77.0+1
depends 10; libboost-assert, libboost-config, libboost-core, libboost-detail, libboost-move, libboost-predef, libboost-static-assert, libboost-throw-exception, libboost-type-traits, libboost-utility