OpenVDB 12.1.0
Loading...
Searching...
No Matches
Arguments Struct Reference

Arbitrary, potentially "non-native" arguments. This wrapper struct can be used when generating function which cannot be called from AX itself (e.g. VDB accessor functions or Volume/Point kernels etc). They do not support implicit function signature matching or casting. More...

#include <openvdb_ax/codegen/FunctionTypes.h>

Public Member Functions

 Arguments ()=default
 Arguments (const NativeArguments &args)
 Arguments (Arguments &&)=default
 Arguments (const Arguments &)=default
Argumentsoperator= (Arguments &&)=default
Argumentsoperator= (const Arguments &)=default
size_t size () const
bool AreNativeValues () const
Value AsNativeValue (const size_t i) const
NativeArguments AsNativeValues () const
const llvm::ArrayRef< llvm::Value * > AsLLVMValues () const
const ArgInfoGetArgInfo (size_t pos) const
const ArgInfoVectorGetArgInfo () const
llvm::Value * operator[] (size_t pos) const
void AddArg (llvm::Value *val, const ArgInfo &type)
void AddArg (const Value &val)
void PrependArg (const Value &val)

Detailed Description

Arbitrary, potentially "non-native" arguments. This wrapper struct can be used when generating function which cannot be called from AX itself (e.g. VDB accessor functions or Volume/Point kernels etc). They do not support implicit function signature matching or casting.

Constructor & Destructor Documentation

◆ Arguments() [1/4]

Arguments ( )
default

◆ Arguments() [2/4]

Arguments ( const NativeArguments & args)
inlineexplicit

@biref Create a set of arguments from native arguments. The function framework typically works on generic arguments types.

◆ Arguments() [3/4]

Arguments ( Arguments && )
default

◆ Arguments() [4/4]

Arguments ( const Arguments & )
default

Member Function Documentation

◆ AddArg() [1/2]

void AddArg ( const Value & val)
inline

◆ AddArg() [2/2]

void AddArg ( llvm::Value * val,
const ArgInfo & type )
inline

◆ AreNativeValues()

bool AreNativeValues ( ) const
inline

◆ AsLLVMValues()

const llvm::ArrayRef< llvm::Value * > AsLLVMValues ( ) const
inline

◆ AsNativeValue()

Value AsNativeValue ( const size_t i) const
inline

◆ AsNativeValues()

NativeArguments AsNativeValues ( ) const
inline

◆ GetArgInfo() [1/2]

const ArgInfoVector & GetArgInfo ( ) const
inline

◆ GetArgInfo() [2/2]

const ArgInfo & GetArgInfo ( size_t pos) const
inline

◆ operator=() [1/2]

Arguments & operator= ( Arguments && )
default

◆ operator=() [2/2]

Arguments & operator= ( const Arguments & )
default

◆ operator[]()

llvm::Value * operator[] ( size_t pos) const
inline

◆ PrependArg()

void PrependArg ( const Value & val)
inline

◆ size()

size_t size ( ) const
inline