mirror of
https://github.com/marzer/tomlplusplus.git
synced 2026-01-19 04:52:09 +00:00
1764 lines
173 KiB
HTML
1764 lines
173 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en"><head>
|
||
<meta charset="utf-8"/>
|
||
<title>toml::array class | toml++ TOML for C++</title>
|
||
<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"/>
|
||
<link href="poxy/poxy.css" referrerpolicy="no-referrer" rel="stylesheet"/>
|
||
<script src="poxy/poxy.js"></script>
|
||
<script>initialize_theme("dark");</script>
|
||
<meta content="toml++" name="twitter:title"/>
|
||
<meta content="toml++" property="og:title"/>
|
||
<meta content="toml++" itemprop="name"/>
|
||
<meta content="Mark Gillard" name="author"/>
|
||
<meta content="Mark Gillard" property="article:author"/>
|
||
<meta content="TOML for C++" name="description"/>
|
||
<meta content="TOML for C++" name="twitter:description"/>
|
||
<meta content="TOML for C++" property="og:description"/>
|
||
<meta content="TOML for C++" itemprop="description"/>
|
||
<meta content="telephone=no" name="format-detection"/>
|
||
<meta content="Poxy v0.19.7" name="generator"/>
|
||
<meta content="strict-origin-when-cross-origin" name="referrer"/>
|
||
<meta content="gbtcNgKlNiPSMKkYMw4zWFVWGPH_oU93m9n_-nb4qK8" name="google-site-verification"/>
|
||
</head>
|
||
<body class="poxy-has-toc">
|
||
<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"><svg class="poxy-injected-svg" id="poxy-injected-svg-0" version="1.1" viewBox="0 0 306 306" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><polygon fill="currentColor" points="0 0 0 306 67.79 306 67.79 273.09 35.1 273.09 35.1 33.62 67.79 33.62 67.79 0 0 0"></polygon><polygon fill="currentColor" points="237.62 0 237.62 33.62 270.3 33.62 270.3 273.09 237.62 273.09 237.62 306 306 306 306 0 237.62 0"></polygon><polygon fill="currentColor" points="127.3 247.43 127.3 109.37 172.72 109.37 172.72 77.69 48.41 77.69 48.41 109.37 94.43 109.37 94.43 247.43 127.3 247.43"></polygon><polygon fill="currentColor" points="256.69 163.46 241.45 163.46 241.45 148.22 222.33 148.22 222.33 163.46 207.09 163.46 207.09 182.58 222.33 182.58 222.33 197.82 241.45 197.82 241.45 182.58 256.69 182.58 256.69 163.46"></polygon><polygon fill="currentColor" points="192.74 163.46 177.5 163.46 177.5 148.22 158.38 148.22 158.38 163.46 143.14 163.46 143.14 182.58 158.38 182.58 158.38 197.82 177.5 197.82 177.5 182.58 192.74 182.58 192.74 163.46"></polygon></svg>toml++ <span class="m-thin">TOML for 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>
|
||
<li class="poxy-navbar-version-selector"><a href="classtoml_1_1array.html">Version: HEAD</a><ol><li><a href="classtoml_1_1array.html">HEAD</a></li><li><a href="v3.4.0/classtoml_1_1array.html">v3.4.0</a></li><li><a href="v3.3.0/classtoml_1_1array.html">v3.3.0</a></li><li><a href="v3.2.0/classtoml_1_1array.html">v3.2.0</a></li><li><a href="v3.1.0/classtoml_1_1array.html">v3.1.0</a></li><li><a href="v3.0.1/classtoml_1_1array.html">v3.0.1</a></li><li><a href="v2.5.0/classtoml_1_1array.html">v2.5.0</a></li><li><a href="v2.4.0/classtoml_1_1array.html">v2.4.0</a></li></ol></li>
|
||
<li><a class="poxy-icon twitter poxy-external" href="https://twitter.com/marzer8789" target="_blank" title="Twitter"><svg id="poxy-icon-twitter" version="1.1" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><path d="M 50.0625 10.4375 C 48.214844 11.257813 46.234375 11.808594 44.152344 12.058594 C 46.277344 10.785156 47.910156 8.769531 48.675781 6.371094 C 46.691406 7.546875 44.484375 8.402344 42.144531 8.863281 C 40.269531 6.863281 37.597656 5.617188 34.640625 5.617188 C 28.960938 5.617188 24.355469 10.21875 24.355469 15.898438 C 24.355469 16.703125 24.449219 17.488281 24.625 18.242188 C 16.078125 17.8125 8.503906 13.71875 3.429688 7.496094 C 2.542969 9.019531 2.039063 10.785156 2.039063 12.667969 C 2.039063 16.234375 3.851563 19.382813 6.613281 21.230469 C 4.925781 21.175781 3.339844 20.710938 1.953125 19.941406 C 1.953125 19.984375 1.953125 20.027344 1.953125 20.070313 C 1.953125 25.054688 5.5 29.207031 10.199219 30.15625 C 9.339844 30.390625 8.429688 30.515625 7.492188 30.515625 C 6.828125 30.515625 6.183594 30.453125 5.554688 30.328125 C 6.867188 34.410156 10.664063 37.390625 15.160156 37.472656 C 11.644531 40.230469 7.210938 41.871094 2.390625 41.871094 C 1.558594 41.871094 0.742188 41.824219 -0.0585938 41.726563 C 4.488281 44.648438 9.894531 46.347656 15.703125 46.347656 C 34.617188 46.347656 44.960938 30.679688 44.960938 17.09375 C 44.960938 16.648438 44.949219 16.199219 44.933594 15.761719 C 46.941406 14.3125 48.683594 12.5 50.0625 10.4375 Z" fill="currentColor"></path></svg></a></li>
|
||
</ol>
|
||
<ol class="m-col-t-6 m-col-m-none" start="5">
|
||
<li><a class="poxy-icon repo github poxy-external" href="https://github.com/marzer/tomlplusplus" target="_blank" title="View on GitHub"><svg id="poxy-icon-repo" version="1.1" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><path d="M25,1.23a24.37,24.37,0,0,0-7.7,47.5C18.51,49,19,48.2,19,47.56s0-2.12,0-4.15c-6.78,1.47-8.21-3.27-8.21-3.27C9.61,37.33,8,36.58,8,36.58c-2.21-1.51.17-1.48.17-1.48a5.12,5.12,0,0,1,3.73,2.51c2.17,3.72,5.7,2.65,7.09,2a5.25,5.25,0,0,1,1.55-3.26c-5.41-.61-11.1-2.7-11.1-12A9.41,9.41,0,0,1,12,17.79a8.75,8.75,0,0,1,.24-6.45s2-.66,6.7,2.49a23.1,23.1,0,0,1,12.2,0c4.66-3.15,6.7-2.49,6.7-2.49A8.75,8.75,0,0,1,38,17.79a9.41,9.41,0,0,1,2.51,6.54c0,9.36-5.7,11.42-11.13,12a5.83,5.83,0,0,1,1.65,4.51c0,3.26,0,5.89,0,6.69,0,.65.44,1.41,1.68,1.17A24.38,24.38,0,0,0,25,1.23Z" fill="currentColor"></path></svg></a></li>
|
||
<li><a class="poxy-icon sponsor poxy-external" href="https://github.com/sponsors/marzer" target="_blank" title="Become a sponsor"><svg id="poxy-icon-sponsor" version="1.1" viewBox="0 0 66.911 66.911" xmlns="http://www.w3.org/2000/svg"><path d="M66.911,22.831c0-10.563-8.558-19.122-19.118-19.122c-5.658,0-10.721,2.473-14.223,6.377 c-0.037,0.043-0.076,0.085-0.113,0.128c-3.5-3.98-8.618-6.505-14.334-6.505C8.561,3.709,0.005,12.268,0,22.831 c0,5.834,2.629,11.059,6.758,14.565H6.751l27.104,25.806l26.308-25.806h-0.012C64.279,33.89,66.911,28.669,66.911,22.831z" fill="currentColor"></path></svg></a></li>
|
||
<li><a class="poxy-icon theme" href="javascript:void(null);" id="poxy-theme-switch" onclick="toggle_theme(); return false;" role="button" title="Toggle dark and light themes"><svg id="poxy-theme-switch-img" version="1.1" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><circle cx="185.6708" cy="183.8122" fill="currentColor" r="65.625"></circle><path d="M185.6708,87.5622a13.1256,13.1256,0,0,0,13.125-13.125V52.5622a13.125,13.125,0,1,0-26.25,0v21.875A13.1257,13.1257,0,0,0,185.6708,87.5622Z" fill="currentColor"></path><path d="M99.051,115.7519a13.1236,13.1236,0,1,0,18.56-18.56L102.1442,81.726a13.1236,13.1236,0,0,0-18.5595,18.56Z" fill="currentColor"></path><path d="M89.4208,183.8122a13.1257,13.1257,0,0,0-13.125-13.125H54.4208a13.125,13.125,0,0,0,0,26.25h21.875A13.1256,13.1256,0,0,0,89.4208,183.8122Z" fill="currentColor"></path><path d="M99.051,251.8725,83.5847,267.3431a13.1236,13.1236,0,1,0,18.56,18.56l15.4663-15.4706a13.1236,13.1236,0,1,0-18.5595-18.56Z" fill="currentColor"></path><path d="M185.6708,280.0622a13.1258,13.1258,0,0,0-13.125,13.125v21.875a13.125,13.125,0,0,0,26.25,0v-21.875A13.1257,13.1257,0,0,0,185.6708,280.0622Z" fill="currentColor"></path><path d="M272.2907,251.8725a13.1236,13.1236,0,1,0-18.56,18.56l15.4663,15.4706a13.1236,13.1236,0,1,0,18.56-18.56Z" fill="currentColor"></path><path d="M330.0458,183.8122a13.1257,13.1257,0,0,0-13.125-13.125h-21.875a13.125,13.125,0,0,0,0,26.25h21.875A13.1256,13.1256,0,0,0,330.0458,183.8122Z" fill="currentColor"></path><path d="M263.0109,119.5971a13.0824,13.0824,0,0,0,9.28-3.8452l15.4663-15.4663a13.1236,13.1236,0,1,0-18.56-18.56L253.7312,97.1923a13.125,13.125,0,0,0,9.28,22.4048Z" fill="currentColor"></path><path d="M456.9379,401.6714a63.97,63.97,0,0,1-14.9963,7.2055c-19.6448,6.5283-41.8787,2.9566-58.1439-9.8523a68.9311,68.9311,0,0,1-10.835-10.8339c-12.8088-16.2663-16.3806-38.5-9.8523-58.1471a63.8444,63.8444,0,0,1,7.2077-14.9931,8.8036,8.8036,0,0,0-10.1172-13.3034,87.5188,87.5188,0,1,0,110.0372,110.04A8.8,8.8,0,0,0,456.9379,401.6714Z" fill="currentColor"></path></svg></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>
|
||
</h1>
|
||
<p>A TOML array.</p>
|
||
<nav class="m-block m-default poxy-toc" id="poxy-toc">
|
||
<h3>Contents</h3>
|
||
<ul>
|
||
<li>
|
||
Reference
|
||
<ul>
|
||
<li><a href="#base-classes">Base classes</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="#equality">Equality</a></li>
|
||
<li><a href="#erasure">Erasure</a></li>
|
||
<li><a href="#insertion-and-emplacement">Insertion and Emplacement</a></li>
|
||
<li><a href="#iteration">Iteration</a></li>
|
||
<li><a href="#metadata">Metadata</a></li>
|
||
<li><a href="#node-views">Node views</a></li>
|
||
<li><a href="#size-and-capacity">Size and Capacity</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>
|
||
</nav>
|
||
<p>The interface of this type is modeled after <a class="m-doc-external poxy-cppreference 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 poxy-godbolt"><a class="poxy-external poxy-godbolt" href="https://godbolt.org/z/sjK4da" target="_blank">Try this code on Compiler Explorer</a></p><span class="nn">toml</span><span class="o">::</span><span class="nc">table</span> <span class="n">tbl</span> <span class="o">=</span> <span class="nn">toml</span><span class="o">::</span><span class="nf">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">"sv</span><span class="p">);</span>
|
||
|
||
<span class="c1">// get the element as an array</span>
|
||
<span class="nn">toml</span><span class="o">::</span><span class="nc">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="nn">toml</span><span class="o">::</span><span class="nc">array</span><span class="o">></span><span class="p">(</span><span class="s">"arr"</span><span class="p">);</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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="n">elem</span> <span class="o">:</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="nf">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="nn">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="nn">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"sv</span><span class="p">;</span>
|
||
<span class="p">});</span>
|
||
<span class="p">}</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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="nf">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="nf">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="nf">push_back</span><span class="p">(</span><span class="s">"nine"sv</span><span class="p">);</span>
|
||
<span class="n">arr</span><span class="p">.</span><span class="nf">erase</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="nf">cbegin</span><span class="p">());</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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="nf">emplace_back</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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">std</span><span class="o">::</span><span class="nc">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="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="a3bd4611c96ce97d7e6991b7a4312370d">
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a3bd4611c96ce97d7e6991b7a4312370d">array</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1array.html">array</a>&)</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 <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span>, <span class="m-doc-template-param">typename... ElemTypes</span></span>></div>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="#acb17a58f1fbdb12aeaf8f7d1e8093e5c">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>
|
||
</dl>
|
||
</section>
|
||
<section id="pub-methods">
|
||
<h2><a href="#pub-methods">Public functions</a></h2>
|
||
<dl class="m-doc">
|
||
<dt id="a23b531c4c723f5b110fec0502349e49c">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a23b531c4c723f5b110fec0502349e49c">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>
|
||
</dt>
|
||
<dd>Copy-assignment operator.</dd>
|
||
<dt id="a94ca021b96ffca7cc01ebd2b37ce23aa">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a94ca021b96ffca7cc01ebd2b37ce23aa">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="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 <<span class="m-doc-template-params"><span class="m-doc-template-param">typename T</span></span>></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-cppreference 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 <<span class="m-doc-template-params"><span class="m-doc-template-param">typename T</span></span>></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-cppreference 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="erasure">
|
||
<h2><a href="#erasure">Erasure</a></h2>
|
||
<dl class="m-doc">
|
||
<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>
|
||
<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="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos) → <a class="m-doc" href="#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="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> first,
|
||
<a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> last) → <a class="m-doc" href="#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="#a3a550518aab77d3d49a0f238a4154e80">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 id="a5ea2067eb6014aac937cad430810020b">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a5ea2067eb6014aac937cad430810020b">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="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>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a5590a52dba222033290c8b5c995466c8">prune</a>(</span><span class="m-doc-wrap">bool recursive = true) & → <a class="m-doc" href="classtoml_1_1array.html">array</a>& <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Removes empty child arrays and tables.</dd>
|
||
<dt>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#abaebb654e760589f43d16ccb3971cae8">prune</a>(</span><span class="m-doc-wrap">bool recursive = true) && → <a class="m-doc" href="classtoml_1_1array.html">array</a>&& <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Removes empty child arrays and tables (rvalue overload).</dd>
|
||
</dl>
|
||
</section>
|
||
<section id="insertion-and-emplacement">
|
||
<h2><a href="#insertion-and-emplacement">Insertion and Emplacement</a></h2>
|
||
<dl class="m-doc">
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType = void</span>, <span class="m-doc-template-param">typename... Args</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a4110b96386b33097a255f3694ac01d4a">emplace</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
||
Args && ... args) → <a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a></span>
|
||
</dt>
|
||
<dd>Emplaces a new element at a specific position in the array.</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType = void</span>, <span class="m-doc-template-param">typename... Args</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#ad1383e120e7f8d8fe54e07dab164bd6d">emplace_back</a>(</span><span class="m-doc-wrap">Args && ... args) → decltype(auto)</span>
|
||
</dt>
|
||
<dd>Emplaces a new element at the end of the array.</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a17c7e34b433ea8907186dbb1788c9d37">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
||
ElemType&& val,
|
||
<a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>) → <a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a></span>
|
||
</dt>
|
||
<dd>Inserts a new element at a specific position in the array.</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a55a9e6e742e556ea07573d29c23ce7df">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
||
<a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> count,
|
||
ElemType&& val,
|
||
<a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>) → <a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a></span>
|
||
</dt>
|
||
<dd>Repeatedly inserts a new element starting at a specific position in the array.</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename Iter</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a60a0d39bfd8721cef23e155f5504d54d">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
||
Iter first,
|
||
Iter last,
|
||
<a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>) → <a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a></span>
|
||
</dt>
|
||
<dd>Inserts a range of elements into the array at a specific position.</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a1baecd5d579afb508886572674b89781">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
||
<a class="m-doc-external poxy-cppreference 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="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>) → <a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a></span>
|
||
</dt>
|
||
<dd>Inserts a range of elements into the array at a specific position.</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">void <a class="m-doc" href="#ab7188537b351ef3a756b54b83e4b05b3">push_back</a>(</span><span class="m-doc-wrap">ElemType&& val,
|
||
<a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>)</span>
|
||
</dt>
|
||
<dd>Appends a new element to the end of the array.</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a37a8a283e6c1cbeef757b2e59489ee6c">replace</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
||
ElemType&& val,
|
||
<a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>) → <a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a></span>
|
||
</dt>
|
||
<dd>Replaces the element at a specific position in the array with a different value.</dd>
|
||
</dl>
|
||
</section>
|
||
<section id="iteration">
|
||
<h2><a href="#iteration">Iteration</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#af895b4da4a93355537c7fce73b8a38ab">const_<wbr/>array_<wbr/>iterator</a>
|
||
</dt>
|
||
<dd>A <a class="m-doc poxy-injected poxy-external poxy-cppreference poxy-named-requirement" 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#a29f7024613d87f4c439bcfe069a4a3e6">array_<wbr/>iterator</a>
|
||
</dt>
|
||
<dd>A <a class="m-doc poxy-injected poxy-external poxy-cppreference poxy-named-requirement" 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>
|
||
<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="#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="#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="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="#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="#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="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="#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="#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>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename Func</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#aec78fef35741a66cd32ddb6bd07c3d4a">for_each</a>(</span><span class="m-doc-wrap">Func&& visitor) & → <a class="m-doc" href="classtoml_1_1array.html">array</a>& <span class="m-label m-flat m-success">noexcept(…)</span></span>
|
||
</dt>
|
||
<dd>Invokes a visitor on each element in the array.</dd>
|
||
<dt id="aca8cfc421f5ac55f3440ede0ff636654">
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename Func</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#aca8cfc421f5ac55f3440ede0ff636654">for_each</a>(</span><span class="m-doc-wrap">Func&& visitor) && → <a class="m-doc" href="classtoml_1_1array.html">array</a>&& <span class="m-label m-flat m-success">noexcept(…)</span></span>
|
||
</dt>
|
||
<dd>Invokes a visitor on each element in the array (rvalue overload).</dd>
|
||
<dt id="a3fda9f0f4273a91434a23dbca7c3a3f4">
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename Func</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a3fda9f0f4273a91434a23dbca7c3a3f4">for_each</a>(</span><span class="m-doc-wrap">Func&& visitor) const & → 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>Invokes a visitor on each element in the array (const lvalue overload).</dd>
|
||
<dt id="afe28d2aaa7569a9974fcc2642c7a831c">
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename Func</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#afe28d2aaa7569a9974fcc2642c7a831c">for_each</a>(</span><span class="m-doc-wrap">Func&& visitor) const && → 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>Invokes a visitor on each element in the array (const rvalue overload).</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#a4a30e611eeddce99e5c48fd80e79b134">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">auto <a class="m-doc" href="classtoml_1_1node.html#a21f64d68f408033ee6610f34d3bf0bcd">at_path</a>(</span><span class="m-doc-wrap"><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/string/basic_string_view.html" target="_blank">std::<wbr/>string_view</a> path) → <a class="m-doc" href="classtoml_1_1node__view.html">node_<wbr/>view</a><<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 view of the subnode matching a fully-qualified "TOML path".</dd>
|
||
<dt>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#ab17e0ffeb05b2ec34b87bc33375c6dce">at_path</a>(</span><span class="m-doc-wrap"><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/string/basic_string_view.html" target="_blank">std::<wbr/>string_view</a> path) const → <a class="m-doc" href="classtoml_1_1node__view.html">node_<wbr/>view</a><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 const view of the subnode matching a fully-qualified "TOML path".</dd>
|
||
<dt>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a6c6df9f8faa18019e01ea778a802700f">at_path</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1path.html">toml::<wbr/>path</a>& path) → <a class="m-doc" href="classtoml_1_1node__view.html">node_<wbr/>view</a><<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 view of the subnode matching a fully-qualified "TOML path".</dd>
|
||
<dt>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a09b4206b0e980fe961c8f9ba1c503b86">at_path</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1path.html">toml::<wbr/>path</a>& path) const → <a class="m-doc" href="classtoml_1_1node__view.html">node_<wbr/>view</a><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 const view of the subnode matching a fully-qualified "TOML path".</dd>
|
||
<dt>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a06f8134c629450c0a308798271e98d64">at_path</a>(</span><span class="m-doc-wrap"><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/string/basic_string_view.html" target="_blank">std::<wbr/>wstring_view</a> path) → <a class="m-doc" href="classtoml_1_1node__view.html">node_<wbr/>view</a><<a class="m-doc" href="classtoml_1_1node.html">node</a>></span>
|
||
</dt>
|
||
<dd>Returns a view of the subnode matching a fully-qualified "TOML path".</dd>
|
||
<dt>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a9fb5f28c07c345f55687dfcb681b33c4">at_path</a>(</span><span class="m-doc-wrap"><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/string/basic_string_view.html" target="_blank">std::<wbr/>wstring_view</a> path) const → <a class="m-doc" href="classtoml_1_1node__view.html">node_<wbr/>view</a><const <a class="m-doc" href="classtoml_1_1node.html">node</a>></span>
|
||
</dt>
|
||
<dd>Returns a const view of the subnode matching a fully-qualified "TOML path".</dd>
|
||
<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>
|
||
<dt>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#af3e492bf3406fb79d50308f5be974c3e">operator[]</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1path.html">toml::<wbr/>path</a>& path) → <a class="m-doc" href="classtoml_1_1node__view.html">node_<wbr/>view</a><<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 const view of the subnode matching a fully-qualified "TOML path".</dd>
|
||
<dt>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a462a55fc6e4f7da1108b747165fe17db">operator[]</a>(</span><span class="m-doc-wrap">const <a class="m-doc" href="classtoml_1_1path.html">toml::<wbr/>path</a>& path) const → <a class="m-doc" href="classtoml_1_1node__view.html">node_<wbr/>view</a><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 const view of the subnode matching a fully-qualified "TOML path".</dd>
|
||
</dl>
|
||
</section>
|
||
<section id="size-and-capacity">
|
||
<h2><a href="#size-and-capacity">Size and Capacity</a></h2>
|
||
<dl class="m-doc">
|
||
<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 poxy-cppreference" 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="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="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 poxy-cppreference" 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="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 poxy-cppreference" 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 <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">void <a class="m-doc" href="#ab1aca2337ffce7e583a2cf303f16259f">resize</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> new_size,
|
||
ElemType&& default_init_val,
|
||
<a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> default_init_flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>)</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 poxy-cppreference" 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 poxy-cppreference" 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="type-casts">
|
||
<h2><a href="#type-casts">Type casts</a></h2>
|
||
<dl class="m-doc">
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename T</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a42b952e50ab41b39c1c5340c010d07f0">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 <<span class="m-doc-template-params"><span class="m-doc-template-param">typename T</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a4013d8bf01b87e77643bef7cdf818a5a">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 id="af3ff6ca450d315c0d62c07631a541d30">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#af3ff6ca450d315c0d62c07631a541d30">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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns a pointer to the array.</dd>
|
||
<dt id="a6a5d140318f2225d3eece4e0d22287f9">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a6a5d140318f2225d3eece4e0d22287f9">as_array</a>(</span><span class="m-doc-wrap">) const → const <a class="m-doc" href="classtoml_1_1array.html">array</a>* <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns a const-qualified pointer to the array.</dd>
|
||
<dt id="a0eb11678929524ce93434a010a73d0bb">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a0eb11678929524ce93434a010a73d0bb">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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="ab65564b9755a57dd901c40f0c95bb3c3">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ab65564b9755a57dd901c40f0c95bb3c3">as_boolean</a>(</span><span class="m-doc-wrap">) const → const <a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a><bool>* <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="a8615093717a80f59c6c610c4476ef9d2">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a8615093717a80f59c6c610c4476ef9d2">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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="ac5823083dcd49f05011c1277cfc40d56">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ac5823083dcd49f05011c1277cfc40d56">as_date</a>(</span><span class="m-doc-wrap">) const → const <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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="a6ed67d755b8103d7bb17c424c9963f8c">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a6ed67d755b8103d7bb17c424c9963f8c">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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="a346db332b3ab5e86b7c7fa392998cdbc">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a346db332b3ab5e86b7c7fa392998cdbc">as_date_time</a>(</span><span class="m-doc-wrap">) const → const <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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="aaa3653336c15be6941d98f712cc20fa7">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#aaa3653336c15be6941d98f712cc20fa7">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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="a9af651323f3d24317aa9899025161e7d">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a9af651323f3d24317aa9899025161e7d">as_floating_point</a>(</span><span class="m-doc-wrap">) const → const <a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a><double>* <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="adb6b797e3fc5d8239113179a6ab20be9">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#adb6b797e3fc5d8239113179a6ab20be9">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 poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/integer" target="_blank">int64_t</a>>* <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="af8f5b7166a47d4e2995143bba43614a1">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#af8f5b7166a47d4e2995143bba43614a1">as_integer</a>(</span><span class="m-doc-wrap">) const → const <a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a><<a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/integer" target="_blank">int64_t</a>>* <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="a4f252724bcd6222c70cc46743aba7b64">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a4f252724bcd6222c70cc46743aba7b64">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-cppreference 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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="ab0cbeaf2ee40151f25690eca80b903ee">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ab0cbeaf2ee40151f25690eca80b903ee">as_string</a>(</span><span class="m-doc-wrap">) const → const <a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a><<a class="m-doc-external poxy-cppreference 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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="a68c92ea559bf24df6fca6ae0d9f8681f">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a68c92ea559bf24df6fca6ae0d9f8681f">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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="ac9476cb79faad5fcc1b9cc2f86c3b596">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ac9476cb79faad5fcc1b9cc2f86c3b596">as_table</a>(</span><span class="m-doc-wrap">) const → const <a class="m-doc" href="classtoml_1_1table.html">table</a>* <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="a6ff1fb68284ba1fa04aeeb0b3b8eef57">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a6ff1fb68284ba1fa04aeeb0b3b8eef57">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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
<dt id="a14925a9548b4ce1df32c86bd2e67ca6f">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a14925a9548b4ce1df32c86bd2e67ca6f">as_time</a>(</span><span class="m-doc-wrap">) const → const <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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>nullptr</code>.</dd>
|
||
</dl>
|
||
</section>
|
||
<section id="type-checks">
|
||
<h2><a href="#type-checks">Type checks</a></h2>
|
||
<dl class="m-doc">
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename T</span></span>></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="a1f1e4d93f52778613d0a7bcf74a23427">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a1f1e4d93f52778613d0a7bcf74a23427">is_array</a>(</span><span class="m-doc-wrap">) const → bool <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>true</code>.</dd>
|
||
<dt id="a87cd0dcbebcfd661a0ae387255c0605e">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a87cd0dcbebcfd661a0ae387255c0605e">is_array_of_tables</a>(</span><span class="m-doc-wrap">) const → bool <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>true</code> if the array contains only tables.</dd>
|
||
<dt id="abbecf0a51aa3e175bc5748ccf71063d8">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#abbecf0a51aa3e175bc5748ccf71063d8">is_boolean</a>(</span><span class="m-doc-wrap">) const → bool <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>false</code>.</dd>
|
||
<dt id="a792dc3fd7105185415925d4f9ab3ca1d">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a792dc3fd7105185415925d4f9ab3ca1d">is_date</a>(</span><span class="m-doc-wrap">) const → bool <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>false</code>.</dd>
|
||
<dt id="ae844f53a9604fb42f185a91616a72cbd">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ae844f53a9604fb42f185a91616a72cbd">is_date_time</a>(</span><span class="m-doc-wrap">) const → bool <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>false</code>.</dd>
|
||
<dt id="ab758b93eedbdc27112681f26440bee03">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ab758b93eedbdc27112681f26440bee03">is_floating_point</a>(</span><span class="m-doc-wrap">) const → bool <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>false</code>.</dd>
|
||
<dt>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a79a1fe77c03b33ea2b9d8d0a859c93e6">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">final</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="#ae4e986f9fdb23090f9a0b3716a63e8bb">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">final</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="ad00610c0e18f02516de92b623dc4d0f5">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ad00610c0e18f02516de92b623dc4d0f5">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">final</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>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType = void</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a7d2b7360a2ea44282890e1ded3d3946a">is_homogeneous</a>(</span><span class="m-doc-wrap">) const → bool <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 id="a78db4190977034c4364674a2958855d4">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a78db4190977034c4364674a2958855d4">is_integer</a>(</span><span class="m-doc-wrap">) const → bool <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>false</code>.</dd>
|
||
<dt id="aa034144c580b3d8a4727c0cfbfebc214">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#aa034144c580b3d8a4727c0cfbfebc214">is_number</a>(</span><span class="m-doc-wrap">) const → bool <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>false</code>.</dd>
|
||
<dt id="aeefdd01a2ce3f6bcd7aecfabd363d06b">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#aeefdd01a2ce3f6bcd7aecfabd363d06b">is_string</a>(</span><span class="m-doc-wrap">) const → bool <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>false</code>.</dd>
|
||
<dt id="ad7ed894e54ad3aaef6d7693c26b887d9">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#ad7ed894e54ad3aaef6d7693c26b887d9">is_table</a>(</span><span class="m-doc-wrap">) const → bool <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>false</code>.</dd>
|
||
<dt id="a2d2fc80512d08af7a934a6d02c7bf506">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a2d2fc80512d08af7a934a6d02c7bf506">is_time</a>(</span><span class="m-doc-wrap">) const → bool <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>false</code>.</dd>
|
||
<dt id="acc533a7fa1ea5c68fce6f4fea5bc419c">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#acc533a7fa1ea5c68fce6f4fea5bc419c">is_value</a>(</span><span class="m-doc-wrap">) const → bool <span class="m-label m-flat m-warning">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <code>false</code>.</dd>
|
||
<dt id="a352b6a99235216f070b5e97976663571">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a352b6a99235216f070b5e97976663571">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">final</span> <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Returns <a class="m-doc" href="namespacetoml.html#abac3e84bbf1f2c90717fca107055f48daf1f713c9e000f5d3f280adbd124df4f5">toml::<wbr/>node_type::<wbr/>array</a>.</dd>
|
||
</dl>
|
||
</section>
|
||
<section id="value-retrieval">
|
||
<h2><a href="#value-retrieval">Value retrieval</a></h2>
|
||
<dl class="m-doc">
|
||
<dt id="a3ab7998d733b37f51c687f7d892c205f">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a3ab7998d733b37f51c687f7d892c205f">at</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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>
|
||
</dt>
|
||
<dd>Gets a reference to the element at a specific index, throwing <code><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/error/out_of_range.html" target="_blank">std::<wbr/>out_of_range</a></code> if none existed.</dd>
|
||
<dt id="a57ab2e03da0d45e4298c74b0071b78b5">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a57ab2e03da0d45e4298c74b0071b78b5">at</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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>
|
||
</dt>
|
||
<dd>Gets a reference to the element at a specific index, throwing <code><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/error/out_of_range.html" target="_blank">std::<wbr/>out_of_range</a></code> if none existed.</dd>
|
||
<dt id="a8a7f389cd399544b6b80277afd50d5d6">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a8a7f389cd399544b6b80277afd50d5d6">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="a0afe372457485cdc90ecee8fc11c2ca6">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a0afe372457485cdc90ecee8fc11c2ca6">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="a1af85a8c7a82f1c0b48148b7fac8e536">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a1af85a8c7a82f1c0b48148b7fac8e536">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="a8984273ac50a8dba20529ec0cb74a072">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a8984273ac50a8dba20529ec0cb74a072">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="#a442d80f39922d05c46b4a7d9a5455585">get</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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 pointer to the element at a specific index.</dd>
|
||
<dt>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a0fb727f90506419f2e950b5d0e5160a9">get</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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 pointer to the element at a specific index (const overload).</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a7ab30b16bb727e0595d0bd4adfcd9455">get_as</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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 a pointer to the element at a specific index if it is a particular type.</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#a17dc014c1c5e64dd9d4f118ddc066ed8">get_as</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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 a pointer to the element at a specific index if it is a particular type (const overload).</dd>
|
||
<dt id="a1e471e2bed5daf80b6695c009052bb4e">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a1e471e2bed5daf80b6695c009052bb4e">operator[]</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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="a908e56552c2cfaabc9b73d220792e214">
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc-self" href="#a908e56552c2cfaabc9b73d220792e214">operator[]</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename T</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a58fde40ef0b172d36bf293c251b25130">ref</a>(</span><span class="m-doc-wrap">) & → decltype(auto) <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Gets a raw reference to a node's underlying data.</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename T</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#aca651e7fe7f377fe958b20678d08ef14">ref</a>(</span><span class="m-doc-wrap">) && → decltype(auto) <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Gets a raw reference to a node's underlying data (rvalue overload).</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename T</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a9794ed57d952d8293ed3278a11e54ca2">ref</a>(</span><span class="m-doc-wrap">) const & → decltype(auto) <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Gets a raw reference to a node's underlying data (const lvalue overload).</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename T</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a937af29dc15ef8e1af7950d925341cc3">ref</a>(</span><span class="m-doc-wrap">) const && → decltype(auto) <span class="m-label m-flat m-success">noexcept</span></span>
|
||
</dt>
|
||
<dd>Gets a raw reference to a node's underlying data (const rvalue overload).</dd>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename T</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a302e5bc2e4796e9b1ae60b002911a007">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 <<span class="m-doc-template-params"><span class="m-doc-template-param">typename T</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#a11f4ae869670d876f704f676f0ead81b">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 <<span class="m-doc-template-params"><span class="m-doc-template-param">typename T</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#ad1c332ae403fade90216726105419efc">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 <<span class="m-doc-template-params"><span class="m-doc-template-param">typename Func</span></span>></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 <<span class="m-doc-template-params"><span class="m-doc-template-param">typename Func</span></span>></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 <<span class="m-doc-template-params"><span class="m-doc-template-param">typename Func</span></span>></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>
|
||
<dt>
|
||
<div class="m-doc-template">template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename Func</span></span>></div>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="classtoml_1_1node.html#ac387cb04111addc0c291ecdd6f299666">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 rvalue overload).</dd>
|
||
</dl>
|
||
</section>
|
||
<section id="friends">
|
||
<h2><a href="#friends">Friends</a></h2>
|
||
<dl class="m-doc">
|
||
<dt>
|
||
<span class="m-doc-wrap-bumper">auto <a class="m-doc" href="#ada82b30641e7546cfe89ece1db7436cc">operator<<</a>(</span><span class="m-doc-wrap"><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html" target="_blank">std::<wbr/>ostream</a>& lhs,
|
||
const <a class="m-doc" href="classtoml_1_1array.html">array</a>& rhs) → <a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html" target="_blank">std::<wbr/>ostream</a>&</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="acb17a58f1fbdb12aeaf8f7d1e8093e5c"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span>, <span class="m-doc-template-param">typename... ElemTypes</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper"> <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#acb17a58f1fbdb12aeaf8f7d1e8093e5c">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="nn">toml</span><span class="o">::</span><span class="nc">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"sv</span><span class="p">,</span> <span class="nn">toml</span><span class="o">::</span><span class="nc">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="nn">std</span><span class="o">::</span><span class="nc">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="nn">toml</span><span class="o">::</span><span class="nc">array</span><span class="p">{</span> <span class="nn">toml</span><span class="o">::</span><span class="nc">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="nn">toml</span><span class="o">::</span><span class="nc">array</span><span class="p">{</span> <span class="nn">toml</span><span class="o">::</span><span class="nf">inserter</span><span class="p">{</span> <span class="nn">toml</span><span class="o">::</span><span class="nc">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="nn">std</span><span class="o">::</span><span class="nc">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="nn">std</span><span class="o">::</span><span class="nc">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="af06c7437a0946a9d5e093d903b59f6a4"><div>
|
||
<h3>
|
||
<span class="m-doc-wrap-bumper">bool <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></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 <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></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="a22389a9ed9444fe52be10c4acbdec908"><div>
|
||
<h3>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></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="#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><a class="m-doc poxy-injected poxy-external poxy-cppreference poxy-named-requirement" href="https://en.cppreference.com/w/cpp/named_req/Iterator" target="_blank">Iterator</a> to the element being erased.</td>
|
||
</tr>
|
||
</tbody>
|
||
<tfoot>
|
||
<tr>
|
||
<th>Returns</th>
|
||
<td><a class="m-doc poxy-injected poxy-external poxy-cppreference poxy-named-requirement" href="https://en.cppreference.com/w/cpp/named_req/Iterator" target="_blank">Iterator</a> 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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">std</span><span class="o">::</span><span class="nc">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="nf">erase</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="nf">cbegin</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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="#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></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="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> first,
|
||
<a class="m-doc" href="#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><a class="m-doc poxy-injected poxy-external poxy-cppreference poxy-named-requirement" href="https://en.cppreference.com/w/cpp/named_req/Iterator" target="_blank">Iterator</a> to the first element being erased.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>last</td>
|
||
<td><a class="m-doc poxy-injected poxy-external poxy-cppreference poxy-named-requirement" href="https://en.cppreference.com/w/cpp/named_req/Iterator" target="_blank">Iterator</a> to the one-past-the-last element being erased.</td>
|
||
</tr>
|
||
</tbody>
|
||
<tfoot>
|
||
<tr>
|
||
<th>Returns</th>
|
||
<td><a class="m-doc poxy-injected poxy-external poxy-cppreference poxy-named-requirement" href="https://en.cppreference.com/w/cpp/named_req/Iterator" target="_blank">Iterator</a> 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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">std</span><span class="o">::</span><span class="nc">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="nf">erase</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="nf">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="nf">cbegin</span><span class="p">()</span> <span class="o">+</span> <span class="mi">3</span><span class="p">);</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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="a3a550518aab77d3d49a0f238a4154e80"><div>
|
||
<h3>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html">array</a>& <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a3a550518aab77d3d49a0f238a4154e80">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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">toml</span><span class="o">::</span><span class="nc">array</span><span class="p">{}</span> <span class="p">};</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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="nf">flatten</span><span class="p">();</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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="a5590a52dba222033290c8b5c995466c8"><div>
|
||
<h3>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html">array</a>& <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a5590a52dba222033290c8b5c995466c8">prune</a>(</span><span class="m-doc-wrap">bool recursive = true) & <span class="m-label m-success">noexcept</span></span></span>
|
||
</h3>
|
||
<p>Removes empty child arrays and tables.</p>
|
||
<table class="m-table m-fullwidth m-flat">
|
||
<thead>
|
||
<tr><th colspan="2">Parameters</th></tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td style="width: 1%">recursive</td>
|
||
<td>Should child arrays and tables themselves be pruned?</td>
|
||
</tr>
|
||
</tbody>
|
||
<tfoot>
|
||
<tr>
|
||
<th>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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">toml</span><span class="o">::</span><span class="nc">array</span><span class="p">{</span> <span class="p">},</span> <span class="nn">toml</span><span class="o">::</span><span class="nc">array</span><span class="p">{</span> <span class="mi">3</span><span class="p">,</span> <span class="nn">toml</span><span class="o">::</span><span class="nc">array</span><span class="p">{</span> <span class="p">}</span> <span class="p">},</span> <span class="mi">4</span> <span class="p">};</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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="nf">prune</span><span class="p">(</span><span class="k">true</span><span class="p">);</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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 ]</span>
|
||
<span class="go">[ 1, 2, [ 3 ], 4 ]</span></pre>
|
||
</div></section>
|
||
<section class="m-doc-details" id="abaebb654e760589f43d16ccb3971cae8"><div>
|
||
<h3>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html">array</a>&& <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#abaebb654e760589f43d16ccb3971cae8">prune</a>(</span><span class="m-doc-wrap">bool recursive = true) && <span class="m-label m-success">noexcept</span></span></span>
|
||
</h3>
|
||
<p>Removes empty child arrays and tables (rvalue 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%">recursive</td>
|
||
<td>Should child arrays and tables themselves be pruned?</td>
|
||
</tr>
|
||
</tbody>
|
||
<tfoot>
|
||
<tr>
|
||
<th>Returns</th>
|
||
<td>An rvalue reference to the array.</td>
|
||
</tr>
|
||
</tfoot>
|
||
</table>
|
||
</div></section>
|
||
<section class="m-doc-details" id="a4110b96386b33097a255f3694ac01d4a"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType = void</span>, <span class="m-doc-template-param">typename... Args</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a4110b96386b33097a255f3694ac01d4a">emplace</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
||
Args && ... args)</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="nn">toml</span><span class="o">::</span><span class="nc">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 poxy-cppreference" 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="nn">std</span><span class="o">::</span><span class="nc">string</span><span class="o">></span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="nf">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"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="nn">std</span><span class="o">::</span><span class="nc">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="#a17c7e34b433ea8907186dbb1788c9d37">insert()</a> and <a class="m-doc" href="#a4110b96386b33097a255f3694ac01d4a">emplace()</a> for trivial value types (floats, ints, bools).</p></aside>
|
||
</div></section>
|
||
<section class="m-doc-details" id="ad1383e120e7f8d8fe54e07dab164bd6d"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType = void</span>, <span class="m-doc-template-param">typename... Args</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper">decltype(auto) <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#ad1383e120e7f8d8fe54e07dab164bd6d">emplace_back</a>(</span><span class="m-doc-wrap">Args && ... args)</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>Element 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 elements'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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">toml</span><span class="o">::</span><span class="nc">array</span><span class="o">></span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="s">"four"sv</span><span class="p">);</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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="#ab7188537b351ef3a756b54b83e4b05b3">push_<wbr/>back()</a> and <a class="m-doc" href="#ad1383e120e7f8d8fe54e07dab164bd6d">emplace_<wbr/>back()</a> For trivial value types (floats, ints, bools).</p></aside>
|
||
</div></section>
|
||
<section class="m-doc-details" id="a17c7e34b433ea8907186dbb1788c9d37"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a17c7e34b433ea8907186dbb1788c9d37">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
||
ElemType&& val,
|
||
<a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>)</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>
|
||
<tr>
|
||
<td>flags</td>
|
||
<td>Value flags to apply to new values.</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 a null <a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>:</em></strong>
|
||
<a class="m-doc" href="#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="nn">toml</span><span class="o">::</span><span class="nc">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="nf">insert</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="nf">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="nf">insert</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="nf">cend</span><span class="p">(),</span> <span class="nn">toml</span><span class="o">::</span><span class="nc">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="nn">std</span><span class="o">::</span><span class="nc">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="#adaf908b0cc3e8bcb1ee9ec9ec706d223">end()</a></code> if the input value was a null <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="a55a9e6e742e556ea07573d29c23ce7df"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a55a9e6e742e556ea07573d29c23ce7df">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
||
<a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> count,
|
||
ElemType&& val,
|
||
<a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>)</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>
|
||
<tr>
|
||
<td>flags</td>
|
||
<td>Value flags to apply to new values.</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 a null <a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>:</em></strong>
|
||
<a class="m-doc" href="#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="nn">toml</span><span class="o">::</span><span class="nc">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="nf">insert</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="nf">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="nn">std</span><span class="o">::</span><span class="nc">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="#adaf908b0cc3e8bcb1ee9ec9ec706d223">end()</a></code> if the input value was a null <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="a60a0d39bfd8721cef23e155f5504d54d"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename Iter</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a60a0d39bfd8721cef23e155f5504d54d">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
||
Iter first,
|
||
Iter last,
|
||
<a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>)</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 poxy-cppreference poxy-named-requirement" 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><a class="m-doc poxy-injected poxy-external poxy-cppreference poxy-named-requirement" href="https://en.cppreference.com/w/cpp/named_req/Iterator" target="_blank">Iterator</a> to the first node or value being inserted.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>last</td>
|
||
<td><a class="m-doc poxy-injected poxy-external poxy-cppreference poxy-named-requirement" href="https://en.cppreference.com/w/cpp/named_req/Iterator" target="_blank">Iterator</a> to the one-past-the-last node or value being inserted.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>flags</td>
|
||
<td>Value flags to apply to new values.</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 null <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="a1baecd5d579afb508886572674b89781"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a1baecd5d579afb508886572674b89781">insert</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
||
<a class="m-doc-external poxy-cppreference 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="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>)</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>
|
||
<tr>
|
||
<td>flags</td>
|
||
<td>Value flags to apply to new values.</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 null <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="ab7188537b351ef3a756b54b83e4b05b3"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper">void <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#ab7188537b351ef3a756b54b83e4b05b3">push_back</a>(</span><span class="m-doc-wrap">ElemType&& val,
|
||
<a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>)</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>
|
||
<tr>
|
||
<td>flags</td>
|
||
<td>Value flags to apply to new values.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<pre class="m-code"><span class="k">auto</span> <span class="n">arr</span> <span class="o">=</span> <span class="nn">toml</span><span class="o">::</span><span class="nc">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="nf">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="nf">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="nf">push_back</span><span class="p">(</span><span class="nn">toml</span><span class="o">::</span><span class="nc">array</span><span class="p">{</span> <span class="mi">5</span><span class="p">,</span> <span class="s">"six"sv</span> <span class="p">});</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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 a null <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="a37a8a283e6c1cbeef757b2e59489ee6c"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="#a62a18471ca7c5b06204d2e26c963f833">iterator</a> <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a37a8a283e6c1cbeef757b2e59489ee6c">replace</a>(</span><span class="m-doc-wrap"><a class="m-doc" href="#adfd38318d3390a76f073a83fd2f2aa21">const_<wbr/>iterator</a> pos,
|
||
ElemType&& val,
|
||
<a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>)</span></span>
|
||
</h3>
|
||
<p>Replaces the element at a specific position in the array with a different value.</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>
|
||
<tr>
|
||
<td>flags</td>
|
||
<td>Value flags to apply to new values.</td>
|
||
</tr>
|
||
</tbody>
|
||
<tfoot>
|
||
<tr>
|
||
<th>Returns</th>
|
||
<td><strong><em>Valid input:</em></strong> An iterator to the replaced element. <strong><em>Input is a null <a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>:</em></strong>
|
||
<a class="m-doc" href="#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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">std</span><span class="o">::</span><span class="nc">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="nf">replace</span><span class="p">(</span><span class="n">arr</span><span class="p">.</span><span class="nf">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="nn">std</span><span class="o">::</span><span class="nc">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, 'two', 3 ]</span></pre><aside class="m-note m-warning"><h4>Attention</h4><p>The return value will always be <code><a class="m-doc" href="#adaf908b0cc3e8bcb1ee9ec9ec706d223">end()</a></code> if the input value was a null <a class="m-doc" href="classtoml_1_1node__view.html">toml::<wbr/>node_view</a>, because no replacement can take place. This is the only circumstance in which this can occur.</p></aside>
|
||
</div></section>
|
||
<section class="m-doc-details" id="aec78fef35741a66cd32ddb6bd07c3d4a"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename Func</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1array.html">array</a>& <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#aec78fef35741a66cd32ddb6bd07c3d4a">for_each</a>(</span><span class="m-doc-wrap">Func&& visitor) & <span class="m-label m-success">noexcept(…)</span></span></span>
|
||
</h3>
|
||
<p>Invokes a visitor on each element 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%">Func</td>
|
||
<td><p>A callable type invocable with one of the following signatures:</p><ul><li><code>func(elem, index)</code></li><li><code>func(elem)</code></li><li><code>func(index, elem)</code></li></ul><p>Where:</p><ul><li><code>elem</code> will recieve the element as it's concrete type with cvref-qualifications matching the array</li><li><code>index</code> will recieve a <code><a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a></code> indicating the element's index</li></ul><p>Visitors returning <code>bool</code> (or something convertible to <code>bool</code>) will cause iteration to stop if they return <code>false</code>.</p></td>
|
||
</tr>
|
||
</tbody>
|
||
<thead>
|
||
<tr><th colspan="2">Parameters</th></tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>visitor</td>
|
||
<td>The visitor object.</td>
|
||
</tr>
|
||
</tbody>
|
||
<tfoot>
|
||
<tr>
|
||
<th>Returns</th>
|
||
<td>A reference to the array.</td>
|
||
</tr>
|
||
</tfoot>
|
||
</table>
|
||
<pre class="m-code"><span class="nn">toml</span><span class="o">::</span><span class="nc">array</span> <span class="n">arr</span><span class="p">{</span> <span class="mi">0</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="mf">3.0</span><span class="p">,</span> <span class="s">"four"</span><span class="p">,</span> <span class="s">"five"</span><span class="p">,</span> <span class="mi">6</span> <span class="p">};</span>
|
||
|
||
<span class="c1">// select only the integers using a strongly-typed visitor</span>
|
||
<span class="n">arr</span><span class="p">.</span><span class="nf">for_each</span><span class="p">([](</span><span class="nn">toml</span><span class="o">::</span><span class="nc">value</span><span class="o"><</span><span class="nc"><a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/integer" target="_blank">int64_t</a></span><span class="o">>&</span> <span class="n">elem</span><span class="p">)</span>
|
||
<span class="p">{</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="n">elem</span> <span class="o"><<</span> <span class="s">", "</span><span class="p">;</span>
|
||
<span class="p">});</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">cout</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">// select all the numeric values using a generic visitor + is_number<> metafunction</span>
|
||
<span class="n">arr</span><span class="p">.</span><span class="nf">for_each</span><span class="p">([](</span><span class="k">auto</span><span class="o">&&</span> <span class="n">elem</span><span class="p">)</span>
|
||
<span class="p">{</span>
|
||
<span class="k">if</span> <span class="k">constexpr</span> <span class="p">(</span><span class="nn">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">elem</span><span class="p">)</span><span class="o">></span><span class="p">)</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="n">elem</span> <span class="o"><<</span> <span class="s">", "</span><span class="p">;</span>
|
||
<span class="p">});</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">cout</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">// select all the numeric values until we encounter something non-numeric</span>
|
||
<span class="n">arr</span><span class="p">.</span><span class="nf">for_each</span><span class="p">([](</span><span class="k">auto</span><span class="o">&&</span> <span class="n">elem</span><span class="p">)</span>
|
||
<span class="p">{</span>
|
||
<span class="k">if</span> <span class="k">constexpr</span> <span class="p">(</span><span class="nn">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">elem</span><span class="p">)</span><span class="o">></span><span class="p">)</span>
|
||
<span class="p">{</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="n">elem</span> <span class="o"><<</span> <span class="s">", "</span><span class="p">;</span>
|
||
<span class="k">return</span> <span class="k">true</span><span class="p">;</span> <span class="c1">// "keep going"</span>
|
||
<span class="p">}</span>
|
||
<span class="k">else</span>
|
||
<span class="k">return</span> <span class="k">false</span><span class="p">;</span> <span class="c1">// "stop!"</span>
|
||
|
||
<span class="p">});</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">cout</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">0, 1, 2, 6,</span>
|
||
<span class="go">0, 1, 2, 3.0, 6,</span>
|
||
<span class="go">0, 1, 2, 3.0,</span></pre><aside class="m-note m-default"><h4>See also</h4><p><a class="m-doc" href="classtoml_1_1node.html#ad47390f3832260db7bf06cd282598240">node::<wbr/>visit()</a></p></aside>
|
||
</div></section>
|
||
<section class="m-doc-details" id="ab1aca2337ffce7e583a2cf303f16259f"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper">void <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#ab1aca2337ffce7e583a2cf303f16259f">resize</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a> new_size,
|
||
ElemType&& default_init_val,
|
||
<a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">value_<wbr/>flags</a> default_init_flags = <a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">preserve_<wbr/>source_<wbr/>value_<wbr/>flags</a>)</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>
|
||
<tr>
|
||
<td>default_init_flags</td>
|
||
<td>Value flags to apply to new values created if new elements are created by growing.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<pre class="m-code"><p class="m-note m-success poxy-godbolt"><a class="poxy-external poxy-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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">std</span><span class="o">::</span><span class="nc">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="nf">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="nn">std</span><span class="o">::</span><span class="nc">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="nf">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="nn">std</span><span class="o">::</span><span class="nc">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 <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></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 poxy-cppreference" 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 poxy-godbolt"><a class="poxy-external poxy-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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">std</span><span class="o">::</span><span class="nc">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="nf">truncate</span><span class="p">(</span><span class="mi">5</span><span class="p">);</span> <span class="c1">// no-op</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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="nf">truncate</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">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="a79a1fe77c03b33ea2b9d8d0a859c93e6"><div>
|
||
<h3>
|
||
<span class="m-doc-wrap-bumper">bool <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a79a1fe77c03b33ea2b9d8d0a859c93e6">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">final</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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="s">"homogenous: "sv</span> <span class="o"><<</span> <span class="n">arr</span><span class="p">.</span><span class="nf">is_homogeneous</span><span class="p">(</span><span class="nn">toml</span><span class="o">::</span><span class="nc">node_type</span><span class="o">::</span><span class="mi">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="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="s">"all floats: "sv</span> <span class="o"><<</span> <span class="n">arr</span><span class="p">.</span><span class="nf">is_homogeneous</span><span class="p">(</span><span class="nn">toml</span><span class="o">::</span><span class="nc">node_type</span><span class="o">::</span><span class="mi">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="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="s">"all arrays: "sv</span> <span class="o"><<</span> <span class="n">arr</span><span class="p">.</span><span class="nf">is_homogeneous</span><span class="p">(</span><span class="nn">toml</span><span class="o">::</span><span class="nc">node_type</span><span class="o">::</span><span class="mi">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="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="s">"all ints: "sv</span> <span class="o"><<</span> <span class="n">arr</span><span class="p">.</span><span class="nf">is_homogeneous</span><span class="p">(</span><span class="nn">toml</span><span class="o">::</span><span class="nc">node_type</span><span class="o">::</span><span class="mi">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="ae4e986f9fdb23090f9a0b3716a63e8bb"><div>
|
||
<h3>
|
||
<span class="m-doc-wrap-bumper">bool <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#ae4e986f9fdb23090f9a0b3716a63e8bb">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">final</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="nn">toml</span><span class="o">::</span><span class="nf">parse</span><span class="p">(</span><span class="s">"arr = [ 1, 2, 3, 4.0 ]"</span><span class="p">);</span>
|
||
<span class="nn">toml</span><span class="o">::</span><span class="nc">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="nf">as_array</span><span class="p">();</span>
|
||
|
||
<span class="nn">toml</span><span class="o">::</span><span class="nc">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="nf">is_homogeneous</span><span class="p">(</span><span class="nn">toml</span><span class="o">::</span><span class="nc">node_type</span><span class="o">::</span><span class="mi">integer</span><span class="p">,</span> <span class="n">nonmatch</span><span class="p">))</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="s">"array was homogeneous"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="nn">std</span><span class="o">::</span><span class="nc">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 "sv</span> <span class="o"><<</span> <span class="n">nonmatch</span><span class="o">-></span><span class="nf">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="nf">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 class="m-doc-details" id="a442d80f39922d05c46b4a7d9a5455585"><div>
|
||
<h3>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc" href="classtoml_1_1node.html">node</a>* <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a442d80f39922d05c46b4a7d9a5455585">get</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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 a pointer to 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="nn">toml</span><span class="o">::</span><span class="nc">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="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="s">"element [0] exists: "sv</span> <span class="o"><<</span> <span class="o">!!</span><span class="n">arr</span><span class="p">.</span><span class="nf">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="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="s">"element [1] exists: "sv</span> <span class="o"><<</span> <span class="o">!!</span><span class="n">arr</span><span class="p">.</span><span class="nf">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="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="s">"element [2] exists: "sv</span> <span class="o"><<</span> <span class="o">!!</span><span class="n">arr</span><span class="p">.</span><span class="nf">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="nn">toml</span><span class="o">::</span><span class="nc">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="nf">get</span><span class="p">(</span><span class="mi">0</span><span class="p">))</span>
|
||
<span class="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="s">"element [0] is an "sv</span> <span class="o"><<</span> <span class="n">val</span><span class="o">-></span><span class="nf">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="a0fb727f90506419f2e950b5d0e5160a9"><div>
|
||
<h3>
|
||
<span class="m-doc-wrap-bumper">const <a class="m-doc" href="classtoml_1_1node.html">node</a>* <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a0fb727f90506419f2e950b5d0e5160a9">get</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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 a pointer to 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="a7ab30b16bb727e0595d0bd4adfcd9455"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper">impl::wrap_node<ElemType>* <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a7ab30b16bb727e0595d0bd4adfcd9455">get_as</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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 a pointer to 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="nn">toml</span><span class="o">::</span><span class="nc">array</span><span class="p">{</span> <span class="mi">42</span><span class="p">,</span> <span class="s">"is the meaning of life, apparently."sv</span> <span class="p">};</span>
|
||
<span class="k">if</span> <span class="p">(</span><span class="nn">toml</span><span class="o">::</span><span class="nc">value</span><span class="o"><</span><span class="nc"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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="nc"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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="nn">std</span><span class="o">::</span><span class="nc">cout</span> <span class="o"><<</span> <span class="s">"element [0] is an integer with value "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="a17dc014c1c5e64dd9d4f118ddc066ed8"><div>
|
||
<h3>
|
||
<div class="m-doc-template">
|
||
template <<span class="m-doc-template-params"><span class="m-doc-template-param">typename ElemType</span></span>>
|
||
</div>
|
||
<span class="m-doc-wrap-bumper">const impl::wrap_node<ElemType>* <span class="m-doc-details-prefix">toml::<wbr/>array::<wbr/></span></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#a17dc014c1c5e64dd9d4f118ddc066ed8">get_as</a>(</span><span class="m-doc-wrap"><a class="m-doc poxy-injected poxy-external poxy-cppreference" 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 a pointer to 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="ada82b30641e7546cfe89ece1db7436cc"><div>
|
||
<h3>
|
||
<span class="m-doc-wrap-bumper"><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html" target="_blank">std::<wbr/>ostream</a>& </span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a class="m-doc-self" href="#ada82b30641e7546cfe89ece1db7436cc">operator<<</a>(</span><span class="m-doc-wrap"><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html" target="_blank">std::<wbr/>ostream</a>& lhs,
|
||
const <a class="m-doc" href="classtoml_1_1array.html">array</a>& rhs)</span></span>
|
||
</h3>
|
||
<p>Prints the array out to a stream as formatted TOML.</p>
|
||
<aside class="m-block m-special"><h4>Conditional availability </h4><p>This operator is only available when <a class="m-doc" href="group__configuration.html#ga9fc77582d9de77f59d2ddc9ae1f748ca">TOML_<wbr/>ENABLE_<wbr/>FORMATTERS</a> is enabled.</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-v2.js"></script><script>install_mcss_search_shim();</script>
|
||
<script async="async" src="searchdata-v2.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="sponsor poxy-external" href="https://github.com/sponsors/marzer" target="_blank">Become a sponsor</a>
|
||
• <a href="poxy_changelog.html">Changelog</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/>
|
||
Site generated using <a class="poxy-external" href="https://github.com/marzer/poxy/" target="_blank">Poxy</a>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</nav></footer>
|
||
|
||
|
||
</body></html> |