GlueGen: com.jogamp.gluegen.cgram.types.PointerType Class Reference

GlueGen v2.6.0-rc-20250721 GlueGen, Native Binding Generator for Java™ (public API).

Public Member Functions | Protected Member Functions | List of all members
com.jogamp.gluegen.cgram.types.PointerType Class Reference
Inheritance diagram for com.jogamp.gluegen.cgram.types.PointerType:
Collaboration diagram for com.jogamp.gluegen.cgram.types.PointerType:

## Public Member Functions

| PointerType (final SizeThunk size, final Type targetType, final int cvAttributes)
| PointerType (final SizeThunk size, final Type targetType, final int cvAttributes, final ASTLocusTag astLocus)
boolean | isAnon ()
String | getName (final boolean includeCVAttrs)
| Returns the name of this type, optionally including const/volatile attributes. More...
String | getCName (final boolean includeCVAttrs)
| Returns the name of this type, optionally including const/volatile attributes. More...
final PointerType | asPointer ()
| Casts this to a PointerType or returns null if not a PointerType. More...
final Type | getTargetType ()
| Helper method to returns the target type of this type, in case another type is being referenced, i.e. More...
final Type | getBaseType ()
| Helper method to returns the bottom-most element type of this type, i.e. More...
Type | getArrayBaseOrPointerTargetType ()
| Return `getBaseType()` if `isArray()` or returns `getTargetType()` otherwise. More...
FunctionType | getTargetFunction ()
| Returns the target `FunctionType` if this type is `isFunctionPointer()`. More...
final boolean | isFunctionPointer ()
| Convenience routine indicating whether this Type is a pointer to a function. More...
final int | pointerDepth ()
| Helper method for determining how many pointer indirections this type represents (i.e., "void **" returns 2). More...
String | toString ()
| Returns a string representation of this type. More...
String | toString (final String functionName, final String callingConvention)
| For use only when printing function pointers. More...
void | visit (final TypeVisitor arg)
| Traverse this `Type` and all of its component types; for example, the return type and argument types of a FunctionType. More...
Public Member Functions inherited from com.jogamp.gluegen.cgram.types.Type
final Type | newCVVariant (final int cvAttributes)
| Return a variant of this type matching the given const/volatile attributes. More...
Type | clone (final ASTLocusTag newLoc)
| Clones this instance using a new `ASTLocusTag`. More...
final ASTLocusTag | getASTLocusTag ()
| Returns this instance's `ASTLocusTag`, if available, otherwise returns `null`. More...
boolean | isAnon ()
final String | getCName ()
| Returns the name of this type. More...
String | getCName (final boolean includeCVAttrs)
| Returns the name of this type, optionally including const/volatile attributes. More...
final String | getName ()
| Returns the name of this type. More...
String | getName (final boolean includeCVAttrs)
| Returns the name of this type, optionally including const/volatile attributes. More...
String | toString ()
| Returns a string representation of this type. More...
final StringBuilder | getSignature (StringBuilder sb)
final String | getDebugString ()
boolean | setTypedefName (final String name)
| Set the typedef name of this type and renders this type a typedef, if given `name` has a length. More...
final boolean | isTypedef ()
| Indicates whether this type is a typedef type, i.e. More...
final boolean | hasSize ()
| Returns true if `getSize()` is not null, otherwise false. More...
final SizeThunk | getSize ()
| SizeThunk which computes size of this type in bytes. More...
final long | getSize (final MachineDataInfo machDesc)
| Size of this type in bytes according to the given MachineDataInfo. More...
BitType | asBit ()
| Casts this to a BitType or returns null if not a BitType. More...
IntType | asInt ()
| Casts this to an IntType or returns null if not an IntType. More...
EnumType | asEnum ()
| Casts this to an EnumType or returns null if not an EnumType. More...
FloatType | asFloat ()
| Casts this to a FloatType or returns null if not a FloatType. More...
DoubleType | asDouble ()
| Casts this to a DoubleType or returns null if not a DoubleType. More...
PointerType | asPointer ()
| Casts this to a PointerType or returns null if not a PointerType. More...
ArrayType | asArray ()
| Casts this to an ArrayType or returns null if not an ArrayType. More...
CompoundType | asCompound ()
| Casts this to a CompoundType or returns null if not a CompoundType. More...
FunctionType | asFunction ()
| Casts this to a FunctionType or returns null if not a FunctionType. More...
VoidType | asVoid ()
| Casts this to a VoidType or returns null if not a VoidType. More...
final boolean | isBit ()
| Indicates whether this is a BitType. More...
final boolean | isInt ()
| Indicates whether this is an IntType. More...
final boolean | isEnum ()
| Indicates whether this is an EnumType. More...
final boolean | isFloat ()
| Indicates whether this is a FloatType. More...
final boolean | isDouble ()
| Indicates whether this is a DoubleType. More...
final boolean | isPointer ()
| Indicates whether this is a PointerType. More...
final boolean | isArray ()
| Indicates whether this is an ArrayType. More...
final boolean | isCompound ()
| Indicates whether this is a CompoundType. More...
final boolean | isFunction ()
| Indicates whether this is a FunctionType. More...
final boolean | isVoid ()
| Indicates whether this is a VoidType. More...
final boolean | isVolatile ()
| Indicates whether this type is volatile. More...
final boolean | isConst ()
| Indicates whether this type is const. More...
boolean | isPrimitive ()
| Indicates whether this type is a primitive type. More...
boolean | isFunctionPointer ()
| Convenience routine indicating whether this Type is a pointer to a function. More...
final boolean | isBaseTypeConst ()
| Checks the base type of pointer-to-pointer, pointer, array or plain for const-ness. More...
final int | hashCode ()
| Hashcode for Types. More...
final boolean | equals (final Object arg)
| Equality test for Types inclusive its given `name`. More...
final int | hashCodeSemantics ()
| Semantic hashcode for Types exclusive its given `name`. More...
final boolean | equalSemantics (final SemanticEqualityOp arg)
| Semantic equality test for Types exclusive its given `name`. More...
void | visit (final TypeVisitor visitor)
| Traverse this `Type` and all of its component types; for example, the return type and argument types of a FunctionType. More...
final int | getCVAttributes ()
final String | getCVAttributesString ()
| Returns a string indicating the const/volatile attributes of this type. More...
int | pointerDepth ()
| Helper method for determining how many pointer indirections this type represents (i.e., "void **" returns 2). More...
int | arrayDimension ()
| Helper method for determining how many array dimentions this type represents (i.e., "char[][]" returns 2). More...
Type | getBaseType ()
| Helper method to returns the bottom-most element type of this type, i.e. More...
Type | getTargetType ()
| Helper method to returns the target type of this type, in case another type is being referenced, i.e. More...
Type | getArrayBaseOrPointerTargetType ()
| Return `getBaseType()` if `isArray()` or returns `getTargetType()` otherwise. More...
FunctionType | getTargetFunction ()
| Returns the target `FunctionType` if this type is `isFunctionPointer()`. More...
int | hashCodeSemantics ()
| Semantic hashcode for Types exclusive its given `name`. More...
boolean | equalSemantics (final SemanticEqualityOp arg)
| Semantic equality test for Types exclusive its given `name`. More...
ASTLocusTag | getASTLocusTag ()
| Returns this instance's `ASTLocusTag`, if available, otherwise returns `null`. More...

