jle_cpp_tk  0.0 2015-04-03 sh1:"d699093732dd5f321606d0ff7a6b63b229f1922c"
A small, safe, selft contained, soft-realtime C++ toolkit
jle::optional< _Tp > Class Template Reference

Class template for optional values. More...

#include <optional.hpp>

Public Member Functions

constexpr optional (nullopt_t) noexcept
 
constexpr optional (const _Tp &__t)
 
constexpr optional (_Tp &&__t)
 
template<typename... _Args>
constexpr optional (in_place_t, _Args &&...__args)
 
template<typename _Up , typename... _Args, typename std::enable_if< std::is_constructible< _Tp, std::initializer_list< _Up > &, _Args &&... >::value, int >::type... >
constexpr optional (in_place_t, std::initializer_list< _Up > __il, _Args &&...__args)
 
 optional (const optional &__other)
 
 optional (optional &&__other) noexcept(std::is_nothrow_move_constructible< _Tp >())
 
optionaloperator= (nullopt_t) noexcept
 
optionaloperator= (const optional &__other)
 
optionaloperator= (optional &&__other) noexcept(std::__and_< std::is_nothrow_move_constructible< _Tp >, std::is_nothrow_move_assignable< _Tp >>())
 
template<typename _Up >
std::enable_if< std::is_same< _Tp, typename std::decay< _Up >::type >::value, optional & >::type operator= (_Up &&__u)
 
template<typename... _Args>
void emplace (_Args &&...__args)
 
template<typename _Up , typename... _Args>
std::enable_if< std::is_constructible< _Tp, std::initializer_list< _Up > &, _Args &&... >::value >::type emplace (std::initializer_list< _Up > __il, _Args &&...__args)
 
void swap (optional &__other)
 
constexpr const _Tp * operator-> () const
 
_Tp * operator-> ()
 
constexpr const _Tp & operator* () const
 
_Tp & operator* ()
 
constexpr operator bool () const noexcept
 
constexpr bool has_value () const noexcept
 
constexpr const _Tp & value () const
 
_Tp & value ()
 
template<typename _Up >
constexpr _Tp value_or (_Up &&__u) const &
 
template<typename _Up >
_Tp value_or (_Up &&__u)&&
 

Friends

template<typename _Tpa >
constexpr bool operator== (const optional< _Tpa > &__lhs, const optional< _Tpa > &__rhs)
 
template<typename _Tpa >
constexpr bool operator!= (const optional< _Tpa > &__lhs, const optional< _Tpa > &__rhs)
 
template<typename _Tpa >
constexpr bool operator< (const optional< _Tpa > &__lhs, const optional< _Tpa > &__rhs)
 
template<typename _Tpa >
constexpr bool operator> (const optional< _Tpa > &__lhs, const optional< _Tpa > &__rhs)
 
template<typename _Tpa >
constexpr bool operator<= (const optional< _Tpa > &__lhs, const optional< _Tpa > &__rhs)
 
template<typename _Tpa >
constexpr bool operator>= (const optional< _Tpa > &__lhs, const optional< _Tpa > &__rhs)
 
template<typename _Tpa >
constexpr bool operator== (const optional< _Tpa > &__lhs, nullopt_t) noexcept
 
template<typename _Tpa >
constexpr bool operator== (nullopt_t, const optional< _Tpa > &__rhs) noexcept
 
template<typename _Tpa >
constexpr bool operator!= (const optional< _Tpa > &__lhs, nullopt_t) noexcept
 
template<typename _Tpa >
constexpr bool operator!= (nullopt_t, const optional< _Tpa > &__rhs) noexcept
 
template<typename _Tpa >
constexpr bool operator< (const optional< _Tpa > &, nullopt_t) noexcept
 
template<typename _Tpa >
constexpr bool operator< (nullopt_t, const optional< _Tpa > &__rhs) noexcept
 
template<typename _Tpa >
constexpr bool operator> (const optional< _Tpa > &__lhs, nullopt_t) noexcept
 
template<typename _Tpa >
constexpr bool operator> (nullopt_t, const optional< _Tpa > &) noexcept
 
template<typename _Tpa >
constexpr bool operator<= (const optional< _Tpa > &__lhs, nullopt_t) noexcept
 
template<typename _Tpa >
constexpr bool operator<= (nullopt_t, const optional< _Tpa > &) noexcept
 
template<typename _Tpa >
constexpr bool operator>= (const optional< _Tpa > &, nullopt_t) noexcept
 
template<typename _Tpa >
constexpr bool operator>= (nullopt_t, const optional< _Tpa > &__rhs) noexcept
 
template<typename _Tpa >
constexpr bool operator== (const optional< _Tpa > &__lhs, const _Tpa &__rhs)
 
template<typename _Tpa >
constexpr bool operator== (const _Tpa &__lhs, const optional< _Tpa > &__rhs)
 
template<typename _Tpa >
constexpr bool operator!= (const optional< _Tpa > &__lhs, _Tpa const &__rhs)
 
template<typename _Tpa >
constexpr bool operator!= (const _Tpa &__lhs, const optional< _Tpa > &__rhs)
 
template<typename _Tpa >
constexpr bool operator< (const optional< _Tpa > &__lhs, const _Tpa &__rhs)
 
template<typename _Tpa >
constexpr bool operator< (const _Tpa &__lhs, const optional< _Tpa > &__rhs)
 
template<typename _Tpa >
constexpr bool operator> (const optional< _Tpa > &__lhs, const _Tpa &__rhs)
 
template<typename _Tpa >
constexpr bool operator> (const _Tpa &__lhs, const optional< _Tpa > &__rhs)
 
template<typename _Tpa >
constexpr bool operator<= (const optional< _Tpa > &__lhs, const _Tpa &__rhs)
 
template<typename _Tpa >
constexpr bool operator<= (const _Tpa &__lhs, const optional< _Tpa > &__rhs)
 
template<typename _Tpa >
constexpr bool operator>= (const optional< _Tpa > &__lhs, const _Tpa &__rhs)
 
template<typename _Tpa >
constexpr bool operator>= (const _Tpa &__lhs, const optional< _Tpa > &__rhs)
 

Detailed Description

template<typename _Tp>
class jle::optional< _Tp >

Class template for optional values.

Examples:
/core/ex_optional.cpp.

The documentation for this class was generated from the following file: