LLVM 19.0.0git
Classes | Namespaces
PointerLikeTypeTraits.h File Reference
#include "llvm/Support/DataTypes.h"
#include <cassert>
#include <type_traits>

Go to the source code of this file.

Classes

struct  llvm::detail::ConstantLog2< N >
 A tiny meta function to compute the log2 of a compile time constant. More...
 
struct  llvm::detail::ConstantLog2< 1 >
 
struct  llvm::detail::HasPointerLikeTypeTraits< T, U >
 
struct  llvm::detail::HasPointerLikeTypeTraits< T, decltype((sizeof(PointerLikeTypeTraits< T >)+sizeof(T)), void())>
 
struct  llvm::detail::IsPointerLike< T >
 
struct  llvm::detail::IsPointerLike< T * >
 
struct  llvm::PointerLikeTypeTraits< T * >
 
struct  llvm::PointerLikeTypeTraits< void * >
 
struct  llvm::PointerLikeTypeTraits< const T >
 
struct  llvm::PointerLikeTypeTraits< const T * >
 
struct  llvm::PointerLikeTypeTraits< uintptr_t >
 
struct  llvm::FunctionPointerLikeTypeTraits< Alignment, FunctionPointerT >
 Provide suitable custom traits struct for function pointers. More...
 
struct  llvm::PointerLikeTypeTraits< ReturnT(*)(ParamTs...)>
 Provide a default specialization for function pointers that assumes 4-byte alignment. More...
 

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.