18#if !defined (COMMAND_H)
21#include "gdbsupport/gdb_vecs.h"
22#include "gdbsupport/scoped_restore.h"
129 gdb::optional<LONGEST>
val;
231 gdb_assert (var !=
nullptr);
232 gdb_assert (var_type_uses<T> (var_type));
252 gdb_assert (var_type_uses<T> (var_type));
255 ((set_setting_func ==
nullptr) == (get_setting_func ==
nullptr));
259 gdb_assert ((set_setting_func ==
nullptr) != (var ==
nullptr));
290 gdb_assert (var_type_uses<T> (var_type));
319 if (
m_var ==
nullptr)
326 return *
static_cast<const T *
> (
m_var);
347 const T old_value = this->get<T> ();
349 if (
m_var ==
nullptr)
356 *
static_cast<T *
> (
m_var) = v;
358 return old_value != this->get<T> ();
476 const char *show_doc,
513 const char *text,
const char *word);
518 const char *text,
const char *word);
539#define CMD_LIST_AMBIGUOUS ((struct cmd_list_element *) -1)
593 int ignore_help_classes,
bool lookup_for_completion_p =
false);
612 bool ignore_help_classes =
true);
648 const char *,
const char *,
int);
651 const char *
const *enumlist,
652 const char *,
const char *);
672 const char **
var,
const char *set_doc,
const char *show_doc,
679 const char *set_doc,
const char *show_doc,
686 const char *set_doc,
const char *show_doc,
const char *help_doc,
692 const char *show_doc,
const char *help_doc,
700 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
706 const char *show_doc,
const char *help_doc,
713 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
719 const char *show_doc,
const char *help_doc,
726 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
732 const char *show_doc,
const char *help_doc,
740 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
746 const char *show_doc,
const char *help_doc,
753 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
759 const char *show_doc,
const char *help_doc,
768 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
774 const char *set_doc,
const char *show_doc,
const char *help_doc,
781 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
787 const char *show_doc,
const char *help_doc,
795 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
801 const char *set_doc,
const char *show_doc,
const char *help_doc,
809 const char *set_doc,
const char *show_doc,
const char *help_doc,
815 const char *set_doc,
const char *show_doc,
const char *help_doc,
822 const char *set_doc,
const char *show_doc,
const char *help_doc,
828 const char *show_doc,
const char *help_doc,
835 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
841 const char *show_doc,
const char *help_doc,
848 const char *set_doc,
const char *show_doc,
const char *help_doc,
854 const char *show_doc,
const char *help_doc,
861 const char *show_doc,
const char *help_doc,
cmd_func_ftype *set_func,
867 const char *show_doc,
const char *help_doc,
879extern void error_no_arg (
const char *) ATTRIBUTE_NORETURN;
935 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_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)
const literal_def pinteger_unlimited_literals[]
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)
struct cmd_list_element * add_com_suppress_notification(const char *name, enum command_class theclass, cmd_simple_func_ftype *fun, const char *doc, bool *suppress_notification)
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)
set_show_commands add_setshow_integer_cmd(const char *name, command_class theclass, int *var, const literal_def *extra_literals, 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_pinteger_cmd(const char *name, command_class theclass, int *var, const literal_def *extra_literals, 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 *)
const literal_def integer_unlimited_literals[]
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)
void show_value_ftype(struct ui_file *file, int from_tty, struct cmd_list_element *cmd, const char *value)
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)
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
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)
char * get_saved_command_line()
const literal_def uinteger_unlimited_literals[]
set_show_commands add_setshow_uinteger_cmd(const char *name, command_class theclass, unsigned int *var, const literal_def *extra_literals, 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_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)
const literal_def * extra_literals
bool * suppress_notification
gdb::optional< setting > var
struct cmd_list_element ** subcommands
unsigned int allow_unknown
enum command_class theclass
gdb::optional< LONGEST > val
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, T *var, const literal_def *extra_literals=nullptr)
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)
const literal_def * m_extra_literals
const literal_def * extra_literals() const
setting(var_types var_type, const literal_def *extra_literals, const erased_args &args)
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