Next: gdb.prompt, Previous: gdb.printing, Up: Python modules
This module provides a collection of utilities for working with
gdb.Types objects.
     
get_basic_type (type)C++ example:
          typedef const int const_int;
          const_int foo (3);
          const_int& foo_ref (foo);
          int main () { return 0; }
     
     Then in gdb:
          (gdb) start
          (gdb) python import gdb.types
          (gdb) python foo_ref = gdb.parse_and_eval("foo_ref")
          (gdb) python print gdb.types.get_basic_type(foo_ref.type)
          int
     
     has_field (type, field)True if type, assumed to be a type with fields
(e.g., a structure or union), has field field.
     make_enum_dict (enum_type)dictionary type produced from enum_type.
     deep_items (type)gdb.Type.iteritems method, except that the iterator returned
by deep_items will recursively traverse anonymous struct or
union fields.  For example:
               struct A
          {
              int a;
              union {
                  int b0;
                  int b1;
              };
          };
     
     Then in gdb:
          (gdb) python import gdb.types
          (gdb) python struct_a = gdb.lookup_type("struct A")
          (gdb) python print struct_a.keys ()
          {['a', '']}
          (gdb) python print [k for k,v in gdb.types.deep_items(struct_a)]
          {['a', 'b0', 'b1']}