mirror of
https://github.com/marzer/tomlplusplus.git
synced 2026-02-20 15:22:13 +00:00
1442 lines
128 KiB
HTML
1442 lines
128 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en"><head>
|
|
<meta charset="utf-8"/>
|
|
<title>toml::array class | toml++ TOML for modern C++</title>
|
|
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" rel="stylesheet"/>
|
|
<link href="m-dark+documentation.compiled.css" rel="stylesheet"/>
|
|
<link href="favicon.ico" rel="icon" type="image/vnd.microsoft.icon"/>
|
|
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
|
|
<meta content="#22272e" name="theme-color"/>
|
|
|
|
<meta content="gbtcNgKlNiPSMKkYMw4zWFVWGPH_oU93m9n_-nb4qK8" name="google-site-verification"/>
|
|
|
|
<meta content="TOML
|
|
for
|
|
modern
|
|
C++" name="description"/>
|
|
|
|
<link href="poxy.css" rel="stylesheet"/>
|
|
|
|
<script src="jquery-3.6.0.slim.min.js"></script>
|
|
|
|
<script src="poxy.js"></script>
|
|
</head>
|
|
<body>
|
|
<header><nav id="navigation">
|
|
<div class="m-container">
|
|
<div class="m-row">
|
|
<a class="m-col-t-8 m-col-m-none m-left-m" href="index.html" id="m-navbar-brand"><img alt="" src="logo.png"/>toml++ <span class="m-thin">TOML for modern C++</span></a>
|
|
<div class="m-col-t-4 m-hide-m m-text-right m-nopadr">
|
|
<a class="m-doc-search-icon" href="#search" onclick="return showSearch()" title="Search"><svg style="height: 0.9rem;" viewBox="0 0 16 16">
|
|
<path d="m6 0c-3.31 0-6 2.69-6 6 0 3.31 2.69 6 6 6 1.49 0 2.85-0.541 3.89-1.44-0.0164 0.338 0.147 0.759 0.5 1.15l3.22 3.79c0.552 0.614 1.45 0.665 2 0.115 0.55-0.55 0.499-1.45-0.115-2l-3.79-3.22c-0.392-0.353-0.812-0.515-1.15-0.5 0.895-1.05 1.44-2.41 1.44-3.89 0-3.31-2.69-6-6-6zm0 1.56a4.44 4.44 0 0 1 4.44 4.44 4.44 4.44 0 0 1-4.44 4.44 4.44 4.44 0 0 1-4.44-4.44 4.44 4.44 0 0 1 4.44-4.44z" id="m-doc-search-icon-path"></path>
|
|
</svg></a>
|
|
<a href="#navigation" id="m-navbar-show" title="Show navigation"></a>
|
|
<a href="#" id="m-navbar-hide" title="Hide navigation"></a>
|
|
</div>
|
|
<div class="m-col-t-12 m-show-m m-col-m-none m-right-m" id="m-navbar-collapse">
|
|
<div class="m-row">
|
|
<ol class="m-col-t-6 m-col-m-none">
|
|
<li><a href="namespaces.html">Namespaces</a></li>
|
|
<li><a href="annotated.html">Classes</a></li>
|
|
</ol>
|
|
<ol class="m-col-t-6 m-col-m-none" start="3">
|
|
<li><a class="github poxy-external" href="https://github.com/marzer/tomlplusplus/" target="_blank">Github</a></li>
|
|
<li class="m-show-m"><a class="m-doc-search-icon" href="#search" onclick="return showSearch()" title="Search"><svg style="height: 0.9rem;" viewBox="0 0 16 16">
|
|
<use href="#m-doc-search-icon-path"></use>
|
|
</svg></a></li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav></header>
|
|
<main><article>
|
|
<div class="m-container m-container-inflatable">
|
|
<div class="m-row">
|
|
<div class="m-col-l-10 m-push-l-1">
|
|
<h1>
|
|
<span class="m-breadcrumb"><a href="namespacetoml.html">toml</a>::<wbr/></span>array <span class="m-thin">class</span> <span class="m-label m-flat m-warning">final</span>
|
|
</h1>
|
|
<p>A TOML array.</p>
|
|
<div class="m-block m-default">
|
|
<h3>Contents</h3>
|
|
<ul>
|
|
<li>
|
|
Reference
|
|
<ul>
|
|
<li><a href="#base-classes">Base classes</a></li>
|
|
<li><a href="#pub-types">Public types</a></li>
|
|
<li><a href="#typeless-methods">Constructors, destructors, conversion operators</a></li>
|
|
<li><a href="#pub-methods">Public functions</a></li>
|
|
<li><a href="#array-operations">Array operations</a></li>
|
|
<li><a href="#equality">Equality</a></li>
|
|
<li><a href="#metadata">Metadata</a></li>
|
|
<li><a href="#node-views">Node views</a></li>
|
|
<li><a href="#type-casts">Type casts</a></li>
|
|
<li><a href="#type-checks">Type checks</a></li>
|
|
<li><a href="#value-retrieval">Value retrieval</a></li>
|
|
<li><a href="#visitation">Visitation</a></li>
|
|
<li><a href="#friends">Friends</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<p>The interface of this type is modeled after <a class="m-doc-external poxy-external" href="http://en.cppreference.com/w/cpp/container/vector.html" target="_blank">std::<wbr/>vector</a>, with some additional considerations made for the heterogeneous nature of a TOML array.</p><pre class="m-code"><p class="m-note m-success godbolt"><a class="poxy-external godbolt" href="https://godbolt.org/z/sjK4da" target="_blank">Try this code on Compiler Explorer</a></p><span class="ns">toml</span><span class="o">::</span><span class="ut">table</span> <span class="n">tbl</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="n">parse</span><span class="p">(</span><span class="sa">R</span><span class="s">"</span><span class="dl">(</span>
|
|
<span class="s"> arr = [1, 2, 3, 4, 'five']</span>
|
|
<span class="dl">)</span><span class="s">"</span><span class="sa">sv</span><span class="p">);</span>
|
|
|
|
<span class="c1">// get the element as an array</span>
|
|
<span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="o">&</span> <span class="n">arr</span> <span class="o">=</span> <span class="o">*</span><span class="n">tbl</span><span class="p">.</span><span class="n">get_as</span><span class="o"><</span><span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="o">></span><span class="p">(</span><span class="s">"arr"</span><span class="p">);</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
|
|
<span class="c1">// increment each element with visit()</span>
|
|
<span class="k">for</span> <span class="p">(</span><span class="k">auto</span><span class="o">&&</span> <span class="nl">elem</span> <span class="p">:</span> <span class="n">arr</span><span class="p">)</span>
|
|
<span class="p">{</span>
|
|
<span class="n">elem</span><span class="p">.</span><span class="n">visit</span><span class="p">([](</span><span class="k">auto</span><span class="o">&&</span> <span class="n">el</span><span class="p">)</span> <span class="k">noexcept</span>
|
|
<span class="p">{</span>
|
|
<span class="k">if</span> <span class="k">constexpr</span> <span class="p">(</span><span class="ns">toml</span><span class="o">::</span><span class="n">is_number</span><span class="o"><</span><span class="k">decltype</span><span class="p">(</span><span class="n">el</span><span class="p">)</span><span class="o">></span><span class="p">)</span>
|
|
<span class="p">(</span><span class="o">*</span><span class="n">el</span><span class="p">)</span><span class="o">++</span><span class="p">;</span>
|
|
<span class="k">else</span> <span class="k">if</span> <span class="k">constexpr</span> <span class="p">(</span><span class="ns">toml</span><span class="o">::</span><span class="n">is_string</span><span class="o"><</span><span class="k">decltype</span><span class="p">(</span><span class="n">el</span><span class="p">)</span><span class="o">></span><span class="p">)</span>
|
|
<span class="n">el</span> <span class="o">=</span> <span class="s">"six"</span><span class="sa">sv</span><span class="p">;</span>
|
|
<span class="p">});</span>
|
|
<span class="p">}</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
|
|
<span class="c1">// add and remove elements</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="mi">7</span><span class="p">);</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="mf">8.0f</span><span class="p">);</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="s">"nine"</span><span class="sa">sv</span><span class="p">);</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">erase</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="n">cbegin</span><span class="p">());</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
|
|
<span class="c1">// emplace elements</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">emplace_back</span><span class="o"><</span><span class="ns">std</span><span class="o">::</span><span class="ut">string</span><span class="o">></span><span class="p">(</span><span class="s">"ten"</span><span class="p">);</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">emplace_back</span><span class="o"><</span><span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="o">></span><span class="p">(</span><span class="mi">11</span><span class="p">,</span> <span class="mf">12.0</span><span class="p">);</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">[ 1, 2, 3, 4, 'five' ]</span>
|
|
<span class="go">[ 2, 3, 4, 5, 'six' ]</span>
|
|
<span class="go">[ 3, 4, 5, 'six', 7, 8.0, 'nine' ]</span>
|
|
<span class="go">[ 3, 4, 5, 'six', 7, 8.0, 'nine', 'ten', [ 11, 12.0 ] ]</span></pre>
|
|
<section id="base-classes">
|
|
<h2><a href="#base-classes">Base classes</a></h2>
|
|
<dl class="m-doc">
|
|
<dt>
|
|
class <a class="m-doc" href="classtoml_1_1node.html">node</a>
|
|
</dt>
|
|
<dd>A TOML node.</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="pub-types">
|
|
<h2><a href="#pub-types">Public types</a></h2>
|
|
<dl class="m-doc">
|
|
<dt id="adfd38318d3390a76f073a83fd2f2aa21">
|
|
using <a class="m-doc-self" href="#adfd38318d3390a76f073a83fd2f2aa21">const_iterator</a> = <a class="m-doc" href="namespacetoml.html#acc99ae392186dc605aeb233d26f07013">const_<wbr/>array_<wbr/>iterator</a>
|
|
</dt>
|
|
<dd>A <a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/named_req/RandomAccessIterator" target="_blank">RandomAccessIterator</a> for iterating over const elements in a <a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a>.</dd>
|
|
<dt id="a62a18471ca7c5b06204d2e26c963f833">
|
|
using <a class="m-doc-self" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a> = <a class="m-doc" href="namespacetoml.html#a2b0930b7b75df6f189d9815c000bef8b">array_<wbr/>iterator</a>
|
|
</dt>
|
|
<dd>A <a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/named_req/RandomAccessIterator" target="_blank">RandomAccessIterator</a> for iterating over elements in a <a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a>.</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="typeless-methods">
|
|
<h2><a href="#typeless-methods">Constructors, destructors, conversion operators</a></h2>
|
|
<dl class="m-doc">
|
|
<dt id="a29fc707cf66a79f3c3d93dadbe3b2719">
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a29fc707cf66a79f3c3d93dadbe3b2719">array</a>(</span><span class="m-doc-wrap">) <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Default constructor.</dd>
|
|
<dt id="a5883d7e1a7b9c9ba2b87fb8043ddb0d9">
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a5883d7e1a7b9c9ba2b87fb8043ddb0d9">array</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1array.html">array</a>&) <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Copy constructor.</dd>
|
|
<dt id="ac552a63c329598d671e6531b0cef957b">
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#ac552a63c329598d671e6531b0cef957b">array</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html">array</a>&& other) <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Move constructor.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename ElemType, typename... ElemTypes, typename = <a class="m-doc-external poxy-external" href="http://en.cppreference.com/w/cpp/types/enable_if.html" target="_blank">std::<wbr/>enable_if_t</a>< (sizeof...(ElemTypes)> 0_sz) || !<a class="m-doc-external poxy-external" href="http://en.cppreference.com/w/cpp/types/is_same.html" target="_blank">std::<wbr/>is_same_v</a><impl::remove_cvref_t<ElemType>, <a class="m-doc" href="classtoml_1_1array.html">array</a>> >></div>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="#a8484f098f8bb1a7dd8426ec99f4bb807">array</a>(</span><span class="m-doc-wrap">ElemType&& val,
|
|
ElemTypes && ... vals) <span class="m-label m-flat m-info">explicit</span> </span>
|
|
</dt>
|
|
<dd>Constructs an array with one or more initial elements.</dd>
|
|
<dt id="ace30b5dcdbcb8ff7da2c49f7e55bdfaa">
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#ace30b5dcdbcb8ff7da2c49f7e55bdfaa">~array</a>(</span><span class="m-doc-wrap">) <span class="m-label m-flat m-warning">override</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Destructor.</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="pub-methods">
|
|
<h2><a href="#pub-methods">Public functions</a></h2>
|
|
<dl class="m-doc">
|
|
<dt id="af9bf16bc9e21887dc1447651f6fbaba7">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#af9bf16bc9e21887dc1447651f6fbaba7">operator=</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1array.html">array</a>&) -> <a class="m-doc" href="classtoml_1_1array.html">array</a>& <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Copy-assignment operator.</dd>
|
|
<dt id="a7e5e45777e08941abb2069a5991e1f31">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a7e5e45777e08941abb2069a5991e1f31">operator=</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html">array</a>&& rhs) -> <a class="m-doc" href="classtoml_1_1array.html">array</a>& <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Move-assignment operator.</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="array-operations">
|
|
<h2><a href="#array-operations">Array operations</a></h2>
|
|
<dl class="m-doc">
|
|
<dt id="a4c58dea5e8795e4b9f8df4f1e1473204">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a4c58dea5e8795e4b9f8df4f1e1473204">back</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1node.html">node</a>& <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a reference to the last element in the array.</dd>
|
|
<dt id="ac7652c1ab60af2ca1c7d52f0658639b4">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ac7652c1ab60af2ca1c7d52f0658639b4">back</a>(</span><span class="m-doc-wrap">) const -> const <a class="m-doc" href="classtoml_1_1node.html">node</a>& <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a reference to the last element in the array.</dd>
|
|
<dt id="a8ee8179ddf1cb44fdf0b8d0700f55c2f">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a8ee8179ddf1cb44fdf0b8d0700f55c2f">begin</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns an iterator to the first element.</dd>
|
|
<dt id="a7cff1526a6d1f6157e0eab231b4757aa">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a7cff1526a6d1f6157e0eab231b4757aa">begin</a>(</span><span class="m-doc-wrap">) const -> <a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns an iterator to the first element.</dd>
|
|
<dt id="a02b773a1ff337692e78da429030c1610">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a02b773a1ff337692e78da429030c1610">capacity</a>(</span><span class="m-doc-wrap">) const -> <a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns the current max number of elements that may be held in the array's internal storage.</dd>
|
|
<dt id="a56d1cba006dccc5ad9982b58a8b2ddc1">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a56d1cba006dccc5ad9982b58a8b2ddc1">cbegin</a>(</span><span class="m-doc-wrap">) const -> <a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns an iterator to the first element.</dd>
|
|
<dt id="a50e6b032805760f3930e02923d9a84b0">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a50e6b032805760f3930e02923d9a84b0">cend</a>(</span><span class="m-doc-wrap">) const -> <a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns an iterator to one-past-the-last element.</dd>
|
|
<dt id="adaa65bf63f29f898c27423306c165d68">
|
|
<span class="m-doc-wrap-bumper">void <a class="m-doc-self" href="#adaa65bf63f29f898c27423306c165d68">clear</a>(</span><span class="m-doc-wrap">) <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Removes all elements from the array.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename ElemType, typename... Args></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a5b87d1345eccbb1b9406092e72fa0c38">emplace</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
|
Args && ... args) -> <a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Emplaces a new element at a specific position in the array.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename ElemType, typename... Args></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#af82fb4fec1f33c323123fab0ec4a74ac">emplace_back</a>(</span><span class="m-doc-wrap">Args && ... args) -> decltype(auto) <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Emplaces a new element at the end of the array.</dd>
|
|
<dt id="a5d527ea6bfddad1025e90e4363c822cc">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a5d527ea6bfddad1025e90e4363c822cc">empty</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if the array is empty.</dd>
|
|
<dt id="adaf908b0cc3e8bcb1ee9ec9ec706d223">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#adaf908b0cc3e8bcb1ee9ec9ec706d223">end</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns an iterator to one-past-the-last element.</dd>
|
|
<dt id="a778b5b807ff7329f7de10237d73f29c2">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a778b5b807ff7329f7de10237d73f29c2">end</a>(</span><span class="m-doc-wrap">) const -> <a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns an iterator to one-past-the-last element.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a22389a9ed9444fe52be10c4acbdec908">erase</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos) -> <a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Removes the specified element from the array.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a723388860d72c9a162137d0293366fb2">erase</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> first,
|
|
<a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> last) -> <a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Removes the elements in the range [first, last) from the array.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#aa2a21958705629bde15aafae9598a2ec">flatten</a>(</span><span class="m-doc-wrap">) & -> <a class="m-doc" href="classtoml_1_1array.html">array</a>&</span>
|
|
</dt>
|
|
<dd>Flattens this array, recursively hoisting the contents of child arrays up into itself.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#ad307bea17e7640c57715d67ab8a777d4">flatten</a>(</span><span class="m-doc-wrap">) && -> <a class="m-doc" href="classtoml_1_1array.html">array</a>&&</span>
|
|
</dt>
|
|
<dd>Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).</dd>
|
|
<dt id="a9c78848129a2a703c154e7cbe1a973d3">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a9c78848129a2a703c154e7cbe1a973d3">front</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1node.html">node</a>& <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a reference to the first element in the array.</dd>
|
|
<dt id="a5ba3af18c63546da6f9d2ac3b5b77f64">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a5ba3af18c63546da6f9d2ac3b5b77f64">front</a>(</span><span class="m-doc-wrap">) const -> const <a class="m-doc" href="classtoml_1_1node.html">node</a>& <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a reference to the first element in the array.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a10664e00054ea4021fec5144b69b8792">get</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> index) -> <a class="m-doc" href="classtoml_1_1node.html">node</a>* <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets the element at a specific index.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a44db509dce6b7b77e563c822a5936abe">get</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> index) const -> const <a class="m-doc" href="classtoml_1_1node.html">node</a>* <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets the element at a specific index (const overload).</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename ElemType></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a5c2f4624498cba9e1e467b0eb2e9046e">get_as</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> index) -> impl::wrap_node<ElemType>* <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets the element at a specific index if it is a particular type.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename ElemType></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#ae47ca1cc4c61e94fed30aea72ca8d268">get_as</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> index) const -> const impl::wrap_node<ElemType>* <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets the element at a specific index if it is a particular type (const overload).</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename ElemType></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#ab44c0e3568a683bc6d53c8f5b11abb88">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
|
ElemType&& val) -> <a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Inserts a new element at a specific position in the array.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename ElemType></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#aa454d276f2935b1e2b5c2caec9bc2a0d">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
|
<a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> count,
|
|
ElemType&& val) -> <a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Repeatedly inserts a new element starting at a specific position in the array.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename Iter></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a311fed9b54b87daab0646fbc1818170b">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
|
Iter first,
|
|
Iter last) -> <a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Inserts a range of elements into the array at a specific position.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename ElemType></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a87500f1ea51f3b42dadc686a3e128fea">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
|
<a class="m-doc-external poxy-external" href="http://en.cppreference.com/w/cpp/utility/initializer_list.html" target="_blank">std::<wbr/>initializer_list</a><ElemType> ilist) -> <a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Inserts a range of elements into the array at a specific position.</dd>
|
|
<dt id="ae65a76add6d756fc7ba8f12a5aad983c">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ae65a76add6d756fc7ba8f12a5aad983c">max_size</a>(</span><span class="m-doc-wrap">) const -> <a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns the maximum number of elements that can be stored in an array on the current platform.</dd>
|
|
<dt id="a853bad0297ca4dcee57c97da2fe318e7">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a853bad0297ca4dcee57c97da2fe318e7">operator[]</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> index) -> <a class="m-doc" href="classtoml_1_1node.html">node</a>& <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets a reference to the element at a specific index.</dd>
|
|
<dt id="ae9f72a1b877f2ac66327a152d55aa9c6">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ae9f72a1b877f2ac66327a152d55aa9c6">operator[]</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> index) const -> const <a class="m-doc" href="classtoml_1_1node.html">node</a>& <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets a reference to the element at a specific index.</dd>
|
|
<dt id="af99d72e29cef84f736d91d627b47a1dc">
|
|
<span class="m-doc-wrap-bumper">void <a class="m-doc-self" href="#af99d72e29cef84f736d91d627b47a1dc">pop_back</a>(</span><span class="m-doc-wrap">) <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Removes the last element from the array.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename ElemType></div>
|
|
<span class="m-doc-wrap-bumper">void <a class="m-doc" href="#a2b3315295340dc76b69ce916d31fec35">push_back</a>(</span><span class="m-doc-wrap">ElemType&& val) <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Appends a new element to the end of the array.</dd>
|
|
<dt id="a1ba073adc52c3df5ad29cfd7e5daa1d5">
|
|
<span class="m-doc-wrap-bumper">void <a class="m-doc-self" href="#a1ba073adc52c3df5ad29cfd7e5daa1d5">reserve</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> new_capacity)</span>
|
|
</dt>
|
|
<dd>Reserves internal storage capacity up to a pre-determined number of elements.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename ElemType></div>
|
|
<span class="m-doc-wrap-bumper">void <a class="m-doc" href="#a8694e01e9b0b1c5b9152518137d5b971">resize</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> new_size,
|
|
ElemType&& default_init_val) <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Resizes the array.</dd>
|
|
<dt id="a718c2031ead428aa52912741f6d094aa">
|
|
<span class="m-doc-wrap-bumper">void <a class="m-doc-self" href="#a718c2031ead428aa52912741f6d094aa">shrink_to_fit</a>(</span><span class="m-doc-wrap">)</span>
|
|
</dt>
|
|
<dd>Requests the removal of any unused internal storage capacity.</dd>
|
|
<dt id="af81d7b6a1257ad766a47d9276855a7c9">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#af81d7b6a1257ad766a47d9276855a7c9">size</a>(</span><span class="m-doc-wrap">) const -> <a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns the number of elements in the array.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">void <a class="m-doc" href="#a6e3ac9962c706a88c1001ff83a4084f3">truncate</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> new_size)</span>
|
|
</dt>
|
|
<dd>Shrinks the array to the given size.</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="equality">
|
|
<h2><a href="#equality">Equality</a></h2>
|
|
<dl class="m-doc">
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#af06c7437a0946a9d5e093d903b59f6a4">operator!=</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1array.html">array</a>& lhs,
|
|
const <a class="m-doc" href="classtoml_1_1array.html">array</a>& rhs) -> bool <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Inequality operator.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a06cf25e3f80c98d88e041ef9823976c0">operator==</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1array.html">array</a>& lhs,
|
|
const <a class="m-doc" href="classtoml_1_1array.html">array</a>& rhs) -> bool <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Equality operator.</dd>
|
|
<dt id="ab87e435c5a41140e60cd2e703df96fbd">
|
|
<div class="m-doc-template">template<typename T></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ab87e435c5a41140e60cd2e703df96fbd">operator==</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1array.html">array</a>& lhs,
|
|
const <a class="m-doc-external poxy-external" href="http://en.cppreference.com/w/cpp/utility/initializer_list.html" target="_blank">std::<wbr/>initializer_list</a><T>& rhs) -> bool <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Initializer list equality operator.</dd>
|
|
<dt id="a5b3c615e4ba8fd780b966f175070b554">
|
|
<div class="m-doc-template">template<typename T></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a5b3c615e4ba8fd780b966f175070b554">operator==</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1array.html">array</a>& lhs,
|
|
const <a class="m-doc-external poxy-external" href="http://en.cppreference.com/w/cpp/container/vector.html" target="_blank">std::<wbr/>vector</a><T>& rhs) -> bool <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Vector equality operator.</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="metadata">
|
|
<h2><a href="#metadata">Metadata</a></h2>
|
|
<dl class="m-doc">
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#aa378fa343dab7d7bdb4073570dba5fdc">source</a>(</span><span class="m-doc-wrap">) const -> const <a class="m-doc" href="structtoml_1_1source__region.html">source_<wbr/>region</a>& <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns the <a class="m-doc poxy-injected" href="structtoml_1_1source__region.html">source region</a> responsible for generating this node during parsing.</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="node-views">
|
|
<h2><a href="#node-views">Node views</a></h2>
|
|
<dl class="m-doc">
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1node.html#ac7d6979c7246d7faee8ca48aadfcee68">operator node_view<const node></a>(</span><span class="m-doc-wrap">) const <span class="m-label m-flat m-info">explicit</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Creates a <a class="m-doc" href="classtoml_1_1node__view.html">node_<wbr/>view</a> pointing to this node (const overload).</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1node.html#a04d800d6ec9342d2ee2a364f05317573">operator node_view<node></a>(</span><span class="m-doc-wrap">) <span class="m-label m-flat m-info">explicit</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Creates a <a class="m-doc" href="classtoml_1_1node__view.html">node_<wbr/>view</a> pointing to this node.</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="type-casts">
|
|
<h2><a href="#type-casts">Type casts</a></h2>
|
|
<dl class="m-doc">
|
|
<dt>
|
|
<div class="m-doc-template">template<typename T></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#aa818a12fc0212e5e416b38fcf103f899">as</a>(</span><span class="m-doc-wrap">) -> impl::wrap_node<T>* <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets a pointer to the node as a more specific node type.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename T></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a21d7481eabdf0eaedb91ddeefa950cc1">as</a>(</span><span class="m-doc-wrap">) const -> const impl::wrap_node<T>* <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets a pointer to the node as a more specific node type (const overload).</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a40031abf671512f9fdcd31666ce481fd">as_boolean</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a><bool>* <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a pointer to the node as a toml::value<bool>, if it is one.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a35ec7bd4efab69906d7874df736cdaaf">as_date</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a><<a class="m-doc" href="structtoml_1_1date.html">date</a>>* <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a pointer to the node as a toml::value<date>, if it is one.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a68cc63dfd8e435b00c7c99da298d6733">as_date_time</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a><<a class="m-doc" href="structtoml_1_1date__time.html">date_<wbr/>time</a>>* <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a pointer to the node as a toml::value<date_time>, if it is one.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a480ae95e180992d152ad80e3b52a330a">as_floating_point</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a><double>* <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a pointer to the node as a toml::value<double>, if it is one.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#ac507d02b3b744e0624c504614e91c9e5">as_integer</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a><<a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/integer" target="_blank">int64_t</a>>* <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a pointer to the node as a toml::value<<a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/integer" target="_blank">int64_t</a>>, if it is one.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#ab8f42ecf095260b1d97363949a98267b">as_string</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a><<a class="m-doc-external poxy-external" href="http://en.cppreference.com/w/cpp/string/basic_string.html" target="_blank">std::<wbr/>string</a>>* <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a pointer to the node as a toml::value<string>, if it is one.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#aa696716239e7434145103173e880fb80">as_table</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1table.html">table</a>* <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a pointer to the node as a <a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a>, if it is one.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#aeb23a8054899c4b0d57e10c4a3dcadf0">as_time</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a><<a class="m-doc" href="structtoml_1_1time.html">time</a>>* <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a pointer to the node as a toml::value<time>, if it is one.</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="type-checks">
|
|
<h2><a href="#type-checks">Type checks</a></h2>
|
|
<dl class="m-doc">
|
|
<dt id="a92874b0f5a195ffc699dde0a5a25f118">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a92874b0f5a195ffc699dde0a5a25f118">as_array</a>(</span><span class="m-doc-wrap">) -> <a class="m-doc" href="classtoml_1_1array.html">array</a>* <span class="m-label m-flat m-warning">override</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns a pointer to the node as a <a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a>, if it is one.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename T></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a03e1bbe1a0640953b7105fe40c733118">is</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Checks if a node is a specific type.</dd>
|
|
<dt id="a17362a39f6ec6f14ce59f8a8ed2b88cf">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a17362a39f6ec6f14ce59f8a8ed2b88cf">is_array</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-warning">override</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if this node is an array.</dd>
|
|
<dt id="ab8e15c4067237ab3192ab8f412bee0f6">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ab8e15c4067237ab3192ab8f412bee0f6">is_array_of_tables</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-warning">override</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if this node is an array containing only tables.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a47ca3bd6392029a065f13c029b2db0b2">is_boolean</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if this node is a boolean value.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a6e6060cb1233b87d7b57a2a203891d2a">is_date</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if this node is a local date value.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a9115204bee51ac6ef962dd9d47bf1b7e">is_date_time</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if this node is a date-time value.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a3ea1296a95c43125119a6fe26af5b014">is_floating_point</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if this node is an floating-point value.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a628574d1e47440545019a3467be64fdc">is_homogeneous</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="namespacetoml.html#abac3e84bbf1f2c90717fca107055f48d">node_<wbr/>type</a> ntype) const -> bool <span class="m-label m-flat m-warning">override</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Checks if the node contains values/elements of only one type.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#abff1c5e9bf3afb04ff16c15522aa55c4">is_homogeneous</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="namespacetoml.html#abac3e84bbf1f2c90717fca107055f48d">node_<wbr/>type</a> ntype,
|
|
<a class="m-doc" href="classtoml_1_1node.html">node</a>*& first_nonmatch) -> bool <span class="m-label m-flat m-warning">override</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Checks if a node contains values/elements of only one type.</dd>
|
|
<dt id="aa3f96a375f73b5378d06894ab40af641">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#aa3f96a375f73b5378d06894ab40af641">is_homogeneous</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="namespacetoml.html#abac3e84bbf1f2c90717fca107055f48d">node_<wbr/>type</a> ntype,
|
|
const <a class="m-doc" href="classtoml_1_1node.html">node</a>*& first_nonmatch) const -> bool <span class="m-label m-flat m-warning">override</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Checks if a node contains values/elements of only one type (const overload).</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a5ecdb684288275ce1786281fbe1845cc">is_integer</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if this node is an integer value.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a1db6db67940c59bf0d6f7be184be3511">is_number</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if this node is an integer or floating-point value.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#aeff35977a4b13fe0fefb9a3b5917f98e">is_string</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if this node is a string value.</dd>
|
|
<dt id="a30764b48a4c5cb191b620b77df4c8b00">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a30764b48a4c5cb191b620b77df4c8b00">is_table</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-warning">override</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if this node is a table.</dd>
|
|
<dt>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a4a7663a4b15650cf833d5c833e313d9b">is_time</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-warning">virtual</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if this node is a local time value.</dd>
|
|
<dt id="a7a38831cec7e7215a6101ba40fc1ce11">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a7a38831cec7e7215a6101ba40fc1ce11">is_value</a>(</span><span class="m-doc-wrap">) const -> bool <span class="m-label m-flat m-warning">override</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns true if this node is a value.</dd>
|
|
<dt id="a10f914637ff56f5bc6f96b089fd141a3">
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a10f914637ff56f5bc6f96b089fd141a3">type</a>(</span><span class="m-doc-wrap">) const -> <a class="m-doc" href="namespacetoml.html#abac3e84bbf1f2c90717fca107055f48d">node_<wbr/>type</a> <span class="m-label m-flat m-warning">override</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Returns the node's type identifier.</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="value-retrieval">
|
|
<h2><a href="#value-retrieval">Value retrieval</a></h2>
|
|
<dl class="m-doc">
|
|
<dt>
|
|
<div class="m-doc-template">template<typename T></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a0f2b674e80b882b329513e7ec9aed842">ref</a>(</span><span class="m-doc-wrap">) & -> impl::unwrap_node<T>& <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets a raw reference to a value node's underlying data.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename T></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a292bce25bfe779dc51403e88f0cc4bcc">ref</a>(</span><span class="m-doc-wrap">) && -> impl::unwrap_node<T>&& <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets a raw reference to a value node's underlying data (rvalue overload).</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename T></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a378e94ebc00235eb4d1da68f81edd77f">ref</a>(</span><span class="m-doc-wrap">) const & -> const impl::unwrap_node<T>& <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets a raw reference to a value node's underlying data (const lvalue overload).</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename T></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a48098db842e6a202902e6c85326f71b4">value</a>(</span><span class="m-doc-wrap">) const -> <a class="m-doc" href="namespacetoml.html#af34a9fb3305e419784104609e6bbb7ac">optional</a><T> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets the value contained by this node.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename T></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#ac1417bb4313b2624e3ea270a487f153b">value_exact</a>(</span><span class="m-doc-wrap">) const -> <a class="m-doc" href="namespacetoml.html#af34a9fb3305e419784104609e6bbb7ac">optional</a><T> <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets the value contained by this node.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename T></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a423ddccc36345545615e20290c9a8a65">value_or</a>(</span><span class="m-doc-wrap">T&& default_value) const -> auto <span class="m-label m-flat m-success">noexcept</span></span>
|
|
</dt>
|
|
<dd>Gets the raw value contained by this node, or a default.</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="visitation">
|
|
<h2><a href="#visitation">Visitation</a></h2>
|
|
<dl class="m-doc">
|
|
<dt>
|
|
<div class="m-doc-template">template<typename Func></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#ad47390f3832260db7bf06cd282598240">visit</a>(</span><span class="m-doc-wrap">Func&& visitor) & -> decltype(auto) <span class="m-label m-flat m-success">noexcept(…)</span></span>
|
|
</dt>
|
|
<dd>Invokes a visitor on the node based on the node's concrete type.</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename Func></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a371a03c4b91cfbb8d9ee785c1eacf836">visit</a>(</span><span class="m-doc-wrap">Func&& visitor) && -> decltype(auto) <span class="m-label m-flat m-success">noexcept(…)</span></span>
|
|
</dt>
|
|
<dd>Invokes a visitor on the node based on the node's concrete type (rvalue overload).</dd>
|
|
<dt>
|
|
<div class="m-doc-template">template<typename Func></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#ad4a42e50f923b0fe1efff0a6719dab90">visit</a>(</span><span class="m-doc-wrap">Func&& visitor) const & -> decltype(auto) <span class="m-label m-flat m-success">noexcept(…)</span></span>
|
|
</dt>
|
|
<dd>Invokes a visitor on the node based on the node's concrete type (const lvalue overload).</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="friends">
|
|
<h2><a href="#friends">Friends</a></h2>
|
|
<dl class="m-doc">
|
|
<dt id="a8574290131ff09ae36a4535e2ac25261">
|
|
<div class="m-doc-template">template<typename Char></div>
|
|
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a8574290131ff09ae36a4535e2ac25261">operator<<</a>(</span><span class="m-doc-wrap"><a class="m-doc-external poxy-external" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html" target="_blank">std::<wbr/>basic_ostream</a><Char>&,
|
|
const <a class="m-doc" href="classtoml_1_1array.html">array</a>&) -> <a class="m-doc-external poxy-external" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html" target="_blank">std::<wbr/>basic_ostream</a><Char>&</span>
|
|
</dt>
|
|
<dd>Prints the array out to a stream as formatted TOML.</dd>
|
|
</dl>
|
|
</section>
|
|
<section>
|
|
<h2>Function documentation</h2>
|
|
<section class="m-doc-details" id="a8484f098f8bb1a7dd8426ec99f4bb807"><div>
|
|
<h3>
|
|
<div class="m-doc-template">
|
|
template<typename ElemType, typename... ElemTypes, typename = <a class="m-doc-external poxy-external" href="http://en.cppreference.com/w/cpp/types/enable_if.html" target="_blank">std::<wbr/>enable_if_t</a>< (sizeof...(ElemTypes)> 0_sz) || !<a class="m-doc-external poxy-external" href="http://en.cppreference.com/w/cpp/types/is_same.html" target="_blank">std::<wbr/>is_same_v</a><impl::remove_cvref_t<ElemType>, <a class="m-doc" href="classtoml_1_1array.html">array</a>> >>
|
|
</div>
|
|
<span class="m-doc-wrap-bumper"> toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a8484f098f8bb1a7dd8426ec99f4bb807">array</a>(</span><span class="m-doc-wrap">ElemType&& val,
|
|
ElemTypes && ... vals) <span class="m-label m-info">explicit</span> </span></span>
|
|
</h3>
|
|
<p>Constructs an array with one or more initial elements.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Template parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">ElemType</td>
|
|
<td>One of the TOML node or value types (or a type promotable to one).</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ElemTypes</td>
|
|
<td>One of the TOML node or value types (or a type promotable to one).</td>
|
|
</tr>
|
|
</tbody>
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>val</td>
|
|
<td>The node or value used to initialize element 0.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>vals</td>
|
|
<td>The nodes or values used to initialize elements 1...N.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">1</span><span class="p">,</span> <span class="mf">2.0</span><span class="p">,</span> <span class="s">"three"</span><span class="sa">sv</span><span class="p">,</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span> <span class="p">}</span> <span class="p">};</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">[ 1, 2.0, 'three', [ 4, 5 ] ]</span></pre><aside class="m-note m-default"><h4>Remark</h4><div><p>If you need to construct an array with one child array element, the array's move constructor will take precedence and perform a move-construction instead. You can use <a class="m-doc" href="structtoml_1_1inserter.html">toml::<wbr/>inserter</a> to suppress this behaviour:</p><pre class="m-code"><span class="c1">// desired result: [ [ 42 ] ]</span>
|
|
<span class="k">auto</span> <span class="n">bad</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">42</span> <span class="p">}</span> <span class="p">}</span>
|
|
<span class="k">auto</span> <span class="n">good</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">inserter</span><span class="p">{</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">42</span> <span class="p">}</span> <span class="p">}</span> <span class="p">}</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"bad: "</span> <span class="o"><<</span> <span class="n">bad</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"good:"</span> <span class="o"><<</span> <span class="n">good</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">bad: [ 42 ]</span>
|
|
<span class="go">good: [ [ 42 ] ]</span></pre></div></aside>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a5b87d1345eccbb1b9406092e72fa0c38"><div>
|
|
<h3>
|
|
<div class="m-doc-template">
|
|
template<typename ElemType, typename... Args>
|
|
</div>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a5b87d1345eccbb1b9406092e72fa0c38">emplace</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
|
Args && ... args) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Emplaces a new element at a specific position in the array.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Template parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">ElemType</td>
|
|
<td><a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a>, <a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a>, or any native TOML value type.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Args</td>
|
|
<td>Value constructor argument types.</td>
|
|
</tr>
|
|
</tbody>
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>pos</td>
|
|
<td>The insertion position.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>args</td>
|
|
<td>Arguments to forward to the value's constructor.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td>An iterator to the inserted element.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span> <span class="p">};</span>
|
|
|
|
<span class="c1">//add a string using <a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/string/basic_string" target="_blank">std::string</a>'s substring constructor</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">emplace</span><span class="o"><</span><span class="ns">std</span><span class="o">::</span><span class="ut">string</span><span class="o">></span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="n">cbegin</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="s">"this is not a drill"</span><span class="sa">sv</span><span class="p">,</span> <span class="mi">14</span><span class="p">,</span> <span class="mi">5</span><span class="p">);</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">[ 1, 'drill', 2 ]</span></pre><aside class="m-note m-default"><h4>Remark</h4><p>There is no difference between <a class="m-doc" href="classtoml_1_1array.html#ab44c0e3568a683bc6d53c8f5b11abb88">insert()</a> and <a class="m-doc" href="classtoml_1_1array.html#a5b87d1345eccbb1b9406092e72fa0c38">emplace()</a> for trivial value types (floats, ints, bools).</p></aside>
|
|
</div></section>
|
|
<section class="m-doc-details" id="af82fb4fec1f33c323123fab0ec4a74ac"><div>
|
|
<h3>
|
|
<div class="m-doc-template">
|
|
template<typename ElemType, typename... Args>
|
|
</div>
|
|
<span class="m-doc-wrap-bumper">decltype(auto) toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#af82fb4fec1f33c323123fab0ec4a74ac">emplace_back</a>(</span><span class="m-doc-wrap">Args && ... args) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Emplaces a new element at the end of the array.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Template parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">ElemType</td>
|
|
<td><a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a>, <a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a>, or a native TOML value type</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Args</td>
|
|
<td>Value constructor argument types.</td>
|
|
</tr>
|
|
</tbody>
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>args</td>
|
|
<td>Arguments to forward to the value's constructor.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td>A reference to the newly-constructed element.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span> <span class="p">};</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">emplace_back</span><span class="o"><</span><span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="o">></span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="s">"four"</span><span class="sa">sv</span><span class="p">);</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">[ 1, 2, [ 3, 'four' ] ]</span></pre><aside class="m-note m-default"><h4>Remark</h4><p>There is no difference between <a class="m-doc" href="classtoml_1_1array.html#a2b3315295340dc76b69ce916d31fec35">push_<wbr/>back()</a> and <a class="m-doc" href="classtoml_1_1array.html#af82fb4fec1f33c323123fab0ec4a74ac">emplace_<wbr/>back()</a> For trivial value types (floats, ints, bools).</p></aside>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a22389a9ed9444fe52be10c4acbdec908"><div>
|
|
<h3>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a22389a9ed9444fe52be10c4acbdec908">erase</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Removes the specified element from the array.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">pos</td>
|
|
<td>Iterator to the element being erased.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td>Iterator to the first element immediately following the removed element.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span> <span class="p">};</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">erase</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="n">cbegin</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">[ 1, 2, 3 ]</span>
|
|
<span class="go">[ 1, 3 ]</span></pre>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a723388860d72c9a162137d0293366fb2"><div>
|
|
<h3>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a723388860d72c9a162137d0293366fb2">erase</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> first,
|
|
<a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> last) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Removes the elements in the range [first, last) from the array.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">first</td>
|
|
<td>Iterator to the first element being erased.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>last</td>
|
|
<td>Iterator to the one-past-the-last element being erased.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td>Iterator to the first element immediately following the last removed element.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">1</span><span class="p">,</span> <span class="s">"bad"</span><span class="p">,</span> <span class="s">"karma"</span> <span class="mi">2</span> <span class="p">};</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">erase</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="n">cbegin</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">arr</span><span class="p">.</span><span class="n">cbegin</span><span class="p">()</span> <span class="o">+</span> <span class="mi">3</span><span class="p">);</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">[ 1, 'bad', 'karma', 3 ]</span>
|
|
<span class="go">[ 1, 3 ]</span></pre>
|
|
</div></section>
|
|
<section class="m-doc-details" id="aa2a21958705629bde15aafae9598a2ec"><div>
|
|
<h3>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html">array</a>& toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#aa2a21958705629bde15aafae9598a2ec">flatten</a>(</span><span class="m-doc-wrap">) &</span></span>
|
|
</h3>
|
|
<p>Flattens this array, recursively hoisting the contents of child arrays up into itself.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<tfoot>
|
|
<tr>
|
|
<th style="width: 1%">Returns</th>
|
|
<td>A reference to the array.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">5</span> <span class="p">}</span> <span class="p">},</span> <span class="mi">6</span><span class="p">,</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{}</span> <span class="p">};</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">flatten</span><span class="p">();</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">[ 1, 2, [ 3, 4, [ 5 ] ], 6, [] ]</span>
|
|
<span class="go">[ 1, 2, 3, 4, 5, 6 ]</span></pre><aside class="m-note m-default"><h4>Remark</h4><p>Arrays inside child tables are not flattened.</p></aside>
|
|
</div></section>
|
|
<section class="m-doc-details" id="ad307bea17e7640c57715d67ab8a777d4"><div>
|
|
<h3>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html">array</a>&& toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#ad307bea17e7640c57715d67ab8a777d4">flatten</a>(</span><span class="m-doc-wrap">) &&</span></span>
|
|
</h3>
|
|
<p>Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<tfoot>
|
|
<tr>
|
|
<th style="width: 1%">Returns</th>
|
|
<td>An rvalue reference to the array.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a10664e00054ea4021fec5144b69b8792"><div>
|
|
<h3>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1node.html">node</a>* toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a10664e00054ea4021fec5144b69b8792">get</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> index) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Gets the element at a specific index.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">index</td>
|
|
<td>The element's index.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td>A pointer to the element at the specified index if one existed, or nullptr.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">99</span><span class="p">,</span> <span class="s">"bottles of beer on the wall"</span> <span class="p">};</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"element [0] exists: "</span><span class="sa">sv</span> <span class="o"><<</span> <span class="o">!!</span><span class="n">arr</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"element [1] exists: "</span><span class="sa">sv</span> <span class="o"><<</span> <span class="o">!!</span><span class="n">arr</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"element [2] exists: "</span><span class="sa">sv</span> <span class="o"><<</span> <span class="o">!!</span><span class="n">arr</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
<span class="k">if</span> <span class="p">(</span><span class="ns">toml</span><span class="o">::</span><span class="ut">node</span><span class="o">*</span> <span class="n">val</span> <span class="o">=</span> <span class="n">arr</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="mi">0</span><span class="p">))</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"element [0] is an "</span><span class="sa">sv</span> <span class="o"><<</span> <span class="n">val</span><span class="o">-></span><span class="n">type</span><span class="p">()</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">element [0] exists: true</span>
|
|
<span class="go">element [1] exists: true</span>
|
|
<span class="go">element [2] exists: false</span>
|
|
<span class="go">element [0] is an integer</span></pre>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a44db509dce6b7b77e563c822a5936abe"><div>
|
|
<h3>
|
|
<span class="m-doc-wrap-bumper">const <a class="m-doc" href="classtoml_1_1node.html">node</a>* toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a44db509dce6b7b77e563c822a5936abe">get</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> index) const <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Gets the element at a specific index (const overload).</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">index</td>
|
|
<td>The element's index.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td>A pointer to the element at the specified index if one existed, or nullptr.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a5c2f4624498cba9e1e467b0eb2e9046e"><div>
|
|
<h3>
|
|
<div class="m-doc-template">
|
|
template<typename ElemType>
|
|
</div>
|
|
<span class="m-doc-wrap-bumper">impl::wrap_node<ElemType>* toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a5c2f4624498cba9e1e467b0eb2e9046e">get_as</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> index) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Gets the element at a specific index if it is a particular type.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Template parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">ElemType</td>
|
|
<td><a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a>, <a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a>, or a native TOML value type</td>
|
|
</tr>
|
|
</tbody>
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>index</td>
|
|
<td>The element's index.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td>A pointer to the selected element if it existed and was of the specified type, or nullptr.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">42</span><span class="p">,</span> <span class="s">"is the meaning of life, apparently."</span><span class="sa">sv</span> <span class="p">};</span>
|
|
<span class="k">if</span> <span class="p">(</span><span class="ns">toml</span><span class="o">::</span><span class="ut">value</span><span class="o"><</span><span class="ut"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/integer" target="_blank">int64_t</a></span><span class="o">>*</span> <span class="n">val</span> <span class="o">=</span> <span class="n">arr</span><span class="p">.</span><span class="n">get_as</span><span class="o"><</span><span class="ut"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/integer" target="_blank">int64_t</a></span><span class="o">></span><span class="p">(</span><span class="mi">0</span><span class="p">))</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"element [0] is an integer with value "</span><span class="sa">sv</span> <span class="o"><<</span> <span class="o">*</span><span class="n">val</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">element [0] is an integer with value 42</span></pre>
|
|
</div></section>
|
|
<section class="m-doc-details" id="ae47ca1cc4c61e94fed30aea72ca8d268"><div>
|
|
<h3>
|
|
<div class="m-doc-template">
|
|
template<typename ElemType>
|
|
</div>
|
|
<span class="m-doc-wrap-bumper">const impl::wrap_node<ElemType>* toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#ae47ca1cc4c61e94fed30aea72ca8d268">get_as</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> index) const <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Gets the element at a specific index if it is a particular type (const overload).</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Template parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">ElemType</td>
|
|
<td><a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a>, <a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a>, or a native TOML value type</td>
|
|
</tr>
|
|
</tbody>
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>index</td>
|
|
<td>The element's index.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td>A pointer to the selected element if it existed and was of the specified type, or nullptr.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div></section>
|
|
<section class="m-doc-details" id="ab44c0e3568a683bc6d53c8f5b11abb88"><div>
|
|
<h3>
|
|
<div class="m-doc-template">
|
|
template<typename ElemType>
|
|
</div>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#ab44c0e3568a683bc6d53c8f5b11abb88">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
|
ElemType&& val) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Inserts a new element at a specific position in the array.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Template parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">ElemType</td>
|
|
<td><a class="m-doc" href="classtoml_1_1node.html">toml::<wbr/>node</a>, <a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>, <a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a>, <a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a>, or a native TOML value type (or a type promotable to one).</td>
|
|
</tr>
|
|
</tbody>
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>pos</td>
|
|
<td>The insertion position.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>val</td>
|
|
<td>The node or value being inserted.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td><strong><em>Valid input:</em></strong> An iterator to the newly-inserted element. <strong><em>Input is an empty <a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>:</em></strong> <a class="m-doc" href="classtoml_1_1array.html#adaf908b0cc3e8bcb1ee9ec9ec706d223">end()</a></td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">3</span> <span class="p">};</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">insert</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="n">cbegin</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="s">"two"</span><span class="p">);</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">insert</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="n">cend</span><span class="p">(),</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span> <span class="p">});</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">[ 1, 'two', 3, [ 4, 5 ] ]</span></pre><aside class="m-note m-warning"><h4>Attention</h4><p>The return value will always be <code><a class="m-doc" href="classtoml_1_1array.html#adaf908b0cc3e8bcb1ee9ec9ec706d223">end()</a></code> if the input value was an empty <a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>, because no insertion can take place. This is the only circumstance in which this can occur.</p></aside>
|
|
</div></section>
|
|
<section class="m-doc-details" id="aa454d276f2935b1e2b5c2caec9bc2a0d"><div>
|
|
<h3>
|
|
<div class="m-doc-template">
|
|
template<typename ElemType>
|
|
</div>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#aa454d276f2935b1e2b5c2caec9bc2a0d">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
|
<a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> count,
|
|
ElemType&& val) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Repeatedly inserts a new element starting at a specific position in the array.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Template parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">ElemType</td>
|
|
<td><a class="m-doc" href="classtoml_1_1node.html">toml::<wbr/>node</a>, <a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>, <a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a>, <a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a>, or a native TOML value type (or a type promotable to one).</td>
|
|
</tr>
|
|
</tbody>
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>pos</td>
|
|
<td>The insertion position.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>count</td>
|
|
<td>The number of times the node or value should be inserted.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>val</td>
|
|
<td>The node or value being inserted.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td><strong><em>Valid input:</em></strong> An iterator to the newly-inserted element. <strong><em>count == 0:</em></strong> A copy of pos <strong><em>Input is an empty <a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>:</em></strong> <a class="m-doc" href="classtoml_1_1array.html#adaf908b0cc3e8bcb1ee9ec9ec706d223">end()</a></td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span>
|
|
<span class="s">"with an evil twinkle in its eye the goose said"</span><span class="p">,</span>
|
|
<span class="s">"and immediately we knew peace was never an option."</span>
|
|
<span class="p">};</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">insert</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="n">cbegin</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="s">"honk"</span><span class="p">);</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">[</span>
|
|
<span class="go"> 'with an evil twinkle in its eye the goose said',</span>
|
|
<span class="go"> 'honk',</span>
|
|
<span class="go"> 'honk',</span>
|
|
<span class="go"> 'honk',</span>
|
|
<span class="go"> 'and immediately we knew peace was never an option.'</span>
|
|
<span class="go">]</span></pre><aside class="m-note m-warning"><h4>Attention</h4><p>The return value will always be <code><a class="m-doc" href="classtoml_1_1array.html#adaf908b0cc3e8bcb1ee9ec9ec706d223">end()</a></code> if the input value was an empty <a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>, because no insertion can take place. This is the only circumstance in which this can occur.</p></aside>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a311fed9b54b87daab0646fbc1818170b"><div>
|
|
<h3>
|
|
<div class="m-doc-template">
|
|
template<typename Iter>
|
|
</div>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a311fed9b54b87daab0646fbc1818170b">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
|
Iter first,
|
|
Iter last) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Inserts a range of elements into the array at a specific position.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Template parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">Iter</td>
|
|
<td>An iterator type. Must satisfy <a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/named_req/ForwardIterator" target="_blank">ForwardIterator</a>.</td>
|
|
</tr>
|
|
</tbody>
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>pos</td>
|
|
<td>The insertion position.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>first</td>
|
|
<td>Iterator to the first node or value being inserted.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>last</td>
|
|
<td>Iterator to the one-past-the-last node or value being inserted.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td><strong><em>Valid input:</em></strong> An iterator to the first newly-inserted element. <strong><em>first >= last:</em></strong> A copy of pos <strong><em>All objects in the range were empty <a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">toml::node_views</a>:</em></strong> A copy of pos</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a87500f1ea51f3b42dadc686a3e128fea"><div>
|
|
<h3>
|
|
<div class="m-doc-template">
|
|
template<typename ElemType>
|
|
</div>
|
|
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html#a62a18471ca7c5b06204d2e26c963f833">iterator</a> toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a87500f1ea51f3b42dadc686a3e128fea">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="classtoml_1_1array.html#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
|
<a class="m-doc-external poxy-external" href="http://en.cppreference.com/w/cpp/utility/initializer_list.html" target="_blank">std::<wbr/>initializer_list</a><ElemType> ilist) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Inserts a range of elements into the array at a specific position.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Template parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">ElemType</td>
|
|
<td><a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>, <a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a>, <a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a>, or a native TOML value type (or a type promotable to one).</td>
|
|
</tr>
|
|
</tbody>
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>pos</td>
|
|
<td>The insertion position.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ilist</td>
|
|
<td>An initializer list containing the values to be inserted.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td><strong><em>Valid input:</em></strong> An iterator to the first newly-inserted element. <strong><em>Input list is empty:</em></strong> A copy of pos <strong><em>All objects in the list were empty <a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">toml::node_views</a>:</em></strong> A copy of pos</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a2b3315295340dc76b69ce916d31fec35"><div>
|
|
<h3>
|
|
<div class="m-doc-template">
|
|
template<typename ElemType>
|
|
</div>
|
|
<span class="m-doc-wrap-bumper">void toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a2b3315295340dc76b69ce916d31fec35">push_back</a>(</span><span class="m-doc-wrap">ElemType&& val) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Appends a new element to the end of the array.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Template parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">ElemType</td>
|
|
<td><a class="m-doc" href="classtoml_1_1node.html">toml::<wbr/>node</a>, <a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>, <a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a>, <a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a>, or a native TOML value type</td>
|
|
</tr>
|
|
</tbody>
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>val</td>
|
|
<td>The node or value being added.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span> <span class="p">};</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="mi">3</span><span class="p">);</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="mf">4.0</span><span class="p">);</span>
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">5</span><span class="p">,</span> <span class="s">"six"</span><span class="sa">sv</span> <span class="p">});</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">[ 1, 2, 3, 4.0, [ 5, 'six' ] ]</span></pre><aside class="m-note m-warning"><h4>Attention</h4><p>No insertion takes place if the input value is an empty <a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>. This is the only circumstance in which this can occur.</p></aside>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a8694e01e9b0b1c5b9152518137d5b971"><div>
|
|
<h3>
|
|
<div class="m-doc-template">
|
|
template<typename ElemType>
|
|
</div>
|
|
<span class="m-doc-wrap-bumper">void toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a8694e01e9b0b1c5b9152518137d5b971">resize</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> new_size,
|
|
ElemType&& default_init_val) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Resizes the array.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Template parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">ElemType</td>
|
|
<td><a class="m-doc" href="classtoml_1_1node.html">toml::<wbr/>node</a>, <a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a>, <a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a>, or a native TOML value type (or a type promotable to one).</td>
|
|
</tr>
|
|
</tbody>
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>new_size</td>
|
|
<td>The number of elements the array will have after resizing.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>default_init_val</td>
|
|
<td>The node or value used to initialize new elements if the array needs to grow.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<pre class="m-code"><p class="m-note m-success godbolt"><a class="poxy-external godbolt" href="https://godbolt.org/z/W5zqx3" target="_blank">Try this code on Compiler Explorer</a></p><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span> <span class="p">};</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">resize</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">42</span><span class="p">);</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">resize</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">[ 1, 2, 3 ]</span>
|
|
<span class="go">[ 1, 2, 3, 42, 42, 42 ]</span>
|
|
<span class="go">[ 1, 2 ]</span></pre>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a6e3ac9962c706a88c1001ff83a4084f3"><div>
|
|
<h3>
|
|
<span class="m-doc-wrap-bumper">void toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a6e3ac9962c706a88c1001ff83a4084f3">truncate</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> new_size)</span></span>
|
|
</h3>
|
|
<p>Shrinks the array to the given size.</p>
|
|
<pre class="m-code"><p class="m-note m-success godbolt"><a class="poxy-external godbolt" href="https://godbolt.org/z/rxEzK5" target="_blank">Try this code on Compiler Explorer</a></p><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span> <span class="p">};</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">truncate</span><span class="p">(</span><span class="mi">5</span><span class="p">);</span> <span class="c1">// no-op</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
|
|
<span class="n">arr</span><span class="p">.</span><span class="n">truncate</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">[ 1, 2, 3 ]</span>
|
|
<span class="go">[ 1, 2, 3 ]</span>
|
|
<span class="go">[ 1]</span></pre><aside class="m-note m-default"><h4>Remark</h4><p>Does nothing if the requested size is larger than or equal to the current size.</p></aside>
|
|
</div></section>
|
|
<section class="m-doc-details" id="af06c7437a0946a9d5e093d903b59f6a4"><div>
|
|
<h3>
|
|
<span class="m-doc-wrap-bumper">bool toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#af06c7437a0946a9d5e093d903b59f6a4">operator!=</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1array.html">array</a>& lhs,
|
|
const <a class="m-doc" href="classtoml_1_1array.html">array</a>& rhs) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Inequality operator.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">lhs</td>
|
|
<td>The LHS array.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>rhs</td>
|
|
<td>The RHS array.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td>True if the arrays did not contain the same elements.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a06cf25e3f80c98d88e041ef9823976c0"><div>
|
|
<h3>
|
|
<span class="m-doc-wrap-bumper">bool toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a06cf25e3f80c98d88e041ef9823976c0">operator==</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1array.html">array</a>& lhs,
|
|
const <a class="m-doc" href="classtoml_1_1array.html">array</a>& rhs) <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Equality operator.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">lhs</td>
|
|
<td>The LHS array.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>rhs</td>
|
|
<td>The RHS array.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td>True if the arrays contained the same elements.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div></section>
|
|
<section class="m-doc-details" id="a628574d1e47440545019a3467be64fdc"><div>
|
|
<h3>
|
|
<span class="m-doc-wrap-bumper">bool toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a628574d1e47440545019a3467be64fdc">is_homogeneous</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="namespacetoml.html#abac3e84bbf1f2c90717fca107055f48d">node_<wbr/>type</a> ntype) const <span class="m-label m-warning">override</span> <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Checks if the node contains values/elements of only one type.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">ntype</td>
|
|
<td>A TOML node type.<br/><strong><em><a class="m-doc" href="namespacetoml.html#abac3e84bbf1f2c90717fca107055f48da334c4a4c42fdb79d7ebc3e73b517e6f8">toml::<wbr/>node_type::<wbr/>none</a>:</em></strong> "is every element the same type?" <strong><em>Anything else:</em></strong> "is every element one of these?"</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td>True if the node was homogeneous.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="p">{</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span> <span class="p">};</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"homogenous: "</span><span class="sa">sv</span> <span class="o"><<</span> <span class="n">arr</span><span class="p">.</span><span class="n">is_homogeneous</span><span class="p">(</span><span class="ns">toml</span><span class="o">::</span><span class="ut">node_type</span><span class="o">::</span><span class="ne">none</span><span class="p">)</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"all floats: "</span><span class="sa">sv</span> <span class="o"><<</span> <span class="n">arr</span><span class="p">.</span><span class="n">is_homogeneous</span><span class="p">(</span><span class="ns">toml</span><span class="o">::</span><span class="ut">node_type</span><span class="o">::</span><span class="ne">floating_point</span><span class="p">)</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"all arrays: "</span><span class="sa">sv</span> <span class="o"><<</span> <span class="n">arr</span><span class="p">.</span><span class="n">is_homogeneous</span><span class="p">(</span><span class="ns">toml</span><span class="o">::</span><span class="ut">node_type</span><span class="o">::</span><span class="ne">array</span><span class="p">)</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"all ints: "</span><span class="sa">sv</span> <span class="o"><<</span> <span class="n">arr</span><span class="p">.</span><span class="n">is_homogeneous</span><span class="p">(</span><span class="ns">toml</span><span class="o">::</span><span class="ut">node_type</span><span class="o">::</span><span class="ne">integer</span><span class="p">)</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">homogeneous: true</span>
|
|
<span class="go">all floats: false</span>
|
|
<span class="go">all arrays: false</span>
|
|
<span class="go">all ints: true</span></pre><aside class="m-note m-default"><h4>Remark</h4><p>Always returns <code>false</code> for empty tables and arrays.</p></aside>
|
|
</div></section>
|
|
<section class="m-doc-details" id="abff1c5e9bf3afb04ff16c15522aa55c4"><div>
|
|
<h3>
|
|
<span class="m-doc-wrap-bumper">bool toml::<wbr/>array::<wbr/></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#abff1c5e9bf3afb04ff16c15522aa55c4">is_homogeneous</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="namespacetoml.html#abac3e84bbf1f2c90717fca107055f48d">node_<wbr/>type</a> ntype,
|
|
<a class="m-doc" href="classtoml_1_1node.html">node</a>*& first_nonmatch) <span class="m-label m-warning">override</span> <span class="m-label m-success">noexcept</span></span></span>
|
|
</h3>
|
|
<p>Checks if a node contains values/elements of only one type.</p>
|
|
<table class="m-table m-fullwidth m-flat">
|
|
<thead>
|
|
<tr><th colspan="2">Parameters</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="width: 1%">ntype</td>
|
|
<td>A TOML node type.<br/><strong><em><a class="m-doc" href="namespacetoml.html#abac3e84bbf1f2c90717fca107055f48da334c4a4c42fdb79d7ebc3e73b517e6f8">toml::<wbr/>node_type::<wbr/>none</a>:</em></strong> "is every element the same type?" <strong><em>Anything else:</em></strong> "is every element one of these?"</td>
|
|
</tr>
|
|
<tr>
|
|
<td>first_nonmatch</td>
|
|
<td>Reference to a pointer in which the address of the first non-matching element will be stored if the return value is false.</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th>Returns</th>
|
|
<td>True if the node was homogeneous.</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
<pre class="m-code"><span class="k">auto</span> <span class="n">cfg</span> <span class="o">=</span> <span class="ns">toml</span><span class="o">::</span><span class="n">parse</span><span class="p">(</span><span class="s">"arr = [ 1, 2, 3, 4.0 ]"</span><span class="p">);</span>
|
|
<span class="ns">toml</span><span class="o">::</span><span class="ut">array</span><span class="o">&</span> <span class="n">arr</span> <span class="o">=</span> <span class="o">*</span><span class="n">cfg</span><span class="p">[</span><span class="s">"arr"</span><span class="p">].</span><span class="n">as_array</span><span class="p">();</span>
|
|
|
|
<span class="ns">toml</span><span class="o">::</span><span class="ut">node</span><span class="o">*</span> <span class="n">nonmatch</span><span class="p">{};</span>
|
|
<span class="k">if</span> <span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="n">is_homogeneous</span><span class="p">(</span><span class="ns">toml</span><span class="o">::</span><span class="ut">node_type</span><span class="o">::</span><span class="ne">integer</span><span class="p">,</span> <span class="n">nonmatch</span><span class="p">))</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"array was homogeneous"</span><span class="sa">sv</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
|
|
<span class="k">else</span>
|
|
<span class="ns">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"array was not homogeneous!</span><span class="se">\n</span><span class="s">"</span>
|
|
<span class="o"><<</span> <span class="s">"first non-match was a "</span><span class="sa">sv</span> <span class="o"><<</span> <span class="n">nonmatch</span><span class="o">-></span><span class="n">type</span><span class="p">()</span> <span class="o"><<</span> <span class="s">" at "</span> <span class="o"><<</span> <span class="n">nonmatch</span><span class="o">-></span><span class="n">source</span><span class="p">()</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span></pre><pre class="m-console"><span class="go">array was not homogeneous!</span>
|
|
<span class="go">first non-match was a floating-point at line 1, column 18</span></pre><aside class="m-note m-default"><h4>Remark</h4><p>Always returns <code>false</code> for empty tables and arrays.</p></aside>
|
|
</div></section>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</article></main>
|
|
<div class="m-doc-search" id="search">
|
|
<a href="#!" onclick="return hideSearch()"></a>
|
|
<div class="m-container">
|
|
<div class="m-row">
|
|
<div class="m-col-m-8 m-push-m-2">
|
|
<div class="m-doc-search-header m-text m-small">
|
|
<div><span class="m-label m-default">Tab</span> / <span class="m-label m-default">T</span> to search, <span class="m-label m-default">Esc</span> to close</div>
|
|
<div id="search-symbolcount">…</div>
|
|
</div>
|
|
<div class="m-doc-search-content">
|
|
<form>
|
|
<input autocomplete="off" autofocus="autofocus" disabled="disabled" id="search-input" name="q" placeholder="Loading …" spellcheck="false" type="search"/>
|
|
</form>
|
|
<noscript class="m-text m-danger m-text-center">Unlike everything else in the docs, the search functionality <em>requires</em> JavaScript.</noscript>
|
|
<div class="m-text m-dim m-text-center" id="search-help">
|
|
<p class="m-noindent">Search for symbols, directories, files, pages or
|
|
modules. You can omit any prefix from the symbol or file path; adding a
|
|
<code>:</code> or <code>/</code> suffix lists all members of given symbol or
|
|
directory.</p>
|
|
<p class="m-noindent">Use <span class="m-label m-dim">↓</span>
|
|
/ <span class="m-label m-dim">↑</span> to navigate through the list,
|
|
<span class="m-label m-dim">Enter</span> to go.
|
|
<span class="m-label m-dim">Tab</span> autocompletes common prefix, you can
|
|
copy a link to the result using <span class="m-label m-dim">⌘</span>
|
|
<span class="m-label m-dim">L</span> while <span class="m-label m-dim">⌘</span>
|
|
<span class="m-label m-dim">M</span> produces a Markdown link.</p>
|
|
</div>
|
|
<div class="m-text m-warning m-text-center" id="search-notfound">Sorry, nothing was found.</div>
|
|
<ul id="search-results"></ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script src="search-v1.js"></script>
|
|
<script async="async" src="searchdata-v1.js"></script>
|
|
<footer><nav>
|
|
<div class="m-container">
|
|
<div class="m-row">
|
|
<div class="m-col-l-10 m-push-l-1">
|
|
|
|
<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/" target="_blank">Github</a>
|
|
|
|
•
|
|
<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues" target="_blank">Report
|
|
an
|
|
issue</a>
|
|
|
|
•
|
|
<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/blob/master/LICENSE" target="_blank">License</a>
|
|
|
|
•
|
|
<a download="" href="toml++.tagfile.xml" target="_blank" type="text/xml">Doxygen
|
|
tagfile</a>
|
|
|
|
<br/><br/>
|
|
|
|
Documentation
|
|
created
|
|
using
|
|
|
|
<a class="poxy-external" href="https://www.doxygen.nl/index.html" target="_blank">Doxygen</a>
|
|
|
|
+
|
|
<a class="poxy-external" href="https://mcss.mosra.cz/documentation/doxygen/" target="_blank">mosra/m.css</a>
|
|
|
|
+
|
|
<a class="poxy-external" href="https://github.com/marzer/poxy/" target="_blank">marzer/poxy</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav></footer>
|
|
|
|
|
|
</body></html> |