This file defines the PointerUnion class, which is a discriminated union of pointer types. More...
#include "wpi/DenseMapInfo.h"
#include "wpi/PointerIntPair.h"
#include "wpi/Casting.h"
#include "wpi/PointerLikeTypeTraits.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <type_traits>
Go to the source code of this file.
Namespaces | |
namespace | wpi |
Foonathan namespace. | |
namespace | wpi::detail |
These are wrappers over isa* function that allow them to be used in generic algorithms such as wpi:all_of , wpi::none_of , etc. | |
namespace | wpi::pointer_union_detail |
Typedefs | |
template<size_t I, typename... Ts> | |
using | wpi::TypeAtIndex = std::tuple_element_t<I, std::tuple<Ts...>> |
Find the type at a given index in a list of types. | |
Functions | |
constexpr int | wpi::pointer_union_detail::bitsRequired (unsigned n) |
Determine the number of bits required to store integers with values < n. | |
template<typename... Ts> | |
constexpr int | wpi::pointer_union_detail::lowBitsAvailable () |
template<typename ... PTs> | |
bool | wpi::operator== (PointerUnion< PTs... > lhs, PointerUnion< PTs... > rhs) |
template<typename ... PTs> | |
bool | wpi::operator!= (PointerUnion< PTs... > lhs, PointerUnion< PTs... > rhs) |
template<typename ... PTs> | |
bool | wpi::operator< (PointerUnion< PTs... > lhs, PointerUnion< PTs... > rhs) |
This file defines the PointerUnion class, which is a discriminated union of pointer types.