## Protected Member Functions

int | hashCodeImpl ()
boolean | equalsImpl (final Type arg)
int | hashCodeSemanticsImpl ()
boolean | equalSemanticsImpl (final Type arg)
Protected Member Functions inherited from com.jogamp.gluegen.cgram.types.Type
| Type (final String name, final SizeThunk size, final int cvAttributes, final ASTLocusTag astLocus)
final void | clearCache ()
abstract int | hashCodeImpl ()
abstract boolean | equalsImpl (final Type t)
abstract int | hashCodeSemanticsImpl ()
abstract boolean | equalSemanticsImpl (final Type t)

## Additional Inherited Members

Public Attributes inherited from com.jogamp.gluegen.cgram.types.Type
final boolean | relaxedEqSem

## Detailed Description

Definition at line 44 of file PointerType.java.

## Constructor & Destructor Documentation

## ◆ PointerType() [1/2]

com.jogamp.gluegen.cgram.types.PointerType.PointerType | ( | final SizeThunk | size,
|  | final Type | targetType,
|  | final int | cvAttributes
| ) |  |

Definition at line 48 of file PointerType.java.

Here is the caller graph for this function:

## ◆ PointerType() [2/2]

com.jogamp.gluegen.cgram.types.PointerType.PointerType | ( | final SizeThunk | size,
|  | final Type | targetType,
|  | final int | cvAttributes,
|  | final ASTLocusTag | astLocus
| ) |  |

Definition at line 51 of file PointerType.java.

Here is the call graph for this function:

## Member Function Documentation

## ◆ asPointer()

final PointerType com.jogamp.gluegen.cgram.types.PointerType.asPointer | ( |  | ) |

Casts this to a PointerType or returns null if not a PointerType.

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 122 of file PointerType.java.

## ◆ equalSemanticsImpl()

boolean com.jogamp.gluegen.cgram.types.PointerType.equalSemanticsImpl | ( | final Type | arg | ) |

protected

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 85 of file PointerType.java.

Here is the call graph for this function:

## ◆ equalsImpl()

boolean com.jogamp.gluegen.cgram.types.PointerType.equalsImpl | ( | final Type | arg | ) |

protected

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 74 of file PointerType.java.

Here is the call graph for this function:

## ◆ getArrayBaseOrPointerTargetType()

Type com.jogamp.gluegen.cgram.types.PointerType.getArrayBaseOrPointerTargetType | ( |  | ) |

