OpenVDB
12.0.0
|
Consolidated llvm types for most supported types. More...
#include "openvdb_ax/ast/Tokens.h"
#include "openvdb_ax/Exceptions.h"
#include "String.h"
#include <openvdb/version.h>
#include <openvdb/Types.h>
#include <openvdb/math/Mat3.h>
#include <openvdb/math/Mat4.h>
#include <openvdb/math/Vec3.h>
#include <openvdb/util/Assert.h>
#include <llvm/IR/Constants.h>
#include <llvm/IR/IRBuilder.h>
#include <llvm/IR/LLVMContext.h>
#include <type_traits>
Go to the source code of this file.
Classes | |
struct | int_t< Bits > |
struct | int_t< 8 > |
struct | int_t< 16 > |
struct | int_t< 32 > |
struct | int_t< 64 > |
struct | LLVMType< T > |
LLVM type mapping from pod types. More... | |
struct | LLVMType< T[S]> |
struct | LLVMType< T * > |
struct | LLVMType< char > |
struct | LLVMType< codegen::String > |
struct | LLVMType< void > |
struct | LLVMType< void * > |
struct | LLVMType< openvdb::math::half > |
struct | LLVMType< const T > |
struct | LLVMType< const T * > |
struct | AliasTypeMap< T1, T2 > |
Alias mapping between two types, a frontend type T1 and a backend type T2. This class is the intended interface for binding objects which implement supported backend AX/IR types to this given backend type. More specifically, it's current and expected usage is limited to objects which hold a single member of a supported backend type and implements a StandardLayoutType as defined by the standard. Fundamentally, T1->T2 mapping should be supported by reinterpret_cast<> as defined by the type aliasing rules. More... | |
struct | LLVMType< openvdb::math::Vec2< T > > |
Supported aliasing for VDB math types, allowing use in external function signatures. More... | |
struct | LLVMType< openvdb::math::Vec3< T > > |
struct | LLVMType< openvdb::math::Vec4< T > > |
struct | LLVMType< openvdb::math::Mat3< T > > |
struct | LLVMType< openvdb::math::Mat4< T > > |
struct | FunctionTraits< SignatureT > |
Templated function traits which provides compile-time index access to the types of the function signature. More... | |
struct | FunctionTraits< R(&)(Args...)> |
struct | FunctionTraits< R(*)(Args...)> |
struct | FunctionTraits< ReturnT(Args...)> |
struct | FunctionTraits< ReturnT(Args...)>::Arg< I > |
Namespaces | |
openvdb | |
openvdb::v12_0 | |
openvdb::v12_0::ax | |
openvdb::v12_0::ax::codegen | |
Functions | |
template<typename T > | |
llvm::Constant * | llvmConstant (const T t, llvm::Type *type) |
Returns an llvm Constant holding a scalar value. More... | |
OPENVDB_AX_API llvm::IntegerType * | llvmIntType (const uint32_t size, llvm::LLVMContext &C) |
Returns an llvm IntegerType given a requested size and context. More... | |
OPENVDB_AX_API llvm::Type * | llvmFloatType (const uint32_t size, llvm::LLVMContext &C) |
Returns an llvm floating point Type given a requested size and context. More... | |
OPENVDB_AX_API llvm::Type * | llvmTypeFromToken (const ast::tokens::CoreType &type, llvm::LLVMContext &C) |
Returns an llvm type representing a type defined by a string. More... | |
OPENVDB_AX_API ast::tokens::CoreType | tokenFromLLVMType (const llvm::Type *type) |
Return a corresponding AX token which represents the given LLVM Type. More... | |
Consolidated llvm types for most supported types.