diff options
author | Tom Tromey <tom@tromey.com> | 2017-04-23 10:21:50 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2017-08-03 07:58:51 -0600 |
commit | 4a2b031d5452226cf7894f313b3aac603f7ec5fb (patch) | |
tree | 8230279453a3136b5d29f238fec14112e1ae80cb /gdb/ui-out.h | |
parent | fd9770d81fba7ad860e8bcfbc13c77f21041f1f3 (diff) | |
download | gdb-4a2b031d5452226cf7894f313b3aac603f7ec5fb.zip gdb-4a2b031d5452226cf7894f313b3aac603f7ec5fb.tar.gz gdb-4a2b031d5452226cf7894f313b3aac603f7ec5fb.tar.bz2 |
Introduce and use ui_out_emit_table
This introduces ui_out_emit_table, similar to the other existing
ui_out RAII classes, and then uses it in a number of places. This
replaces some cleanups.
ChangeLog
2017-08-03 Tom Tromey <tom@tromey.com>
* tracepoint.c (tvariables_info_1): Use ui_out_emit_table.
(info_static_tracepoint_markers_command): Likewise.
* solib.c (info_sharedlibrary_command): Use ui_out_emit_table.
* skip.c (skip_info): Use ui_out_emit_table.
* progspace.c (print_program_space): Use ui_out_emit_table.
* osdata.c (info_osdata): Use ui_out_emit_table.
* mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Use
ui_out_emit_table.
* linux-thread-db.c (info_auto_load_libthread_db): Use
ui_out_emit_table.
* inferior.c (print_inferior): Use ui_out_emit_table.
* gdb_bfd.c (maintenance_info_bfds): Use ui_out_emit_table.
* breakpoint.c (breakpoint_1): Use ui_out_emit_table.
* auto-load.c (auto_load_info_scripts): Use ui_out_emit_table.
* ada-tasks.c (print_ada_task_info): Use ui_out_emit_table.
* ui-out.h (class ui_out_emit_table): New.
Diffstat (limited to 'gdb/ui-out.h')
-rw-r--r-- | gdb/ui-out.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gdb/ui-out.h b/gdb/ui-out.h index 9278cab..857e252 100644 --- a/gdb/ui-out.h +++ b/gdb/ui-out.h @@ -220,4 +220,30 @@ private: typedef ui_out_emit_type<ui_out_type_tuple> ui_out_emit_tuple; typedef ui_out_emit_type<ui_out_type_list> ui_out_emit_list; +/* This is similar to make_cleanup_ui_out_table_begin_end, but written + as an RAII class. */ +class ui_out_emit_table +{ +public: + + ui_out_emit_table (struct ui_out *uiout, int nr_cols, int nr_rows, + const char *tblid) + : m_uiout (uiout) + { + m_uiout->table_begin (nr_cols, nr_rows, tblid); + } + + ~ui_out_emit_table () + { + m_uiout->table_end (); + } + + ui_out_emit_table (const ui_out_emit_table &) = delete; + ui_out_emit_table &operator= (const ui_out_emit_table &) = delete; + +private: + + struct ui_out *m_uiout; +}; + #endif /* UI_OUT_H */ |