com.alibaba.fastffi.clang.MultiLevelTemplateArgumentList_cxx_0xb7c43131 Maven / Gradle / Ivy
The newest version!
package com.alibaba.fastffi.clang;
import com.alibaba.fastffi.CXXOperator;
import com.alibaba.fastffi.CXXValue;
import com.alibaba.fastffi.FFIForeignType;
import com.alibaba.fastffi.FFIPointerImpl;
import com.alibaba.fastffi.FFISynthetic;
import com.alibaba.fastffi.FFITypeFactory;
import java.lang.Object;
import java.lang.String;
import java.lang.UnsatisfiedLinkError;
@FFIForeignType(
value = "clang::MultiLevelTemplateArgumentList",
factory = MultiLevelTemplateArgumentList_cxx_0xb7c43131Factory.class
)
@FFISynthetic("com.alibaba.fastffi.clang.MultiLevelTemplateArgumentList")
public class MultiLevelTemplateArgumentList_cxx_0xb7c43131 extends FFIPointerImpl implements MultiLevelTemplateArgumentList {
public static final int SIZE;
public static final int HASH_SHIFT;
static {
try {
System.loadLibrary("llvm4jni");
} catch (UnsatisfiedLinkError e) {
System.load(FFITypeFactory.findNativeLibrary(MultiLevelTemplateArgumentList_cxx_0xb7c43131.class, "llvm4jni"));
}
}
static {
SIZE = _elementSize$$$();
assert SIZE > 0;
HASH_SHIFT = 31 - Integer.numberOfLeadingZeros(1 + SIZE);
assert HASH_SHIFT > 0;
}
public MultiLevelTemplateArgumentList_cxx_0xb7c43131(final long address) {
super(address);
}
private static final native int _elementSize$$$();
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
MultiLevelTemplateArgumentList_cxx_0xb7c43131 that = (MultiLevelTemplateArgumentList_cxx_0xb7c43131) o;
return this.address == that.address;
}
public int hashCode() {
return (int) (address >> HASH_SHIFT);
}
public String toString() {
return getClass().getName() + "@" + Long.toHexString(address);
}
public void addOuterRetainedLevel() {
nativeAddOuterRetainedLevel(address);
}
public static native void nativeAddOuterRetainedLevel(long ptr);
public void addOuterRetainedLevels(int Num) {
nativeAddOuterRetainedLevels(address, Num);
}
public static native void nativeAddOuterRetainedLevels(long ptr, int Num0);
public void addOuterTemplateArguments(TemplateArgumentList templateArgs) {
nativeAddOuterTemplateArguments(address, ((com.alibaba.fastffi.FFIPointerImpl) templateArgs).address);
}
public static native void nativeAddOuterTemplateArguments(long ptr, long templateArgs0);
@CXXOperator("delete")
public void delete() {
nativeDelete(address);
}
@CXXOperator("delete")
public static native void nativeDelete(long ptr);
public TemplateSubstitutionKind getKind() {
return com.alibaba.fastffi.clang.TemplateSubstitutionKind.get(nativeGetKind(address));
}
public static native int nativeGetKind(long ptr);
public int getNewDepth(int OldDepth) {
return nativeGetNewDepth(address, OldDepth);
}
public static native int nativeGetNewDepth(long ptr, int OldDepth0);
public int getNumLevels() {
return nativeGetNumLevels(address);
}
public static native int nativeGetNumLevels(long ptr);
public int getNumRetainedOuterLevels() {
return nativeGetNumRetainedOuterLevels(address);
}
public static native int nativeGetNumRetainedOuterLevels(long ptr);
public int getNumSubstitutedLevels() {
return nativeGetNumSubstitutedLevels(address);
}
public static native int nativeGetNumSubstitutedLevels(long ptr);
public boolean hasTemplateArgument(int Depth, int Index) {
return nativeHasTemplateArgument(address, Depth, Index);
}
public static native boolean nativeHasTemplateArgument(long ptr, int Depth0, int Index1);
public boolean isRewrite() {
return nativeIsRewrite(address);
}
public static native boolean nativeIsRewrite(long ptr);
public void setArgument(int Depth, int Index, @CXXValue TemplateArgument Arg) {
nativeSetArgument(address, Depth, Index, ((com.alibaba.fastffi.FFIPointerImpl) Arg).address);
}
public static native void nativeSetArgument(long ptr, int Depth0, int Index1, long Arg2);
public static native long nativeCreateFactory0(long TemplateArguments0);
}