<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
<link rel="stylesheet" href="./robodoc.css" type="text/css" />
<title>./src/cargv.ads</title>
<!-- Source: ./src/cargv.ads -->
<!-- Generated with ROBODoc Version 4.99.43 (Feb  8 2020) -->
</head>
<body>
<div id="logo">
<a name="robo_top_of_doc">TASHY v8.6.12 code documentation</a>
</div> <!-- logo -->
<div id="navigation">
<a class="menuitem" href="./toc_index.html#top">Table of Contents</a>
<a class="menuitem" href="./sources.html#top">Source files</a>
<a class="menuitem" href="./index.html#top">Index</a>
<a class="menuitem" href="./robo_subprograms.html#top">Subprograms</a>
<a class="menuitem" href="./robo_packages.html#top">Packages</a>
<a class="menuitem" href="./robo_types.html#top">Types</a>
</div> <!-- navigation -->
<div id="content">
<h3>TABLE OF CONTENTS</h3>
<ul>
<li>1. <a href="#robo8">Tashy/CArgv</a></li>
<ul>
<li>1.1. <a href="#robo75">CArgv/CArgv.Chars_Ptr_Ptr</a></li>
<li>1.2. <a href="#robo76">CArgv/CArgv.CNatural</a></li>
<li>1.3. <a href="#robo77">CArgv/CArgv.Vector</a></li>
<li>1.4. <a href="#robo189">CArgv/CArgv."&amp;"</a></li>
<li>1.5. <a href="#robo190">CArgv/CArgv.Arg</a></li>
<li>1.6. <a href="#robo191">CArgv/CArgv.Argc</a></li>
<li>1.7. <a href="#robo192">CArgv/CArgv.Arguments_To_Array</a></li>
<li>1.8. <a href="#robo193">CArgv/CArgv.Create</a></li>
<li>1.9. <a href="#robo194">CArgv/CArgv.Empty</a></li>
<li>1.10. <a href="#robo195">CArgv/CArgv.Free</a></li>
<li>1.11. <a href="#robo196">CArgv/CArgv.Show</a></li>
</ul>
</ul>
<hr />
<a name="Tashy2fCArgv"></a>
<a name="robo8"></a><h2>Tashy/CArgv [ Packages ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./robo_packages.html#robo_top_of_doc">Packages</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre>  This package provides the data type Chars_Ptr_Ptr which corresponds
  to the char** of C and subprograms for creating and manipulating
  arrays of C strings.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source"><span class="keyword">package</span> <strong>CArgv</strong> <span class="keyword">is</span>
</pre>

<hr />
<a name="CArgv2fCArgv2eChars5fPtr5fPtr"></a>
<a name="robo75"></a><h2>CArgv/CArgv.Chars_Ptr_Ptr [ Types ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo8">CArgv</a> ] [ <a href="./robo_types.html#robo_top_of_doc">Types</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> This is C char **
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">subtype</span> Chars_Ptr_Ptr <span class="keyword">is</span> Argv_Pointer<span class="sign">.</span>Pointer<span class="sign">;</span>
</pre>

<hr />
<a name="CArgv2fCArgv2eCNatural"></a>
<a name="robo76"></a><h2>CArgv/CArgv.CNatural [ Types ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo8">CArgv</a> ] [ <a href="./robo_types.html#robo_top_of_doc">Types</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Used as natural integer type in C bindings
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">subtype</span> CNatural <span class="keyword">is</span> C<span class="sign">.</span>int <span class="keyword">range</span> 0 <span class="sign">.</span><span class="sign">.</span> C<span class="sign">.</span>int<span class="keyword">'Last</span><span class="sign">;</span>
</pre>

<hr />
<a name="CArgv2fCArgv2eVector"></a>
<a name="robo77"></a><h2>CArgv/CArgv.Vector [ Types ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo8">CArgv</a> ] [ <a href="./robo_types.html#robo_top_of_doc">Types</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> This is a C-style "argv" vector.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">type</span> Vector <span class="keyword">is</span> <span class="keyword">array</span><span class="sign">(</span>CNatural <span class="keyword">range</span> <span class="sign">&lt;</span><span class="sign">&gt;</span><span class="sign">)</span> <span class="keyword">of</span> <span class="keyword">aliased</span> C<span class="sign">.</span>Strings<span class="sign">.</span>chars_ptr<span class="sign">;</span>
</pre>

<hr />
<a name="CArgv2fCArgv2e222622"></a>
<a name="robo189"></a><h2>CArgv/CArgv."&amp;" [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo8">CArgv</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Construct a Chars_Ptr_Ptr using concat operation.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">function</span> <span class="quote">"&amp<span class="sign">;</span>"</span><span class="sign">(</span>Argv<span class="sign">:</span> Chars_Ptr_Ptr<span class="sign">;</span> Arg<span class="sign">:</span> String<span class="sign">)</span> <span class="keyword">return</span> Chars_Ptr_Ptr<span class="sign">;</span>
</pre>

<hr />
<a name="CArgv2fCArgv2eArg"></a>
<a name="robo190"></a><h2>CArgv/CArgv.Arg [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo8">CArgv</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Returns the Nth argument from Argv.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">function</span> Arg<span class="sign">(</span>Argv<span class="sign">:</span> Chars_Ptr_Ptr<span class="sign">;</span> N<span class="sign">:</span> CNatural<span class="sign">)</span> <span class="keyword">return</span> String<span class="sign">;</span>
</pre>

<hr />
<a name="CArgv2fCArgv2eArgc"></a>
<a name="robo191"></a><h2>CArgv/CArgv.Argc [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo8">CArgv</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Returns the number of arguments in a Chars_Ptr_Ptr.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">function</span> Argc<span class="sign">(</span>Argv<span class="sign">:</span> <span class="keyword">in</span> Chars_Ptr_Ptr<span class="sign">)</span> <span class="keyword">return</span> CNatural<span class="sign">;</span>
</pre>

<hr />
<a name="CArgv2fCArgv2eArguments5fTo5fArray"></a>
<a name="robo192"></a><h2>CArgv/CArgv.Arguments_To_Array [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo8">CArgv</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Convert Arguments list to the array of Unbounded_Strings
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">function</span> Arguments_To_Array<span class="sign">(</span>Argv<span class="sign">:</span> Chars_Ptr_Ptr<span class="sign">)</span> <span class="keyword">return</span> Arguments_Array<span class="sign">;</span>
</pre>

<hr />
<a name="CArgv2fCArgv2eCreate"></a>
<a name="robo193"></a><h2>CArgv/CArgv.Create [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo8">CArgv</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Create returns the command line arguments from <a href="./tcl-ada_ads.html#robo11">Ada</a>.Command_Line
 and converts them to a C-style, null-terminated argument vector.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">procedure</span> Create<span class="sign">(</span>Argc<span class="sign">:</span> <span class="keyword">out</span> CNatural<span class="sign">;</span> Argv<span class="sign">:</span> <span class="keyword">out</span> Chars_Ptr_Ptr<span class="sign">)</span><span class="sign">;</span>
</pre>

<hr />
<a name="CArgv2fCArgv2eEmpty"></a>
<a name="robo194"></a><h2>CArgv/CArgv.Empty [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo8">CArgv</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> An empty Chars_Ptr_Ptr, used for constructors.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">function</span> Empty <span class="keyword">return</span> Chars_Ptr_Ptr<span class="sign">;</span>
</pre>

<hr />
<a name="CArgv2fCArgv2eFree"></a>
<a name="robo195"></a><h2>CArgv/CArgv.Free [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo8">CArgv</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Free all space used by Argv.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">procedure</span> Free<span class="sign">(</span>Argv<span class="sign">:</span> <span class="keyword">in</span> <span class="keyword">out</span> Chars_Ptr_Ptr<span class="sign">)</span><span class="sign">;</span>
</pre>

<hr />
<a name="CArgv2fCArgv2eShow"></a>
<a name="robo196"></a><h2>CArgv/CArgv.Show [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo8">CArgv</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Prints Argc and Argv to standard out.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">procedure</span> Show<span class="sign">(</span>Argc<span class="sign">:</span> <span class="keyword">in</span> CNatural<span class="sign">;</span> Argv<span class="sign">:</span> <span class="keyword">in</span> Chars_Ptr_Ptr<span class="sign">)</span><span class="sign">;</span>
</pre>

</div> <!-- content -->
<div id="footer">
<p>Generated from ./src/cargv.ads with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.43 on Wed Sep 08 2021 07:13:11
</p>
</div> <!-- footer -->
</body>
</html>

