class OptionalStorage

Declaration

template <
    typename T,
    bool =
        (llvm::is_trivially_copy_constructible<type - parameter - 0 -
                                               0>::value &&
         std::is_trivially_copy_assignable<type - parameter - 0 -
                                           0>::value &&
         (llvm::is_trivially_move_constructible<type - parameter - 0 -
                                                0>::value ||
          !std::is_move_constructible<type - parameter - 0 -
                                      0>::value) &&
         (std::is_trivially_move_assignable<type - parameter - 0 -
                                            0>::value ||
          !std::is_move_assignable<type - parameter - 0 - 0>::value))>
class OptionalStorage { /* full declaration omitted */ };

Declared at: llvm/include/llvm/ADT/Optional.h:60

Templates

T
bool = (llvm::is_trivially_copy_constructible<type-parameter-0-0>::value && std::is_trivially_copy_assignable<type-parameter-0-0>::value && (llvm::is_trivially_move_constructible<type-parameter-0-0>::value || !std::is_move_constructible<type-parameter-0-0>::value) && (std::is_trivially_move_assignable<type-parameter-0-0>::value || !std::is_move_assignable<type-parameter-0-0>::value))

Member Variables

private anonymous struct / union
private bool hasVal = false

Method Overview

Methods

constexpr OptionalStorage<T, >() noexcept

Declared at: llvm/include/llvm/ADT/Optional.h:70

constexpr OptionalStorage<T, >(
    const OptionalStorage<T, >& other)

Declared at: llvm/include/llvm/ADT/Optional.h:72

Parameters

const OptionalStorage<T, >& other

constexpr OptionalStorage<T, >(
    OptionalStorage<T, >&& other)

Declared at: llvm/include/llvm/ADT/Optional.h:77

Parameters

OptionalStorage<T, >&& other

template <class... Args>
constexpr OptionalStorage<T, >(llvm::in_place_t,
                               Args&&... args)

Declared at: llvm/include/llvm/ADT/Optional.h:84

Templates

Args

Parameters

llvm::in_place_t
Args&&... args

template <class... Args>
void emplace(Args&&... args)

Declared at: llvm/include/llvm/ADT/Optional.h:122

Templates

Args

Parameters

Args&&... args

T& getValue() & noexcept

Declared at: llvm/include/llvm/ADT/Optional.h:101

constexpr const T& getValue() const& noexcept

Declared at: llvm/include/llvm/ADT/Optional.h:109

T&& getValue() && noexcept

Declared at: llvm/include/llvm/ADT/Optional.h:117

constexpr bool hasValue() const noexcept

Declared at: llvm/include/llvm/ADT/Optional.h:95

constexpr bool has_value() const noexcept

Declared at: llvm/include/llvm/ADT/Optional.h:94

void reset() noexcept

Declared at: llvm/include/llvm/ADT/Optional.h:87

T& value() & noexcept

Declared at: llvm/include/llvm/ADT/Optional.h:97

constexpr const T& value() const& noexcept

Declared at: llvm/include/llvm/ADT/Optional.h:105

T&& value() && noexcept

Declared at: llvm/include/llvm/ADT/Optional.h:113

~OptionalStorage<T, >()

Declared at: llvm/include/llvm/ADT/Optional.h:68