LLVM 20.0.0git
Classes | Namespaces | Typedefs | Functions
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 >
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Typedefs

template<typename T >
using llvm::remove_cvref_t = typename llvm::remove_cvref< T >::type
 

Functions

template<typename T , typename Function >
auto llvm::transformOptional (const std::optional< T > &O, const Function &F) -> std::optional< decltype(F(*O))>
 
template<typename T , typename Function >
auto llvm::transformOptional (std::optional< T > &&O, const Function &F) -> std::optional< decltype(F(*std::move(O)))>
 
template<typename Enum >
constexpr std::underlying_type_t< Enum > llvm::to_underlying (Enum E)
 Returns underlying integer value of an enum.
 

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.