LLVM type mapping from pod types.  
 More...
#include <openvdb_ax/codegen/Types.h>
|  | 
| static llvm::Type * | get (llvm::LLVMContext &C) | 
|  | Return an LLVM type which represents T. 
 | 
|  | 
| static llvm::Constant * | get (llvm::LLVMContext &C, const T V) | 
|  | Return an LLVM constant Value which represents T value. 
 | 
|  | 
| static llvm::Constant * | get (llvm::LLVMContext &C, const T *const V) | 
|  | Return an LLVM constant which holds an uintptr_t, representing the current address of the given value. 
 | 
|  | 
template<typename T>
struct openvdb::v12_0::ax::codegen::LLVMType< T >
LLVM type mapping from pod types. 
- Note
- LLVM Types do not store information about the value sign, only meta information about the primitive type (i.e. float, int, pointer) and the precision width. LLVMType<uint64_t>::get(C) will provide the same type as LLVMType<int64_t>::get(C), however sign is taken into account during construction of LLVM constants. 
- 
LLVMType classes are importantly used to provided automatic external function mapping. Note that references are not supported, pointers should be used instead. 
- 
Provide your own custom class mapping by specializing the below. 
◆ get() [1/3]
template<typename T> 
  
  | 
        
          | static llvm::Type * get | ( | llvm::LLVMContext & | C | ) |  |  | inlinestatic | 
 
Return an LLVM type which represents T. 
- Parameters
- 
  
    | C | The LLVMContext to request the Type from. |  
 
 
 
◆ get() [2/3]
template<typename T> 
  
  | 
        
          | static llvm::Constant * get | ( | llvm::LLVMContext & | C, |  
          |  |  | const T *const | V ) |  | inlinestatic | 
 
Return an LLVM constant which holds an uintptr_t, representing the current address of the given value. 
- Parameters
- 
  
    | C | The LLVMContext |  | V | The address of a given type to convert to an LLVM constant |  
 
 
 
◆ get() [3/3]
template<typename T> 
  
  | 
        
          | static llvm::Constant * get | ( | llvm::LLVMContext & | C, |  
          |  |  | const T | V ) |  | inlinestatic | 
 
Return an LLVM constant Value which represents T value. 
- Parameters
- 
  
    | C | The LLVMContext |  | V | The value to convert to an LLVM constant |  
 
- Returns
- If successful, returns a pointer to an LLVM constant which holds the value T.