Class: FFI::Clang::Types::TypeDef

Inherits:
Type
  • Object
show all
Defined in:
lib/ffi/clang/types/type_def.rb

Overview

Represents a typedef type. A typedef provides an alias for another type.

Instance Attribute Summary

Attributes inherited from Type

#translation_unit, #type

Instance Method Summary collapse

Methods inherited from Type

#==, #address_space, #alignof, #const_qualified?, #copy_assignable?, #copyable?, create, #declaration, #fqn_elaborated, #fqn_impl, #fqn_pointer, #fqn_record, #fqn_template_args, #fully_qualified_name, #initialize, #intrinsic_type, #kind, #kind_spelling, #modified_type, #non_reference_type, #nullability, #num_template_arguments, #parse_template_args_from_spelling, #pod?, #pretty_printed, #ref_qualifier, #reference?, #restrict_qualified?, #sizeof, #spelling, #template_argument_type, #to_s, #transparent_tag_typedef?, #typedef_name, #unqualified_type, #value_type, #visit_base_classes, #visit_fields, #visit_methods, #volatile_qualified?

Constructor Details

This class inherits a constructor from FFI::Clang::Types::Type

Instance Method Details

#anonymous?Boolean

Check if this typedef aliases an anonymous type.

Returns:

  • (Boolean)


21
22
23
# File 'lib/ffi/clang/types/type_def.rb', line 21

def anonymous?
	self.canonical.kind == :type_record && self.canonical.anonymous?
end

#canonicalObject

Get the canonical (underlying) type.



15
16
17
# File 'lib/ffi/clang/types/type_def.rb', line 15

def canonical
	Type.create Lib.get_canonical_type(@type), @translation_unit
end