LLVM  11.0.0git
Static Public Member Functions | Static Public Attributes | List of all members
llvm::PointerLikeTypeTraits< void * > Struct Template Reference

#include "llvm/Support/PointerLikeTypeTraits.h"

Collaboration diagram for llvm::PointerLikeTypeTraits< void * >:
Collaboration graph
[legend]

Static Public Member Functions

static void * getAsVoidPointer (void *P)
 
static void * getFromVoidPointer (void *P)
 

Static Public Attributes

static constexpr int NumLowBitsAvailable = 2
 Note, we assume here that void* is related to raw malloc'ed memory and that malloc returns objects at least 4-byte aligned. More...
 

Detailed Description

template<>
struct llvm::PointerLikeTypeTraits< void * >

Definition at line 64 of file PointerLikeTypeTraits.h.

Member Function Documentation

◆ getAsVoidPointer()

static void* llvm::PointerLikeTypeTraits< void * >::getAsVoidPointer ( void *  P)
inlinestatic

Definition at line 65 of file PointerLikeTypeTraits.h.

References P.

◆ getFromVoidPointer()

static void* llvm::PointerLikeTypeTraits< void * >::getFromVoidPointer ( void *  P)
inlinestatic

Definition at line 66 of file PointerLikeTypeTraits.h.

References P.

Member Data Documentation

◆ NumLowBitsAvailable

constexpr int llvm::PointerLikeTypeTraits< void * >::NumLowBitsAvailable = 2
static

Note, we assume here that void* is related to raw malloc'ed memory and that malloc returns objects at least 4-byte aligned.

However, this may be wrong, or pointers may be from something other than malloc. In this case, you should specify a real typed pointer or avoid this template.

All clients should use assertions to do a run-time check to ensure that this is actually true.

Definition at line 75 of file PointerLikeTypeTraits.h.


The documentation for this struct was generated from the following file: