18#if !defined (COMMAND_H)
21#include "gdbsupport/gdb_vecs.h"
22#include "gdbsupport/scoped_restore.h"
224 gdb_assert (var !=
nullptr);
225 gdb_assert (var_type_uses<T> (var_type));
245 gdb_assert (var_type_uses<T> (var_type));
248 ((set_setting_func ==
nullptr) == (get_setting_func ==
nullptr));
252 gdb_assert ((set_setting_func ==
nullptr) != (var ==
nullptr));
281 gdb_assert (var_type_uses<T> (var_type));
306 if (
m_var ==
nullptr)
313 return *
static_cast<const T *
> (
m_var);
334 const T old_value = this->get<T> ();
336 if (
m_var ==
nullptr)
343 *
static_cast<T *
> (
m_var) = v;
345 return old_value != this->get<T> ();
460 const char *show_doc,
497 const char *text,
const char *word);
502 const char *text,
const char *word);
523#define CMD_LIST_AMBIGUOUS ((struct cmd_list_element *) -1)
577 int ignore_help_classes,
bool lookup_for_completion_p =
false);
596 bool ignore_help_classes =
true);
620 bool *supress_notification);
632 const char *,
const char *,
int);
635 const char *
const *enumlist,
636 const char *,
const char *);
656 const char **
var,
const char *set_doc,
const char *show_doc,
663 const char *set_doc,
const char *show_doc,
670 const char *set_doc,
const char *show_doc,
const char *help_doc,
676 const char *show_doc,
const char *help_doc,
684 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
690 const char *show_doc,
const char *help_doc,
697 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
703 const char *show_doc,
const char *help_doc,
710 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
716 const char *show_doc,
const char *help_doc,
724 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
730 const char *show_doc,
const char *help_doc,
737 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
743 const char *show_doc,
const char *help_doc,
751 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
757 const char *show_doc,
const char *help_doc,
764 const char *set_doc,
const char *show_doc,
const char *help_doc,
770 const char *show_doc,
const char *help_doc,
777 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
783 const char *show_doc,
const char *help_doc,
790 const char *set_doc,
const char *show_doc,
const char *help_doc,
796 const char *show_doc,
const char *help_doc,
803 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
809 const char *show_doc,
const char *help_doc,
821extern void error_no_arg (
const char *) ATTRIBUTE_NORETURN;
877 const char *args,
int from_tty);
gdb_static_assert(sizeof(splay_tree_key) >=sizeof(CORE_ADDR *))
struct cmd_list_element * lookup_cmd_1(const char **text, struct cmd_list_element *clist, struct cmd_list_element **result_list, std::string *default_args, int ignore_help_classes, bool lookup_for_completion_p=false)
struct cmd_list_element * add_com_suppress_notification(const char *name, enum command_class theclass, cmd_simple_func_ftype *fun, const char *doc, bool *supress_notification)
struct cmd_list_element * add_cmd_suppress_notification(const char *name, enum command_class theclass, cmd_simple_func_ftype *fun, const char *doc, struct cmd_list_element **list, bool *suppress_notification)
set_show_commands add_setshow_integer_cmd(const char *name, command_class theclass, int *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_func_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, cmd_list_element **show_list)
void not_just_help_class_command(const char *, int)
struct cmd_list_element * add_alias_cmd(const char *, cmd_list_element *, enum command_class, int, struct cmd_list_element **)
void execute_cmd_post_hook(struct cmd_list_element *cmd)
set_show_commands add_setshow_boolean_cmd(const char *name, command_class theclass, bool *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_func_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, cmd_list_element **show_list)
struct cmd_list_element * add_com(const char *, enum command_class, cmd_simple_func_ftype *fun, const char *)
scoped_restore_tmpl< int > prevent_dont_repeat(void)
set_show_commands add_setshow_zuinteger_cmd(const char *name, command_class theclass, unsigned int *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_func_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, cmd_list_element **show_list)
struct cmd_list_element * lookup_cmd_exact(const char *name, struct cmd_list_element *list, bool ignore_help_classes=true)
set_show_commands add_setshow_auto_boolean_cmd(const char *name, command_class theclass, auto_boolean *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_func_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, cmd_list_element **show_list)
void completer_ftype(struct cmd_list_element *, completion_tracker &tracker, const char *text, const char *word)
set_show_commands add_setshow_string_noescape_cmd(const char *name, command_class theclass, std::string *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_func_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, cmd_list_element **show_list)
void deprecated_cmd_warning(const char *, struct cmd_list_element *)
bool var_type_uses< bool >(var_types t)
set_show_commands add_setshow_filename_cmd(const char *name, command_class theclass, std::string *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_func_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, cmd_list_element **show_list)
struct cmd_list_element * deprecate_cmd(struct cmd_list_element *, const char *)
bool valid_cmd_char_p(int c)
set_show_commands add_setshow_uinteger_cmd(const char *name, command_class theclass, unsigned int *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_func_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, cmd_list_element **show_list)
bool var_type_uses< enum auto_boolean >(var_types t)
struct cmd_list_element * add_cmd(const char *, enum command_class, cmd_simple_func_ftype *fun, const char *, struct cmd_list_element **)
struct cmd_list_element * add_info(const char *, cmd_simple_func_ftype *fun, const char *)
cmd_list_element * add_com_alias(const char *name, cmd_list_element *target, command_class theclass, int abbrev_flag)
set_show_commands add_setshow_enum_cmd(const char *name, command_class theclass, const char *const *enumlist, const char **var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_func_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, cmd_list_element **show_list)
void cmd_simple_func_ftype(const char *args, int from_tty)
void set_cmd_completer_handle_brkchars(struct cmd_list_element *, completer_handle_brkchars_ftype *)
set_show_commands add_setshow_zuinteger_unlimited_cmd(const char *name, command_class theclass, int *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_func_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, cmd_list_element **show_list)
struct cmd_list_element * add_basic_prefix_cmd(const char *, enum command_class, const char *, struct cmd_list_element **, int, struct cmd_list_element **)
set_show_commands add_setshow_string_cmd(const char *name, command_class theclass, std::string *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_func_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, cmd_list_element **show_list)
void cmd_show_list(struct cmd_list_element *, int)
void save_command_line(const char *cmd)
void complete_on_enum(completion_tracker &tracker, const char *const *enumlist, const char *, const char *)
const char * repeat_previous()
void cmd_func(struct cmd_list_element *cmd, const char *args, int from_tty)
void() show_value_ftype(struct ui_file *file, int from_tty, struct cmd_list_element *cmd, const char *value)
struct cmd_list_element * lookup_cmd(const char **, struct cmd_list_element *, const char *, std::string *, int, int)
struct cmd_list_element * add_abbrev_prefix_cmd(const char *, enum command_class, cmd_simple_func_ftype *fun, const char *, struct cmd_list_element **, int, struct cmd_list_element **)
set_show_commands add_setshow_optional_filename_cmd(const char *name, command_class theclass, std::string *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_func_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, cmd_list_element **show_list)
struct cmd_list_element * add_prefix_cmd_suppress_notification(const char *name, enum command_class theclass, cmd_simple_func_ftype *fun, const char *doc, struct cmd_list_element **subcommands, int allow_unknown, struct cmd_list_element **list, bool *suppress_notification)
set_show_commands add_setshow_prefix_cmd(const char *name, command_class theclass, const char *set_doc, const char *show_doc, cmd_list_element **set_subcommands_list, cmd_list_element **show_subcommands_list, cmd_list_element **set_list, cmd_list_element **show_list)
void error_no_arg(const char *) ATTRIBUTE_NORETURN
show_value_ftype deprecated_show_value_hack
void complete_on_cmdlist(struct cmd_list_element *, completion_tracker &tracker, const char *, const char *, int)
struct cmd_list_element * add_show_prefix_cmd(const char *, enum command_class, const char *, struct cmd_list_element **, int, struct cmd_list_element **)
bool valid_user_defined_cmd_name_p(const char *name)
int cmd_simple_func_eq(struct cmd_list_element *cmd, cmd_simple_func_ftype *cfun)
cmd_list_element * add_info_alias(const char *name, cmd_list_element *target, int abbrev_flag)
@ var_zuinteger_unlimited
char * get_saved_command_line()
void completer_handle_brkchars_ftype(struct cmd_list_element *, completion_tracker &tracker, const char *text, const char *word)
void cmd_func_ftype(const char *args, int from_tty, cmd_list_element *c)
bool var_type_uses< std::string >(var_types t)
bool var_type_uses(var_types var_type)=delete
int lookup_cmd_composition(const char *text, struct cmd_list_element **alias, struct cmd_list_element **prefix_cmd, struct cmd_list_element **cmd)
bool var_type_uses< int >(var_types t)
void set_cmd_completer(struct cmd_list_element *, completer_ftype *)
bool var_type_uses< const char * >(var_types t)
bool var_type_uses< unsigned int >(var_types t)
struct cmd_list_element * add_prefix_cmd(const char *, enum command_class, cmd_simple_func_ftype *fun, const char *, struct cmd_list_element **, int, struct cmd_list_element **)
set_show_commands add_setshow_zinteger_cmd(const char *name, command_class theclass, int *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_func_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, cmd_list_element **show_list)
void set_repeat_arguments(const char *args)
void help_list(struct cmd_list_element *, const char *, enum command_class, struct ui_file *)
void execute_cmd_pre_hook(struct cmd_list_element *cmd)
bool * suppress_notification
gdb::optional< setting > var
struct cmd_list_element ** subcommands
unsigned int allow_unknown
enum command_class theclass
typename setting_func_types_1< std::is_scalar< T >::value, T >::get get
typename setting_func_types_1< std::is_scalar< T >::value, T >::type type
typename setting_func_types_1< std::is_scalar< T >::value, T >::set set
setting(var_types var_type, const erased_args &args)
static erased_args erase_args(var_types var_type, T *var, typename setting_func_types< T >::set set_setting_func, typename setting_func_types< T >::get get_setting_func)
setting(var_types var_type, T *var)
setting(var_types var_type, typename setting_func_types< T >::set setter, typename setting_func_types< T >::get getter)
setting_func_types< T >::type get() const