<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.14.0" xml:lang="en-US">
  <compounddef id="structargagg_1_1parser" kind="struct" language="C++" prot="public">
    <compoundname>argagg::parser</compoundname>
    <includes refid="argagg_8hpp" local="no">argagg.hpp</includes>
    <sectiondef kind="public-attrib">
      <memberdef kind="variable" id="structargagg_1_1parser_1a4f434651f34fad5c205c0159c24f7573" prot="public" static="no" mutable="no">
        <type><ref refid="cpp/container/vector" kindref="compound" external="/tmp/pkg/src/argagg-0.4.7/doc/cppreference-doxygen-web.tag.xml">std::vector</ref>&lt; <ref refid="structargagg_1_1definition" kindref="compound">definition</ref> &gt;</type>
        <definition>std::vector&lt;definition&gt; argagg::parser::definitions</definition>
        <argsstring></argsstring>
        <name>definitions</name>
        <qualifiedname>argagg::parser::definitions</qualifiedname>
        <briefdescription>
<para>Vector of the option definitions which inform this parser how to parse the command line arguments. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/tmp/pkg/src/argagg-0.4.7/include/argagg/argagg.hpp" line="643" column="15" bodyfile="/tmp/pkg/src/argagg-0.4.7/include/argagg/argagg.hpp" bodystart="643" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="public-func">
      <memberdef kind="function" id="structargagg_1_1parser_1a4f85341056c6f30e02c58b0c9b33dedb" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type><ref refid="structargagg_1_1parser__results" kindref="compound">parser_results</ref></type>
        <definition>parser_results argagg::parser::parse</definition>
        <argsstring>(int argc, const char **argv) const</argsstring>
        <name>parse</name>
        <qualifiedname>argagg::parser::parse</qualifiedname>
        <param>
          <type>int</type>
          <declname>argc</declname>
        </param>
        <param>
          <type>const char **</type>
          <declname>argv</declname>
        </param>
        <briefdescription>
<para>Parses the provided command line arguments and returns the results as <ref refid="structargagg_1_1parser__results" kindref="compound">parser_results</ref>. </para>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="note"><para>This method is not thread-safe and assumes that no modifications are made to the definitions member field during the extent of this method call. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/tmp/pkg/src/argagg-0.4.7/include/argagg/argagg.hpp" line="654" column="18" bodyfile="/tmp/pkg/src/argagg-0.4.7/include/argagg/argagg.hpp" bodystart="1167" bodyend="1393"/>
        <references refid="structargagg_1_1option__result_1a10cf3c02b1c5e5d57f6b9f41b622da46" compoundref="argagg_8hpp" startline="271">argagg::option_result::arg</references>
        <references refid="namespaceargagg_1acb5531e41fdc903b94502fc13736d94a" compoundref="argagg_8hpp" startline="929" endline="1005">argagg::cmd_line_arg_is_option_flag</references>
        <references refid="structargagg_1_1parser_1a4f434651f34fad5c205c0159c24f7573" compoundref="argagg_8hpp" startline="643">definitions</references>
        <references refid="structargagg_1_1parser__map_1a1c933fca929439a558b6176b9b309b0b" compoundref="argagg_8hpp" startline="1098" endline="1106">argagg::parser_map::get_definition_for_long_flag</references>
        <references refid="structargagg_1_1parser__map_1aeb9d3cf8ea6009d010c18a6a57f7b738" compoundref="argagg_8hpp" startline="1081" endline="1085">argagg::parser_map::get_definition_for_short_flag</references>
        <references refid="cpp/string/byte/isalnum_1">std::isalnum</references>
        <references refid="structargagg_1_1parser__map_1ae1b75fceb05c89091696c0bdc1e5bd91" compoundref="argagg_8hpp" startline="1089" endline="1094">argagg::parser_map::known_long_flag</references>
        <references refid="structargagg_1_1parser__map_1a8701dda28757ea06a04fe1bed0a2eff6" compoundref="argagg_8hpp" startline="1073" endline="1077">argagg::parser_map::known_short_flag</references>
        <references refid="cpp/utility/pair/make_pair_1">std::make_pair</references>
        <references refid="cpp/utility/move_1">std::move</references>
        <references refid="structargagg_1_1parser__results_1ae1aa657b375b7e4b5c918fa08ff402b7" compoundref="argagg_8hpp" startline="425">argagg::parser_results::options</references>
        <references refid="structargagg_1_1parser__results_1a159b7d39369d6a3bc76bb484a109d6cc" compoundref="argagg_8hpp" startline="431">argagg::parser_results::pos</references>
        <references refid="cpp/container/vector/push_back_1">std::vector&lt; T &gt;::push_back</references>
        <references refid="cpp/io/basic_ostringstream/str_1">std::ostringstream::str</references>
        <references refid="cpp/string/byte/strchr_1">std::strchr</references>
        <references refid="cpp/string/byte/strlen_1">std::strlen</references>
        <references refid="cpp/string/byte/strncmp_1">std::strncmp</references>
        <references refid="namespaceargagg_1a7a7eacb2cf495cc33c08df68619fbf95" compoundref="argagg_8hpp" startline="1110" endline="1163">argagg::validate_definitions</references>
      </memberdef>
      <memberdef kind="function" id="structargagg_1_1parser_1a2b9d95a4e53822516179cc515017f9a0" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type><ref refid="structargagg_1_1parser__results" kindref="compound">parser_results</ref></type>
        <definition>parser_results argagg::parser::parse</definition>
        <argsstring>(int argc, char **argv) const</argsstring>
        <name>parse</name>
        <qualifiedname>argagg::parser::parse</qualifiedname>
        <param>
          <type>int</type>
          <declname>argc</declname>
        </param>
        <param>
          <type>char **</type>
          <declname>argv</declname>
        </param>
        <briefdescription>
