LLVM 22.0.0git
Classes | Namespaces | Typedefs | Functions | Variables
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::from_range_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
 
template<typename T >
using llvm::type_identity_t = typename llvm::type_identity< T >::type
 

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.