LLVM 22.0.0git
STLForwardCompat.h File Reference

This file contains library features backported from future STL versions. More...

#include <optional>
#include <type_traits>

Go to the source code of this file.

Classes

struct  llvm::remove_cvref< T >
struct  llvm::type_identity< T >
struct  llvm::detail::detector< class, Op, Args >
struct  llvm::detail::detector< std::void_t< Op< Args... > >, Op, Args... >
struct  llvm::from_range_t
class  llvm::remove_cvref_t

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::detail
 These are wrappers over isa* function that allow them to be used in generic algorithms such as llvm:all_of, llvm::none_of, etc.

Macros

#define llvm::T
#define llvm::T

Typedefs

template<template< class... > class Op, class... Args>
using llvm::is_detected = typename detail::detector<void, Op, Args...>::value_t
 Detects if a given trait holds for some set of arguments 'Args'.

Functions

template<typename Optional, typename Function, typename Value = typename llvm::remove_cvref_t<Optional>::value_type>
std::optional< std::invoke_result_t< Function, Value > > llvm::transformOptional (Optional &&O, Function &&F)
template<typename Enum>
constexpr std::underlying_type_t< Enum > llvm::to_underlying (Enum E)
 Returns underlying integer value of an enum.

Variables

constexpr from_range_t llvm::from_range {}

Detailed Description

This file contains library features backported from future STL versions.

These should be replaced with their STL counterparts as the C++ version LLVM is compiled with is updated.

Definition in file STLForwardCompat.h.