General Utility Library for C++14  2.12
Classes | Namespaces
optional.h File Reference

Detailed Description

Implementation of gul14::optional.

A header file for representing optional (nullable) objects for C++14 and passing them by value. The original library is maintained at https://github.com/akrzemi1/Optional . This is the reference implementation of proposal N3793 (see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3793.html). Optional is now accepted into Library Fundamentals Technical Specification (see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3848.html) and into the C++17 international standard. The interface is based on Fernando Cacciola's Boost.Optional library (see http://www.boost.org/doc/libs/1_52_0/libs/optional/doc/html/index.html).

Author
Andrzej Krzemienski
#include <cassert>
#include <functional>
#include <initializer_list>
#include <stdexcept>
#include <string>
#include <type_traits>
#include <utility>
#include "gul14/internal.h"
#include "gul14/utility.h"
Include dependency graph for optional.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  gul14::optional< T >
 A class template that can either contain a value of a certain type or not. More...
 
class  gul14::optional< T & >
 A class template that can either contain a value of a certain type or not. More...
 

Namespaces

 gul14
 Namespace gul14 contains all functions and classes of the General Utility Library.