diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2020-08-14 12:27:22 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2020-08-14 12:27:22 -0400 |
commit | d369b608a1fc84813762e71a40a6cafb3ab828fe (patch) | |
tree | 65ec08506192d4cc54c9f49b11a7243b66863457 /gdb/utils.h | |
parent | 19bddbe95c156a4883213a57d4437b75318b6875 (diff) | |
download | gdb-d369b608a1fc84813762e71a40a6cafb3ab828fe.zip gdb-d369b608a1fc84813762e71a40a6cafb3ab828fe.tar.gz gdb-d369b608a1fc84813762e71a40a6cafb3ab828fe.tar.bz2 |
gdb: add gdb_argv::as_array_view method
Introduce the gdb_argv::as_array_view method, as a way to easily pass
the parsed arguments array to a function taking an array view. There is
currently one caller where we can use this (which prompted the
suggestion to implement this method).
Add some selftests for the new method, which at the same time test a
little bit gdb_argv. As far as I know, it's not tested currently.
gdb/ChangeLog:
* utils.h (class gdb_argv) <as_array_view>: New method.
* utils.c (gdb_argv_as_array_view_test): New.
(_initialize_utils): Register selftest.
* maint.c (maintenance_selftest): Use the new method.
Change-Id: I0645037613ed6549aabe60f14a36f3494513b177
Diffstat (limited to 'gdb/utils.h')
-rw-r--r-- | gdb/utils.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/utils.h b/gdb/utils.h index 3434ff1..9a235b9 100644 --- a/gdb/utils.h +++ b/gdb/utils.h @@ -22,6 +22,7 @@ #define UTILS_H #include "exceptions.h" +#include "gdbsupport/array-view.h" #include "gdbsupport/scoped_restore.h" #include <chrono> @@ -210,6 +211,13 @@ public: return m_argv[arg]; } + /* Return the arguments array as an array view. */ + + gdb::array_view<char *> as_array_view () + { + return gdb::array_view<char *> (this->get (), this->count ()); + } + /* The iterator type. */ typedef char **iterator; |