<para>Through strict interpretation of pointer casting rules, despite this being a safe operation, C++ doesn&apos;t allow implicit casts from <computeroutput>char**</computeroutput> to <computeroutput>const char**</computeroutput> so here&apos;s an overload that performs a const_cast, which is typically frowned upon but is safe here. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/tmp/pkg/src/argagg-0.4.7/include/argagg/argagg.hpp" line="663" column="18" bodyfile="/tmp/pkg/src/argagg-0.4.7/include/argagg/argagg.hpp" bodystart="1397" bodyend="1400"/>
        <references refid="structargagg_1_1parser_1a4f85341056c6f30e02c58b0c9b33dedb" compoundref="argagg_8hpp" startline="1167" endline="1393">parse</references>
      </memberdef>
    </sectiondef>
    <briefdescription>
<para>A list of option definitions used to inform how to parse arguments. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <collaborationgraph>
      <node id="3">
        <label>argagg::definition</label>
        <link refid="structargagg_1_1definition"/>
        <childnode refid="4" relation="usage">
          <edgelabel>help</edgelabel>
          <edgelabel>name</edgelabel>
        </childnode>
        <childnode refid="6" relation="usage">
          <edgelabel>flags</edgelabel>
        </childnode>
      </node>
      <node id="1">
        <label>argagg::parser</label>
        <link refid="structargagg_1_1parser"/>
        <childnode refid="2" relation="usage">
          <edgelabel>definitions</edgelabel>
        </childnode>
      </node>
      <node id="5">
        <label>std::basic_string&lt; Char &gt;</label>
        <link refid="cpp/string/basic_string" external="/tmp/pkg/src/argagg-0.4.7/doc/cppreference-doxygen-web.tag.xml"/>
      </node>
      <node id="4">
        <label>std::string</label>
        <link refid="cpp/string/basic_string" external="/tmp/pkg/src/argagg-0.4.7/doc/cppreference-doxygen-web.tag.xml"/>
        <childnode refid="5" relation="public-inheritance">
        </childnode>
      </node>
      <node id="2">
        <label>std::vector&lt; argagg::definition &gt;</label>
        <link refid="cpp/container/vector" external="/tmp/pkg/src/argagg-0.4.7/doc/cppreference-doxygen-web.tag.xml"/>
        <childnode refid="3" relation="usage">
          <edgelabel>elements</edgelabel>
        </childnode>
      </node>
      <node id="6">
        <label>std::vector&lt; std::string &gt;</label>
        <link refid="cpp/container/vector" external="/tmp/pkg/src/argagg-0.4.7/doc/cppreference-doxygen-web.tag.xml"/>
        <childnode refid="4" relation="usage">
          <edgelabel>elements</edgelabel>
        </childnode>
      </node>
    </collaborationgraph>
    <location file="/tmp/pkg/src/argagg-0.4.7/include/argagg/argagg.hpp" line="636" column="1" bodyfile="/tmp/pkg/src/argagg-0.4.7/include/argagg/argagg.hpp" bodystart="636" bodyend="665"/>
    <listofallmembers>
      <member refid="structargagg_1_1parser_1a4f434651f34fad5c205c0159c24f7573" prot="public" virt="non-virtual"><scope>argagg::parser</scope><name>definitions</name></member>
      <member refid="structargagg_1_1parser_1a4f85341056c6f30e02c58b0c9b33dedb" prot="public" virt="non-virtual"><scope>argagg::parser</scope><name>parse</name></member>
      <member refid="structargagg_1_1parser_1a2b9d95a4e53822516179cc515017f9a0" prot="public" virt="non-virtual"><scope>argagg::parser</scope><name>parse</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
