Namespaces
Variants

Experimental library header <experimental/optional>

From cppreference.net
Standard library headers
Experimental library headers
Execution P2300
<experimental/execution>
Filesystem TS
<experimental/filesystem>
Parallelism TS (v1, v2)
experimental/algorithm
experimental/execution_policy
experimental/exception_list
experimental/numeric
<experimental/simd>
experimental/task_block
Library Fundamentals TS (v1, v2, v3)
experimental/algorithm
<experimental/any>
experimental/array
experimental/chrono
experimental/deque
experimental/forward_list
<experimental/functional>
experimental/future
experimental/iterator
experimental/list
experimental/map
experimental/memory
<experimental/memory_resource>
experimental/numeric
<experimental/optional>
experimental/propagate_const
experimental/random
experimental/ratio
experimental/regex
experimental/scope
experimental/set
experimental/source_location
experimental/string
<experimental/string_view>
experimental/system_error
experimental/tuple
experimental/type_traits
experimental/unordered_map
experimental/unordered_set
experimental/utility
experimental/vector

Concurrency TS
experimental/atomic
experimental/barrier
experimental/future
experimental/latch
Ranges TS
Coroutines TS
experimental/coroutine
Networking TS
experimental/buffer
experimental/executor
experimental/internet
experimental/io_context
<experimental/net>
experimental/netfwd
experimental/socket
experimental/timer
Reflection TS
<experimental/reflect>

Dieser Header ist Teil des Library Fundamentals TS ( v1 , v2 ).

Inhaltsverzeichnis

Klassen

Name Beschreibung
(library fundamentals TS)
Ein Wrapper, der möglicherweise ein Objekt enthält oder nicht
(Klassentemplate)
(library fundamentals TS)
Exception, die einen geprüften Zugriff auf ein optional ohne Wert anzeigt
(Klasse)
(library fundamentals TS)
Disambiguierungstag-Typ für In-Place-Konstruktion von optional-Typen
(Klasse)
Spezialisiert den std::hash Algorithmus
(Klassentemplate-Spezialisierung)
(library fundamentals TS)
Indikator für optional-Typ mit nicht initialisiertem Zustand
(Klasse)

Funktionen

Vergleich
vergleicht optional -Objekte
(Funktions-Template)
Spezialisierte Algorithmen
spezialisiert den std::swap -Algorithmus
(Funktion)
erstellt ein optional -Objekt
(Funktions-Template)
Hash-Unterstützung

Übersicht

namespace std {
  namespace experimental {
  inline namespace fundamentals_v1 {
    // 5.4, optional für Objekttypen
    template <class T> class optional;
    // 5.5, In-place-Konstruktion
    struct in_place_t{};
    constexpr in_place_t in_place{};
    // 5.6, Disengaged state indicator
    struct nullopt_t{see below};
    constexpr nullopt_t nullopt(unspecified);
    // 5.7, Klasse bad_optional_access
    class bad_optional_access;
    // 5.8, Relationale Operatoren
    template <class T>
      constexpr bool operator==(const optional<T>&, const optional<T>&);
    template <class T>
      constexpr bool operator!=(const optional<T>&, const optional<T>&);
    template <class T>
      constexpr bool operator<(const optional<T>&, const optional<T>&);
    template <class T>
      constexpr bool operator>(const optional<T>&, const optional<T>&);
    template <class T>
      constexpr bool operator<=(const optional<T>&, const optional<T>&);
    template <class T>
      constexpr bool operator>=(const optional<T>&, const optional<T>&);
    // 5.9, Vergleich mit nullopt
    template <class T> constexpr bool operator==(const optional<T>&, nullopt_t) noexcept;
    template <class T> constexpr bool operator==(nullopt_t, const optional<T>&) noexcept;
    template <class T> constexpr bool operator!=(const optional<T>&, nullopt_t) noexcept;
    template <class T> constexpr bool operator!=(nullopt_t, const optional<T>&) noexcept;
    template <class T> constexpr bool operator<(const optional<T>&, nullopt_t) noexcept;
    template <class T> constexpr bool operator<(nullopt_t, const optional<T>&) noexcept;
    template <class T> constexpr bool operator<=(const optional<T>&, nullopt_t) noexcept;
    template <class T> constexpr bool operator<=(nullopt_t, const optional<T>&) noexcept;
    template <class T> constexpr bool operator>(const optional<T>&, nullopt_t) noexcept;
    template <class T> constexpr bool operator>(nullopt_t, const optional<T>&) noexcept;
    template <class T> constexpr bool operator>=(const optional<T>&, nullopt_t) noexcept;
    template <class T> constexpr bool operator>=(nullopt_t, const optional<T>&) noexcept;
    // 5.10, Vergleich mit T
    template <class T> constexpr bool operator==(const optional<T>&, const T&);
    template <class T> constexpr bool operator==(const T&, const optional<T>&);
    template <class T> constexpr bool operator!=(const optional<T>&, const T&);
    template <class T> constexpr bool operator!=(const T&, const optional<T>&);
    template <class T> constexpr bool operator<(const optional<T>&, const T&);
    template <class T> constexpr bool operator<(const T&, const optional<T>&);
    template <class T> constexpr bool operator<=(const optional<T>&, const T&);
    template <class T> constexpr bool operator<=(const T&, const optional<T>&);
    template <class T> constexpr bool operator>(const optional<T>&, const T&);
    template <class T> constexpr bool operator>(const T&, const optional<T>&);
    template <class T> constexpr bool operator>=(const optional<T>&, const T&);
    template <class T> constexpr bool operator>=(const T&, const optional<T>&);
    // 5.11, Spezialisierte Algorithmen
    template <class T> void swap(optional<T>&, optional<T>&) noexcept(see below);
    template <class T> constexpr optional<see below> make_optional(T&&);
  } // namespace fundamentals_v1
  } // namespace experimental
  // 5.12, Hash-Unterstützung
  template <class T> struct hash;
  template <class T> struct hash<experimental::optional<T>>;
} // namespace std