boost::program_options::options_description
// In header: <boost/program_options/options_description.hpp> class options_description { public: // public member functions options_description(unsigned = m_default_line_length, unsigned = m_default_line_length/2); options_description(const std::string &, unsigned = m_default_line_length, unsigned = m_default_line_length/2); void add(shared_ptr< option_description >); options_description & add(const options_description &); unsigned get_option_column_width() const; options_description_easy_init add_options(); const option_description & find(const std::string &, bool, bool = false, bool = false) const; const option_description * find_nothrow(const std::string &, bool, bool = false, bool = false) const; const std::vector< shared_ptr< option_description > > & options() const; void print(std::ostream &, unsigned = 0) const; // friend functions BOOST_PROGRAM_OPTIONS_DECL std::ostream & operator<<(std::ostream &, const options_description &); // public data members static const unsigned m_default_line_length; };
一组选项描述。它提供了方便的接口用于添加新选项(add_options 方法),以及通过名称搜索选项的功能。
有关选项添加接口的讨论,请参见此处。
另请参阅: option_description
options_description
公共成员函数options_description(unsigned line_length = m_default_line_length, unsigned min_description_length = m_default_line_length/2);
创建实例。
options_description(const std::string & caption, unsigned line_length = m_default_line_length, unsigned min_description_length = m_default_line_length/2);
创建实例。“caption”参数用于指定此“options_description”实例的名称。主要用于输出。“description_length”指定应为描述文本保留的列数;如果选项文本侵占了此处,则描述将从下一行开始。
void add(shared_ptr< option_description > desc);
添加新的变量描述。如果短名称或长名称与已存在的名称匹配,则抛出 duplicate_variable_error。
options_description & add(const options_description & desc);
添加一组选项描述。其效果与单独添加“desc”中的所有 option_descriptions 相同,不同之处在于输出运算符将显示一个单独的组。返回 *this。
unsigned get_option_column_width() const;
查找选项列的最大宽度,包括组中的选项。
options_description_easy_init add_options();
返回一个实现定义的类型的对象,适合将选项添加到“options_description”。返回的对象将具有重载的 operator(),其参数类型与“option_description”构造函数匹配。调用该运算符将创建新的“option_description”实例并添加它。
const option_description & find(const std::string & name, bool approx, bool long_ignore_case = false, bool short_ignore_case = false) const;
const option_description * find_nothrow(const std::string & name, bool approx, bool long_ignore_case = false, bool short_ignore_case = false) const;
const std::vector< shared_ptr< option_description > > & options() const;
void print(std::ostream & os, unsigned width = 0) const;
将“desc”输出到指定的流,并调用“f”来输出每个“option_description”元素。
options_description
友元函数BOOST_PROGRAM_OPTIONS_DECL std::ostream & operator<<(std::ostream & os, const options_description & desc);
生成“desc”的可读输出,列出选项、它们的描述和允许的参数。先前传递给 add 的其他“options_description”实例将单独输出。