Return `getBaseType()` if `isArray()` or returns `getTargetType()` otherwise.

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 145 of file PointerType.java.

Here is the call graph for this function:

## ◆ getBaseType()

final Type com.jogamp.gluegen.cgram.types.PointerType.getBaseType | ( |  | ) |

Helper method to returns the bottom-most element type of this type, i.e.

returns `@iliteral{code} type @endiliteral` if this-type is `@iliteral{code} type @endiliteral *`, `@iliteral{code} type @endiliteral **`, `@iliteral{code} type @endiliteral []` or `@iliteral{code} type @endiliteral [][]`.

If this is a multidimensional array or pointer method returns the bottom-most element type, otherwise this.

In case a `isFunctionPointer()` type is reached, traversing ends and the function `PointerType` is returned.

See also
  getTargetType()
  getTargetFunction()

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 136 of file PointerType.java.

Here is the call graph for this function:

## ◆ getCName()

String com.jogamp.gluegen.cgram.types.PointerType.getCName | ( | final boolean | includeCVAttrs | ) |

Returns the name of this type, optionally including const/volatile attributes.

The returned string is suitable for use as a type specifier for native C.

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 111 of file PointerType.java.

Here is the call graph for this function:

## ◆ getName()

String com.jogamp.gluegen.cgram.types.PointerType.getName | ( | final boolean | includeCVAttrs | ) |

Returns the name of this type, optionally including const/volatile attributes.

The returned string is suitable for use as a type specifier for Java.

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 100 of file PointerType.java.

Here is the call graph for this function:

## ◆ getTargetFunction()

FunctionType com.jogamp.gluegen.cgram.types.PointerType.getTargetFunction | ( |  | ) |

Returns the target `FunctionType` if this type is `isFunctionPointer()`.

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 150 of file PointerType.java.

Here is the call graph for this function:

## ◆ getTargetType()

final Type com.jogamp.gluegen.cgram.types.PointerType.getTargetType | ( |  | ) |

Helper method to returns the target type of this type, in case another type is being referenced, i.e.

returns `@iliteral{code} type @endiliteral` if this-type is `@iliteral{code} type @endiliteral *` or `@iliteral{code} type @endiliteral []` and returns `@iliteral{code} type @endiliteral *` if this-type is `@iliteral{code} type @endiliteral **` or `@iliteral{code} type @endiliteral [][]`.

If this is an array or pointer method returns the next target element type, otherwise `this`.

In this is a `isFunctionPointer()` type, `this` function `PointerType` is returned.

See also
  getBaseType()
  getTargetFunction()

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 127 of file PointerType.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ hashCodeImpl()

int com.jogamp.gluegen.cgram.types.PointerType.hashCodeImpl | ( |  | ) |

protected

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 69 of file PointerType.java.

Here is the call graph for this function:

## ◆ hashCodeSemanticsImpl()

int com.jogamp.gluegen.cgram.types.PointerType.hashCodeSemanticsImpl | ( |  | ) |

protected

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 80 of file PointerType.java.

Here is the call graph for this function:

## ◆ isAnon()

boolean com.jogamp.gluegen.cgram.types.PointerType.isAnon | ( |  | ) |

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 91 of file PointerType.java.

Here is the call graph for this function:

## ◆ isFunctionPointer()

final boolean com.jogamp.gluegen.cgram.types.PointerType.isFunctionPointer | ( |  | ) |

Convenience routine indicating whether this Type is a pointer to a function.

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 158 of file PointerType.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ pointerDepth()

final int com.jogamp.gluegen.cgram.types.PointerType.pointerDepth | ( |  | ) |

Helper method for determining how many pointer indirections this type represents (i.e., "void **" returns 2).

Returns 0 if this type is not a pointer type.

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 163 of file PointerType.java.

Here is the call graph for this function:

## ◆ toString() [1/2]

String com.jogamp.gluegen.cgram.types.PointerType.toString | ( |  | ) |

Returns a string representation of this type.

The returned string is suitable for use as a type specifier for native C. It does contain an expanded description of structs/unions, hence may not be suitable for type declarations.

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 168 of file PointerType.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ toString() [2/2]

String com.jogamp.gluegen.cgram.types.PointerType.toString | ( | final String | functionName,
|  | final String | callingConvention
| ) |  |

For use only when printing function pointers.

Calling convention string (i.e., "__stdcall") is optional and is generally only needed on Windows.

Definition at line 187 of file PointerType.java.

Here is the call graph for this function:

## ◆ visit()

void com.jogamp.gluegen.cgram.types.PointerType.visit | ( | final TypeVisitor | visitor | ) |

Traverse this `Type` and all of its component types; for example, the return type and argument types of a FunctionType.

Reimplemented from com.jogamp.gluegen.cgram.types.Type.

Definition at line 195 of file PointerType.java.

Here is the call graph for this function:

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

- src/java/com/jogamp/gluegen/cgram/types/PointerType.java