public:
//===--------------------------------------------------------------------===//
/// Definitions of all of the base types for the Type system. Based on this
public:
//===--------------------------------------------------------------------===//
/// Definitions of all of the base types for the Type system. Based on this
/// Note: If you add an element to this, you need to add an element to the
/// Type::getPrimitiveType function, or else things will break!
/// Also update LLVMTypeKind and LLVMGetTypeKind () in the C binding.
/// Note: If you add an element to this, you need to add an element to the
/// Type::getPrimitiveType function, or else things will break!
/// Also update LLVMTypeKind and LLVMGetTypeKind () in the C binding.
/// are valid for types of the same size only where no re-interpretation of
/// the bits is done.
/// @brief Determine if this type could be losslessly bitcast to Ty
/// are valid for types of the same size only where no re-interpretation of
/// the bits is done.
/// @brief Determine if this type could be losslessly bitcast to Ty
/// isEmptyTy - Return true if this type is empty, that is, it has no
/// elements or all its elements are empty.
/// isEmptyTy - Return true if this type is empty, that is, it has no
/// elements or all its elements are empty.
/// getScalarSizeInBits - If this is a vector type, return the
/// getPrimitiveSizeInBits value for the element type. Otherwise return the
/// getPrimitiveSizeInBits value for this type.
/// getScalarSizeInBits - If this is a vector type, return the
/// getPrimitiveSizeInBits value for the element type. Otherwise return the
/// getPrimitiveSizeInBits value for this type.
/// getFPMantissaWidth - Return the width of the mantissa of this type. This
/// is only valid on floating point types. If the FP type does not
/// getFPMantissaWidth - Return the width of the mantissa of this type. This
/// is only valid on floating point types. If the FP type does not
/// getScalarType - If this is a vector type, return the element type,
/// otherwise return 'this'.
/// getScalarType - If this is a vector type, return the element type,
/// otherwise return 'this'.
//===--------------------------------------------------------------------===//
// Type Iteration support.
//===--------------------------------------------------------------------===//
// Type Iteration support.
/// getPointerTo - Return a pointer to the current type. This is equivalent
/// to PointerType::get(Foo, AddrSpace).
/// getPointerTo - Return a pointer to the current type. This is equivalent
/// to PointerType::get(Foo, AddrSpace).