Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
Optional.h File Reference
#include <cassert>
#include <functional>
#include <initializer_list>
#include <stdexcept>
#include <string>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Data Structures

struct  open3d::utility::in_place_t
struct  open3d::utility::detail_::has_overloaded_addressof< T >
struct  open3d::utility::trivial_init_t
struct  open3d::utility::nullopt_t
struct  open3d::utility::nullopt_t::init
class  open3d::utility::bad_optional_access
union  open3d::utility::storage_t< T >
union  open3d::utility::constexpr_storage_t< T >
struct  open3d::utility::optional_base< T >
struct  open3d::utility::constexpr_optional_base< T >
class  open3d::utility::optional< T >
class  open3d::utility::optional< T & >
class  open3d::utility::optional< T && >
struct  std::hash< open3d::utility::optional< T > >
struct  std::hash< open3d::utility::optional< T & > >

Namespaces

namespace  open3d
namespace  open3d::utility
namespace  open3d::utility::detail_
namespace  std

Macros

#define TR2_OPTIONAL_REQUIRES(...)
#define TR2_OPTIONAL_ASSERTED_EXPRESSION(CHECK, EXPR)
#define TR2_OPTIONAL_HOST_CONSTEXPR   constexpr

Typedefs

template<class T>
using open3d::utility::OptionalBase

Functions

template<class T>
constexpr T && open3d::utility::constexpr_forward (typename std::remove_reference< T >::type &t) noexcept
template<class T>
constexpr T && open3d::utility::constexpr_forward (typename std::remove_reference< T >::type &&t) noexcept
template<class T>
constexpr std::remove_reference< T >::type && open3d::utility::constexpr_move (T &&t) noexcept
template<typename T, TR2_OPTIONAL_REQUIRES(!has_overloaded_addressof< T >)>
constexpr T * open3d::utility::detail_::static_addressof (T &ref)
template<typename T, TR2_OPTIONAL_REQUIRES(has_overloaded_addressof< T >)>
T * open3d::utility::detail_::static_addressof (T &ref)
template<class U>
constexpr U open3d::utility::detail_::convert (U v)
template<class T>
constexpr bool open3d::utility::operator== (const optional< T > &x, const optional< T > &y)
template<class T>
constexpr bool open3d::utility::operator!= (const optional< T > &x, const optional< T > &y)
template<class T>
constexpr bool open3d::utility::operator< (const optional< T > &x, const optional< T > &y)
template<class T>
constexpr bool open3d::utility::operator> (const optional< T > &x, const optional< T > &y)
template<class T>
constexpr bool open3d::utility::operator<= (const optional< T > &x, const optional< T > &y)
template<class T>
constexpr bool open3d::utility::operator>= (const optional< T > &x, const optional< T > &y)
template<class T>
constexpr bool open3d::utility::operator== (const optional< T > &x, nullopt_t) noexcept
template<class T>
constexpr bool open3d::utility::operator== (nullopt_t, const optional< T > &x) noexcept
template<class T>
constexpr bool open3d::utility::operator!= (const optional< T > &x, nullopt_t) noexcept
template<class T>
constexpr bool open3d::utility::operator!= (nullopt_t, const optional< T > &x) noexcept
template<class T>
constexpr bool open3d::utility::operator< (const optional< T > &, nullopt_t) noexcept
template<class T>
constexpr bool open3d::utility::operator< (nullopt_t, const optional< T > &x) noexcept
template<class T>
constexpr bool open3d::utility::operator<= (const optional< T > &x, nullopt_t) noexcept
template<class T>
constexpr bool open3d::utility::operator<= (nullopt_t, const optional< T > &) noexcept
template<class T>
constexpr bool open3d::utility::operator> (const optional< T > &x, nullopt_t) noexcept
template<class T>
constexpr bool open3d::utility::operator> (nullopt_t, const optional< T > &) noexcept
template<class T>
constexpr bool open3d::utility::operator>= (const optional< T > &, nullopt_t) noexcept
template<class T>
constexpr bool open3d::utility::operator>= (nullopt_t, const optional< T > &x) noexcept
template<class T>
constexpr bool open3d::utility::operator== (const optional< T > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator== (const T &v, const optional< T > &x)
template<class T>
constexpr bool open3d::utility::operator!= (const optional< T > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator!= (const T &v, const optional< T > &x)
template<class T>
constexpr bool open3d::utility::operator< (const optional< T > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator> (const T &v, const optional< T > &x)
template<class T>
constexpr bool open3d::utility::operator> (const optional< T > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator< (const T &v, const optional< T > &x)
template<class T>
constexpr bool open3d::utility::operator>= (const optional< T > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator<= (const T &v, const optional< T > &x)
template<class T>
constexpr bool open3d::utility::operator<= (const optional< T > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator>= (const T &v, const optional< T > &x)
template<class T>
constexpr bool open3d::utility::operator== (const optional< T & > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator== (const T &v, const optional< T & > &x)
template<class T>
constexpr bool open3d::utility::operator!= (const optional< T & > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator!= (const T &v, const optional< T & > &x)
template<class T>
constexpr bool open3d::utility::operator< (const optional< T & > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator> (const T &v, const optional< T & > &x)
template<class T>
constexpr bool open3d::utility::operator> (const optional< T & > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator< (const T &v, const optional< T & > &x)
template<class T>
constexpr bool open3d::utility::operator>= (const optional< T & > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator<= (const T &v, const optional< T & > &x)
template<class T>
constexpr bool open3d::utility::operator<= (const optional< T & > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator>= (const T &v, const optional< T & > &x)
template<class T>
constexpr bool open3d::utility::operator== (const optional< const T & > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator== (const T &v, const optional< const T & > &x)
template<class T>
constexpr bool open3d::utility::operator!= (const optional< const T & > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator!= (const T &v, const optional< const T & > &x)
template<class T>
constexpr bool open3d::utility::operator< (const optional< const T & > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator> (const T &v, const optional< const T & > &x)
template<class T>
constexpr bool open3d::utility::operator> (const optional< const T & > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator< (const T &v, const optional< const T & > &x)
template<class T>
constexpr bool open3d::utility::operator>= (const optional< const T & > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator<= (const T &v, const optional< const T & > &x)
template<class T>
constexpr bool open3d::utility::operator<= (const optional< const T & > &x, const T &v)
template<class T>
constexpr bool open3d::utility::operator>= (const T &v, const optional< const T & > &x)
template<class T>
void open3d::utility::swap (optional< T > &x, optional< T > &y) noexcept(noexcept(x.swap(y)))
template<class T>
constexpr optional< typename std::decay< T >::type > open3d::utility::make_optional (T &&v)
template<class X>
constexpr optional< X & > open3d::utility::make_optional (std::reference_wrapper< X > v)

Variables

constexpr in_place_t open3d::utility::in_place {}
constexpr struct open3d::utility::trivial_init_t open3d::utility::trivial_init
constexpr nullopt_t open3d::utility::nullopt {nullopt_t::init()}

Macro Definition Documentation

◆ TR2_OPTIONAL_ASSERTED_EXPRESSION

#define TR2_OPTIONAL_ASSERTED_EXPRESSION ( CHECK,
EXPR )
Value:
((CHECK) ? (EXPR) : ([] { assert(!#CHECK); }(), (EXPR)))

◆ TR2_OPTIONAL_HOST_CONSTEXPR

#define TR2_OPTIONAL_HOST_CONSTEXPR   constexpr

◆ TR2_OPTIONAL_REQUIRES

#define TR2_OPTIONAL_REQUIRES ( ...)
Value:
typename std::enable_if<__VA_ARGS__::value, bool>::type = false