2022-11-28 19:21:26 +08:00
|
|
|
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
|
|
|
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.4" xml:lang="en-US">
|
|
|
|
<compounddef id="json_2InputArchive_8h" kind="file" language="C++">
|
|
|
|
<compoundname>json/InputArchive.h</compoundname>
|
|
|
|
<includes refid="Archive_8h" local="yes">terse/Archive.h</includes>
|
|
|
|
<includes refid="Common_8h" local="yes">terse/archives/Common.h</includes>
|
|
|
|
<includes refid="Traits_8h" local="yes">terse/archives/Traits.h</includes>
|
|
|
|
<includes refid="Anchor_8h" local="yes">terse/types/Anchor.h</includes>
|
|
|
|
<includes refid="ArchiveOffset_8h" local="yes">terse/types/ArchiveOffset.h</includes>
|
|
|
|
<includes refid="ArchiveSize_8h" local="yes">terse/types/ArchiveSize.h</includes>
|
|
|
|
<includes refid="Blob_8h" local="yes">terse/types/Blob.h</includes>
|
|
|
|
<includes refid="CharInputStreamBuf_8h" local="yes">terse/types/CharInputStreamBuf.h</includes>
|
|
|
|
<includes refid="DynArray_8h" local="yes">terse/types/DynArray.h</includes>
|
|
|
|
<includes refid="Transparent_8h" local="yes">terse/types/Transparent.h</includes>
|
|
|
|
<includes refid="Base64_8h" local="yes">terse/utils/Base64.h</includes>
|
|
|
|
<includes local="no">array</includes>
|
|
|
|
<includes local="no">cassert</includes>
|
|
|
|
<includes local="no">cstddef</includes>
|
|
|
|
<includes local="no">cstdint</includes>
|
|
|
|
<includes local="no">cstring</includes>
|
|
|
|
<includes local="no">memory</includes>
|
|
|
|
<includes local="no">sstream</includes>
|
|
|
|
<includes local="no">string</includes>
|
|
|
|
<includes local="no">tuple</includes>
|
|
|
|
<includes local="no">type_traits</includes>
|
|
|
|
<includes local="no">utility</includes>
|
|
|
|
<includes local="no">vector</includes>
|
|
|
|
<includedby refid="JSONStreamReaderImpl_8h" local="no">JSONStreamReaderImpl.h</includedby>
|
|
|
|
<incdepgraph>
|
|
|
|
<node id="2">
|
|
|
|
<label>terse/Archive.h</label>
|
|
|
|
<link refid="Archive_8h"/>
|
|
|
|
<childnode refid="3" relation="include">
|
|
|
|
</childnode>
|
|
|
|
</node>
|
|
|
|
<node id="4">
|
|
|
|
<label>terse/archives/Common.h</label>
|
|
|
|
<link refid="Common_8h"/>
|
|
|
|
<childnode refid="5" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="8" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="7" relation="include">
|
|
|
|
</childnode>
|
|
|
|
</node>
|
|
|
|
<node id="5">
|
|
|
|
<label>terse/archives/Traits.h</label>
|
|
|
|
<link refid="Traits_8h"/>
|
|
|
|
<childnode refid="6" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="7" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="3" relation="include">
|
|
|
|
</childnode>
|
|
|
|
</node>
|
|
|
|
<node id="1">
|
|
|
|
<label>InputArchive.h</label>
|
|
|
|
<link refid="json_2InputArchive_8h"/>
|
|
|
|
<childnode refid="2" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="4" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="5" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="9" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="10" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="13" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="14" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="21" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="15" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="24" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="25" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="22" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="17" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="11" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="6" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="18" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="12" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="26" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="27" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="8" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="7" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="3" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="28" relation="include">
|
|
|
|
</childnode>
|
|
|
|
</node>
|
|
|
|
<node id="9">
|
|
|
|
<label>terse/types/Anchor.h</label>
|
|
|
|
<link refid="Anchor_8h"/>
|
|
|
|
</node>
|
|
|
|
<node id="10">
|
|
|
|
<label>terse/types/ArchiveOffset.h</label>
|
|
|
|
<link refid="ArchiveOffset_8h"/>
|
|
|
|
<childnode refid="11" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="6" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="12" relation="include">
|
|
|
|
</childnode>
|
|
|
|
</node>
|
|
|
|
<node id="13">
|
|
|
|
<label>terse/types/ArchiveSize.h</label>
|
|
|
|
<link refid="ArchiveSize_8h"/>
|
|
|
|
<childnode refid="9" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="11" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="6" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="12" relation="include">
|
|
|
|
</childnode>
|
|
|
|
</node>
|
|
|
|
<node id="14">
|
|
|
|
<label>terse/types/Blob.h</label>
|
|
|
|
<link refid="Blob_8h"/>
|
|
|
|
<childnode refid="15" relation="include">
|
|
|
|
</childnode>
|
|
|
|
</node>
|
|
|
|
<node id="21">
|
|
|
|
<label>terse/types/CharInputStreamBuf.h</label>
|
|
|
|
<link refid="CharInputStreamBuf_8h"/>
|
|
|
|
<childnode refid="22" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="23" relation="include">
|
|
|
|
</childnode>
|
|
|
|
</node>
|
|
|
|
<node id="15">
|
|
|
|
<label>terse/types/DynArray.h</label>
|
|
|
|
<link refid="DynArray_8h"/>
|
|
|
|
<childnode refid="16" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="17" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="11" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="18" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="19" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="20" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="12" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="7" relation="include">
|
|
|
|
</childnode>
|
|
|
|
</node>
|
|
|
|
<node id="24">
|
|
|
|
<label>terse/types/Transparent.h</label>
|
|
|
|
<link refid="Transparent_8h"/>
|
|
|
|
</node>
|
|
|
|
<node id="25">
|
|
|
|
<label>terse/utils/Base64.h</label>
|
|
|
|
<link refid="Base64_8h"/>
|
|
|
|
<childnode refid="16" relation="include">
|
|
|
|
</childnode>
|
|
|
|
<childnode refid="11" relation="include">
|
|
|
|
</childnode>
|
|
|
|
</node>
|
|
|
|
<node id="16">
|
|
|
|
<label>algorithm</label>
|
|
|
|
</node>
|
|
|
|
<node id="22">
|
|
|
|
<label>array</label>
|
|
|
|
</node>
|
|
|
|
<node id="17">
|
|
|
|
<label>cassert</label>
|
|
|
|
</node>
|
|
|
|
<node id="11">
|
|
|
|
<label>cstddef</label>
|
|
|
|
</node>
|
|
|
|
<node id="6">
|
|
|
|
<label>cstdint</label>
|
|
|
|
</node>
|
|
|
|
<node id="18">
|
|
|
|
<label>cstring</label>
|
|
|
|
</node>
|
|
|
|
<node id="19">
|
|
|
|
<label>functional</label>
|
|
|
|
</node>
|
|
|
|
<node id="20">
|
|
|
|
<label>iterator</label>
|
|
|
|
</node>
|
|
|
|
<node id="12">
|
|
|
|
<label>memory</label>
|
|
|
|
</node>
|
|
|
|
<node id="26">
|
|
|
|
<label>sstream</label>
|
|
|
|
</node>
|
|
|
|
<node id="23">
|
|
|
|
<label>streambuf</label>
|
|
|
|
</node>
|
|
|
|
<node id="27">
|
|
|
|
<label>string</label>
|
|
|
|
</node>
|
|
|
|
<node id="8">
|
|
|
|
<label>tuple</label>
|
|
|
|
</node>
|
|
|
|
<node id="7">
|
|
|
|
<label>type_traits</label>
|
|
|
|
</node>
|
|
|
|
<node id="3">
|
|
|
|
<label>utility</label>
|
|
|
|
</node>
|
|
|
|
<node id="28">
|
|
|
|
<label>vector</label>
|
|
|
|
</node>
|
|
|
|
</incdepgraph>
|
|
|
|
<invincdepgraph>
|
|
|
|
<node id="3">
|
|
|
|
<label>JSONStreamReaderImpl.cpp</label>
|
|
|
|
<link refid="JSONStreamReaderImpl_8cpp"/>
|
|
|
|
</node>
|
|
|
|
<node id="2">
|
|
|
|
<label>JSONStreamReaderImpl.h</label>
|
|
|
|
<link refid="JSONStreamReaderImpl_8h"/>
|
|
|
|
<childnode refid="3" relation="include">
|
|
|
|
</childnode>
|
|
|
|
</node>
|
|
|
|
<node id="1">
|
|
|
|
<label>InputArchive.h</label>
|
|
|
|
<link refid="json_2InputArchive_8h"/>
|
|
|
|
<childnode refid="2" relation="include">
|
|
|
|
</childnode>
|
|
|
|
</node>
|
|
|
|
</invincdepgraph>
|
|
|
|
<innerclass refid="classterse_1_1ExtendableJSONInputArchive" prot="public">terse::ExtendableJSONInputArchive</innerclass>
|
|
|
|
<innerclass refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState" prot="private">terse::ExtendableJSONInputArchive::SerializationState</innerclass>
|
|
|
|
<innerclass refid="classterse_1_1JSONInputArchive" prot="public">terse::JSONInputArchive</innerclass>
|
|
|
|
<innernamespace refid="namespaceterse">terse</innernamespace>
|
|
|
|
<briefdescription>
|
|
|
|
</briefdescription>
|
|
|
|
<detaileddescription>
|
|
|
|
</detaileddescription>
|
|
|
|
<programlisting>
|
|
|
|
<codeline lineno="1"><highlight class="comment">//<sp/>Copyright<sp/>Epic<sp/>Games,<sp/>Inc.<sp/>All<sp/>Rights<sp/>Reserved.</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="2"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="3"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="4"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="5"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="Archive_8h" kindref="compound">terse/Archive.h</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="6"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="Common_8h" kindref="compound">terse/archives/Common.h</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="7"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="Traits_8h" kindref="compound">terse/archives/Traits.h</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="8"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="Anchor_8h" kindref="compound">terse/types/Anchor.h</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="9"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="ArchiveOffset_8h" kindref="compound">terse/types/ArchiveOffset.h</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="10"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="ArchiveSize_8h" kindref="compound">terse/types/ArchiveSize.h</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="Blob_8h" kindref="compound">terse/types/Blob.h</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="12"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="CharInputStreamBuf_8h" kindref="compound">terse/types/CharInputStreamBuf.h</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="13"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="DynArray_8h" kindref="compound">terse/types/DynArray.h</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="14"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="Transparent_8h" kindref="compound">terse/types/Transparent.h</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="15"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="Base64_8h" kindref="compound">terse/utils/Base64.h</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="16"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>_MSC_VER</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(push)</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="19"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(disable<sp/>:<sp/>4365<sp/>4987)</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="20"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="21"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><array></highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="22"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><cassert></highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="23"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><cstddef></highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="24"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><cstdint></highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="25"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><cstring></highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="26"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><memory></highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="27"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><sstream></highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="28"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><string></highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="29"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><tuple></highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="30"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><type_traits></highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="31"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><utility></highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="32"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><vector></highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="33"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>_MSC_VER</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="34"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>#pragma<sp/>warning(pop)</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="35"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="36"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="37"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceterse" kindref="compound">terse</ref><sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="38"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="39"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TExtender,<sp/></highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TStream,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>TSize,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>TOffset></highlight></codeline>
|
|
|
|
<codeline lineno="40" refid="classterse_1_1ExtendableJSONInputArchive" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classterse_1_1ExtendableJSONInputArchive" kindref="compound">ExtendableJSONInputArchive</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1Archive" kindref="compound">Archive</ref><TExtender><sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="41"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
|
|
|
<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Given<sp/>the<sp/>possibility<sp/>of<sp/>both<sp/>32<sp/>and<sp/>64bit<sp/>platforms,<sp/>use<sp/>a<sp/>fixed<sp/>width<sp/>type<sp/>during<sp/>serialization</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="43" refid="classterse_1_1ExtendableJSONInputArchive_1a67490ea0d04c145250ea024a1f4a5369" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="classterse_1_1ExtendableJSONInputArchive_1a67490ea0d04c145250ea024a1f4a5369" kindref="member">SizeType</ref><sp/>=<sp/>TSize;</highlight></codeline>
|
|
|
|
<codeline lineno="44" refid="classterse_1_1ExtendableJSONInputArchive_1ad36624ac23f9b1510123bb4ccd980413" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="classterse_1_1ExtendableJSONInputArchive_1ad36624ac23f9b1510123bb4ccd980413" kindref="member">OffsetType</ref><sp/>=<sp/>TOffset;</highlight></codeline>
|
|
|
|
<codeline lineno="45"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="46"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
|
|
|
<codeline lineno="47" refid="classterse_1_1ExtendableJSONInputArchive_1a55808c1876da7300b79c6c08e6111a00" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="classterse_1_1Archive" kindref="compound">BaseArchive</ref><sp/>=<sp/><ref refid="classterse_1_1Archive" kindref="compound">Archive<TExtender></ref>;</highlight></codeline>
|
|
|
|
<codeline lineno="48"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="49"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
|
|
|
<codeline lineno="50" refid="classterse_1_1ExtendableJSONInputArchive_1a14a4b04ddac793779adca34267a9343b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a14a4b04ddac793779adca34267a9343b" kindref="member">ExtendableJSONInputArchive</ref>(TExtender*<sp/>extender,<sp/>TStream*<sp/>stream_)<sp/>:<sp/><ref refid="classterse_1_1Archive" kindref="compound">BaseArchive</ref>{extender},<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a32a2cb5a88a30fe6665807f6deb56198" kindref="member">streamBuf</ref>{stream_},</highlight></codeline>
|
|
|
|
<codeline lineno="51"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a8e159d3776bad6d10cce7b91be7fc9da" kindref="member">stream</ref>{&<ref refid="classterse_1_1ExtendableJSONInputArchive_1a32a2cb5a88a30fe6665807f6deb56198" kindref="member">streamBuf</ref>},<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>{false,<sp/>false,<sp/>false}<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="53"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="54" refid="classterse_1_1ExtendableJSONInputArchive_1add3ac7122d0d7cf9c39f6405be7b5719" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1add3ac7122d0d7cf9c39f6405be7b5719" kindref="member">isOk</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
|
|
|
|
<codeline lineno="55"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>!<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>;</highlight></codeline>
|
|
|
|
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="57"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="58" refid="classterse_1_1ExtendableJSONInputArchive_1a5712e3134eea2752dd3bae3183148b95" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a5712e3134eea2752dd3bae3183148b95" kindref="member">sync</ref>()<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="60"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="61" refid="classterse_1_1ExtendableJSONInputArchive_1af6d9e3786dc71c82d18300e32e6f50dc" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1af6d9e3786dc71c82d18300e32e6f50dc" kindref="member">label</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>value)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="63"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="65"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="67"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a64a5a23c63fd467a467d9313789fe040" kindref="member">firstMember</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="69"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a64a5a23c63fd467a467d9313789fe040" kindref="member">firstMember</ref><sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">','</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="72"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="74"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="76"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="77"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">'"'</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="80"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(std::size_t<sp/>i<sp/>=<sp/>{};<sp/>i<sp/><<sp/>std::strlen(value);<sp/>++i)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(value[i]))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="85"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="86"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">'"'</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="90"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="92"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="93"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">':'</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="95"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="96"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="99"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
|
|
|
|
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T></highlight></codeline>
|
|
|
|
<codeline lineno="102" refid="classterse_1_1ExtendableJSONInputArchive_1a12dd3ef452d031ca8b62aa35f6c8e1c6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a12dd3ef452d031ca8b62aa35f6c8e1c6" kindref="member">process</ref>(<ref refid="structterse_1_1Transparent" kindref="compound">Transparent<T></ref>&&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="103"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a840923cda19f36f5f70c68f20e331956" kindref="member">pushTransparency</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a12dd3ef452d031ca8b62aa35f6c8e1c6" kindref="member">process</ref>(dest.data);</highlight></codeline>
|
|
|
|
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="106"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="107" refid="classterse_1_1ExtendableJSONInputArchive_1ad66c4c9bd5a2cb7e5ecbc9438e198147" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ad66c4c9bd5a2cb7e5ecbc9438e198147" kindref="member">process</ref>(<ref refid="structterse_1_1Anchor" kindref="compound">Anchor<OffsetType></ref>&<sp/><sp/></highlight><highlight class="comment">/*unused*/</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Anchor<T><sp/>has<sp/>no<sp/>meaning<sp/>in<sp/>a<sp/>non-binary<sp/>format,<sp/>so<sp/>it's<sp/>just<sp/>silently<sp/>ignored</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="110"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="111" refid="classterse_1_1ExtendableJSONInputArchive_1a42d57d03595e8880807bf580b325ba7a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a42d57d03595e8880807bf580b325ba7a" kindref="member">process</ref>(<ref refid="structterse_1_1ArchiveOffset" kindref="compound">ArchiveOffset<OffsetType></ref>&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="112"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a12dd3ef452d031ca8b62aa35f6c8e1c6" kindref="member">process</ref>(dest.<ref refid="structterse_1_1ArchiveOffset_1a142797b061f46c5cd9f064d9c5ddfe1f" kindref="member">value</ref>);</highlight></codeline>
|
|
|
|
<codeline lineno="113"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="114"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="115" refid="classterse_1_1ExtendableJSONInputArchive_1a1bea01ef3058027492597841759729ef" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a1bea01ef3058027492597841759729ef" kindref="member">process</ref>(</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="structterse_1_1ArchiveOffset_1_1Proxy" kindref="compound">ArchiveOffset<OffsetType>::Proxy</ref>&<sp/><sp/></highlight><highlight class="comment">/*unused*/</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>ArchiveOffset<T>::Proxy<sp/>has<sp/>no<sp/>meaning<sp/>in<sp/>a<sp/>non-binary<sp/>format,<sp/>so<sp/>it's<sp/>just<sp/>silently<sp/>ignored</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="118"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="119" refid="classterse_1_1ExtendableJSONInputArchive_1a0f9836333c52adb3bf6611ca3b198ab2" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a0f9836333c52adb3bf6611ca3b198ab2" kindref="member">process</ref>(</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="structterse_1_1ArchiveOffset_1_1Proxy" kindref="compound">ArchiveOffset<OffsetType>::Proxy</ref>&&<sp/><sp/></highlight><highlight class="comment">/*unused*/</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>ArchiveOffset<T>::Proxy<sp/>has<sp/>no<sp/>meaning<sp/>in<sp/>a<sp/>non-binary<sp/>format,<sp/>so<sp/>it's<sp/>just<sp/>silently<sp/>ignored</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="121"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="122"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="123" refid="classterse_1_1ExtendableJSONInputArchive_1abae9ea0410c361566d49faef3a9a4b70" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1abae9ea0410c361566d49faef3a9a4b70" kindref="member">process</ref>(<ref refid="structterse_1_1ArchiveSize" kindref="compound">ArchiveSize<SizeType, OffsetType></ref>&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a12dd3ef452d031ca8b62aa35f6c8e1c6" kindref="member">process</ref>(dest.<ref refid="structterse_1_1ArchiveSize_1a578f16a55239ee6b2ac04e951e3da075" kindref="member">value</ref>);</highlight></codeline>
|
|
|
|
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="126"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="127" refid="classterse_1_1ExtendableJSONInputArchive_1a714b2df3b2df5a936e827fff6a3a94ee" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a714b2df3b2df5a936e827fff6a3a94ee" kindref="member">process</ref>(</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="structterse_1_1ArchiveSize_1_1Proxy" kindref="compound">ArchiveSize<SizeType, OffsetType>::Proxy</ref>&<sp/><sp/></highlight><highlight class="comment">/*unused*/</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>ArchiveSize<T,<sp/>U>::Proxy<sp/>has<sp/>no<sp/>meaning<sp/>in<sp/>a<sp/>non-binary<sp/>format,<sp/>so<sp/>it's<sp/>just<sp/>silently<sp/>ignored</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="129"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="130"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="131" refid="classterse_1_1ExtendableJSONInputArchive_1adeb86c2c69641590c62c5c7aa248ce96" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1adeb86c2c69641590c62c5c7aa248ce96" kindref="member">process</ref>(</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="structterse_1_1ArchiveSize_1_1Proxy" kindref="compound">ArchiveSize<SizeType, OffsetType>::Proxy</ref>&&<sp/><sp/></highlight><highlight class="comment">/*unused*/</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>ArchiveSize<T,<sp/>U>::Proxy<sp/>has<sp/>no<sp/>meaning<sp/>in<sp/>a<sp/>non-binary<sp/>format,<sp/>so<sp/>it's<sp/>just<sp/>silently<sp/>ignored</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="134"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="135"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>...<sp/>Args></highlight></codeline>
|
|
|
|
<codeline lineno="136" refid="classterse_1_1ExtendableJSONInputArchive_1a4cd4401d71333f4ec67cd0325f3c15a4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a4cd4401d71333f4ec67cd0325f3c15a4" kindref="member">process</ref>(<ref refid="classterse_1_1Blob" kindref="compound">Blob<T, Args...></ref>&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="137"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::basic_string<char,<sp/>std::char_traits<char>,</highlight></codeline>
|
|
|
|
<codeline lineno="138"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1Blob" kindref="compound">Blob</ref><T,<sp/>Args...>::allocator_type><sp/>buffer{dest.<ref refid="classterse_1_1Blob_1a9d143779c4cf73254ea6845c9d3ee4cf" kindref="member">get_allocator</ref>()};</highlight></codeline>
|
|
|
|
<codeline lineno="139"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>dest.size()<sp/>is<sp/>the<sp/>size<sp/>of<sp/>the<sp/>decoded<sp/>data<sp/>already<sp/>(set<sp/>by<sp/>user),<sp/>from<sp/>which<sp/>the<sp/>length<sp/>of<sp/>the</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="140"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>encoded<sp/>data<sp/>is<sp/>calculated<sp/>and<sp/>used<sp/>to<sp/>reserve<sp/>storage<sp/>for<sp/>the<sp/>temporary<sp/>buffer<sp/>where<sp/>the<sp/>encoded</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="141"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>data<sp/>is<sp/>first<sp/>loaded</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>buffer.reserve(<ref refid="namespaceterse_1a86f9ab8fb558bf7219b4ee1d04f7bba9" kindref="member">base64encode</ref>(dest.<ref refid="classterse_1_1Blob_1a7cf202e916939e6b9c12a6adc76af444" kindref="member">size</ref>()));</highlight></codeline>
|
|
|
|
<codeline lineno="143"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Read<sp/>base64-encoded<sp/>data<sp/>into<sp/>temporary<sp/>buffer</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="144"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a12dd3ef452d031ca8b62aa35f6c8e1c6" kindref="member">process</ref>(buffer);</highlight></codeline>
|
|
|
|
<codeline lineno="145"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Decode<sp/>from<sp/>temp<sp/>buffer<sp/>into<sp/>dest</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="146"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceterse_1a8463eac7d23e67677dcd94074404dc09" kindref="member">base64decode</ref>(dest.<ref refid="classterse_1_1Blob_1ac0650cbe35b02e1d3541951ffe6eb082" kindref="member">data</ref>(),<sp/>buffer.data(),<sp/>buffer.size());</highlight></codeline>
|
|
|
|
<codeline lineno="147"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="148"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="149"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T></highlight></codeline>
|
|
|
|
<codeline lineno="150"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>std::enable_if<traits::has_load_member<T>::value,</highlight></codeline>
|
|
|
|
<codeline lineno="151" refid="classterse_1_1ExtendableJSONInputArchive_1a5a33d7a632aa7d21590d5436b6edbbaa" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">>::type<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a5a33d7a632aa7d21590d5436b6edbbaa" kindref="member">process</ref>(T&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="152"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="155"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref><sp/>=<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae4bc88587a4a9a184a4f8de3568ef433" kindref="member">popTransparency</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="158"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ad63c71e42a99d6b403d55f26b198cb19" kindref="member">preStructInput</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="159"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="160"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="161"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dest.load(*</highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">TExtender*</highlight><highlight class="keyword">></highlight><highlight class="normal">(</highlight><highlight class="keyword">this</highlight><highlight class="normal">));</highlight></codeline>
|
|
|
|
<codeline lineno="162"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="163"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="164"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a1ca752b099079764a5e88d3bbf752730" kindref="member">postStructInput</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="165"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="166"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="167"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="168"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T></highlight></codeline>
|
|
|
|
<codeline lineno="169"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>std::enable_if<traits::has_serialize_member<T>::value,</highlight></codeline>
|
|
|
|
<codeline lineno="170" refid="classterse_1_1ExtendableJSONInputArchive_1ad9af18460ed4443121ec96da94b06188" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">>::type<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ad9af18460ed4443121ec96da94b06188" kindref="member">process</ref>(T&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="171"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="172"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="173"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="174"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="175"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref><sp/>=<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae4bc88587a4a9a184a4f8de3568ef433" kindref="member">popTransparency</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="176"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="177"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ad63c71e42a99d6b403d55f26b198cb19" kindref="member">preStructInput</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="178"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="179"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="180"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dest.serialize(*</highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">TExtender*</highlight><highlight class="keyword">></highlight><highlight class="normal">(</highlight><highlight class="keyword">this</highlight><highlight class="normal">));</highlight></codeline>
|
|
|
|
<codeline lineno="181"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="182"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="183"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a1ca752b099079764a5e88d3bbf752730" kindref="member">postStructInput</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="184"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="185"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="186"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="187"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T></highlight></codeline>
|
|
|
|
<codeline lineno="188"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>std::enable_if<traits::has_load_function<T>::value,</highlight></codeline>
|
|
|
|
<codeline lineno="189" refid="classterse_1_1ExtendableJSONInputArchive_1a80b7af82085cc9c7e6c7b92d8c211fef" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">>::type<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a80b7af82085cc9c7e6c7b92d8c211fef" kindref="member">process</ref>(T&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="190"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="192"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="193"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="194"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref><sp/>=<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae4bc88587a4a9a184a4f8de3568ef433" kindref="member">popTransparency</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="195"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="196"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ad63c71e42a99d6b403d55f26b198cb19" kindref="member">preStructInput</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="197"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="198"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="199"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>load(*</highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">TExtender*</highlight><highlight class="keyword">></highlight><highlight class="normal">(</highlight><highlight class="keyword">this</highlight><highlight class="normal">),<sp/>dest);</highlight></codeline>
|
|
|
|
<codeline lineno="200"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a1ca752b099079764a5e88d3bbf752730" kindref="member">postStructInput</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="203"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="204"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="205"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="206"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T></highlight></codeline>
|
|
|
|
<codeline lineno="207"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>std::enable_if<traits::has_serialize_function<T>::value,</highlight></codeline>
|
|
|
|
<codeline lineno="208" refid="classterse_1_1ExtendableJSONInputArchive_1a987a0cbdb59d2daaa34f90340127eb83" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">>::type<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a987a0cbdb59d2daaa34f90340127eb83" kindref="member">process</ref>(T&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="209"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="210"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="211"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="212"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="213"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref><sp/>=<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae4bc88587a4a9a184a4f8de3568ef433" kindref="member">popTransparency</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="214"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="215"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ad63c71e42a99d6b403d55f26b198cb19" kindref="member">preStructInput</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="216"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="217"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="218"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>serialize(*</highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">TExtender*</highlight><highlight class="keyword">></highlight><highlight class="normal">(</highlight><highlight class="keyword">this</highlight><highlight class="normal">),<sp/>dest);</highlight></codeline>
|
|
|
|
<codeline lineno="219"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="220"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="221"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a1ca752b099079764a5e88d3bbf752730" kindref="member">postStructInput</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="222"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="223"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="224"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="225"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T></highlight></codeline>
|
|
|
|
<codeline lineno="226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>std::enable_if<!traits::has_load_member<T>::value<sp/>&&<sp/>!<ref refid="structterse_1_1traits_1_1has__serialize__member" kindref="compound">traits::has_serialize_member<T>::value</ref><sp/>&&</highlight></codeline>
|
|
|
|
<codeline lineno="227"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>!<ref refid="structterse_1_1traits_1_1has__load__function" kindref="compound">traits::has_load_function<T>::value</ref><sp/>&&<sp/>!<ref refid="structterse_1_1traits_1_1has__serialize__function" kindref="compound">traits::has_serialize_function<T>::value</ref>,</highlight></codeline>
|
|
|
|
<codeline lineno="228" refid="classterse_1_1ExtendableJSONInputArchive_1a62d3c97a85a53625b478c7099802d674" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">>::type<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a62d3c97a85a53625b478c7099802d674" kindref="member">process</ref>(T&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="229"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="230"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="231"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="232"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a8e159d3776bad6d10cce7b91be7fc9da" kindref="member">stream</ref><sp/>>><sp/>dest;</highlight></codeline>
|
|
|
|
<codeline lineno="233"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="234"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="235" refid="classterse_1_1ExtendableJSONInputArchive_1abda3dc26d85bd0e15151dad14c798efb" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1abda3dc26d85bd0e15151dad14c798efb" kindref="member">process</ref>(</highlight><highlight class="keywordtype">char</highlight><highlight class="normal">&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="236"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">'"'</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="237"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="238"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="239"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="240"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1aba3dbb63b6bed47e8a816a2fa73437ee" kindref="member">readChar</ref>(&dest))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="241"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="242"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="243"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="244"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">'"'</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="245"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="246"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="247"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="248"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="249" refid="classterse_1_1ExtendableJSONInputArchive_1a8fe1114d3420a17b24fae42f07752e58" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a8fe1114d3420a17b24fae42f07752e58" kindref="member">process</ref>(std::uint8_t&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="250"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::uint16_t<sp/>temp<sp/>=<sp/>{};</highlight></codeline>
|
|
|
|
<codeline lineno="251"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a8e159d3776bad6d10cce7b91be7fc9da" kindref="member">stream</ref><sp/>>><sp/>temp;</highlight></codeline>
|
|
|
|
<codeline lineno="252"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dest<sp/>=<sp/></highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">std::uint8_t</highlight><highlight class="keyword">></highlight><highlight class="normal">(temp);</highlight></codeline>
|
|
|
|
<codeline lineno="253"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="254"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="255" refid="classterse_1_1ExtendableJSONInputArchive_1a38066d5b323b5bd54bd828428c43764c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a38066d5b323b5bd54bd828428c43764c" kindref="member">process</ref>(std::int8_t&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="256"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::int16_t<sp/>temp<sp/>=<sp/>{};</highlight></codeline>
|
|
|
|
<codeline lineno="257"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a8e159d3776bad6d10cce7b91be7fc9da" kindref="member">stream</ref><sp/>>><sp/>temp;</highlight></codeline>
|
|
|
|
<codeline lineno="258"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dest<sp/>=<sp/></highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">std::int8_t</highlight><highlight class="keyword">></highlight><highlight class="normal">(temp);</highlight></codeline>
|
|
|
|
<codeline lineno="259"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="260"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="261"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T,<sp/>std::</highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>N></highlight></codeline>
|
|
|
|
<codeline lineno="262" refid="classterse_1_1ExtendableJSONInputArchive_1a05c488ce317e0f97ab96ae9e0dbb4926" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a05c488ce317e0f97ab96ae9e0dbb4926" kindref="member">process</ref>(std::array<T,<sp/>N>&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="263"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="264"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="265"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="266"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="267"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="268"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">'['</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="269"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="270"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="271"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="272"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="273"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a8e159d3776bad6d10cce7b91be7fc9da" kindref="member">stream</ref>.peek()<sp/>==<sp/></highlight><highlight class="charliteral">']'</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="274"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">']'</highlight><highlight class="normal">);</highlight></codeline>
|
|
|
|
<codeline lineno="275"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="276"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="277"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="278"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keyword">auto</highlight><highlight class="normal">&<sp/>element<sp/>:<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="279"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1Archive_1a0e3a84f35cb1d9799566a4f4df6af694" kindref="member">BaseArchive::dispatch</ref>(element);</highlight></codeline>
|
|
|
|
<codeline lineno="280"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="281"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="282"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="283"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="284"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="285"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>ch<sp/>=<sp/>{};</highlight></codeline>
|
|
|
|
<codeline lineno="286"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1aba3dbb63b6bed47e8a816a2fa73437ee" kindref="member">readChar</ref>(&ch))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="287"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="288"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="289"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ch<sp/>==<sp/></highlight><highlight class="charliteral">','</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="290"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="291"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ch<sp/>==<sp/></highlight><highlight class="charliteral">']'</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="292"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="293"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="294"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="295"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="296"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="297"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="298"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="299"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>...<sp/>Args></highlight></codeline>
|
|
|
|
<codeline lineno="300" refid="classterse_1_1ExtendableJSONInputArchive_1aec72229c1dbdd3727b82f9609c3e58e4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1aec72229c1dbdd3727b82f9609c3e58e4" kindref="member">process</ref>(std::vector<T,<sp/>Args...>&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="301"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="302"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="303"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="304"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="305"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="306"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">'['</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="307"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="308"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="309"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="310"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="311"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a8e159d3776bad6d10cce7b91be7fc9da" kindref="member">stream</ref>.peek()<sp/>==<sp/></highlight><highlight class="charliteral">']'</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="312"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">']'</highlight><highlight class="normal">);</highlight></codeline>
|
|
|
|
<codeline lineno="313"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="314"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="315"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="316"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dest.clear();</highlight></codeline>
|
|
|
|
<codeline lineno="317"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keyword">true</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="318"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dest.push_back(<ref refid="structterse_1_1impl_1_1ValueFactory" kindref="compound">impl::ValueFactory<T>::create</ref>(dest.get_allocator()));</highlight></codeline>
|
|
|
|
<codeline lineno="319"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1Archive_1a0e3a84f35cb1d9799566a4f4df6af694" kindref="member">BaseArchive::dispatch</ref>(dest.back());</highlight></codeline>
|
|
|
|
<codeline lineno="320"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="321"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="322"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="323"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="324"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="325"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>ch<sp/>=<sp/>{};</highlight></codeline>
|
|
|
|
<codeline lineno="326"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1aba3dbb63b6bed47e8a816a2fa73437ee" kindref="member">readChar</ref>(&ch))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="327"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="328"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="329"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ch<sp/>==<sp/></highlight><highlight class="charliteral">','</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="330"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="331"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ch<sp/>==<sp/></highlight><highlight class="charliteral">']'</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="332"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="333"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="334"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="335"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="336"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="337"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="338"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="339"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>...<sp/>Args></highlight></codeline>
|
|
|
|
<codeline lineno="340" refid="classterse_1_1ExtendableJSONInputArchive_1af5aad5c1b12562405a19bca0f78d4bf9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1af5aad5c1b12562405a19bca0f78d4bf9" kindref="member">process</ref>(<ref refid="classterse_1_1DynArray" kindref="compound">DynArray<T, Args...></ref>&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="341"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="342"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="343"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="344"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="345"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="346"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">'['</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="347"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="348"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="349"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="350"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="351"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a8e159d3776bad6d10cce7b91be7fc9da" kindref="member">stream</ref>.peek()<sp/>==<sp/></highlight><highlight class="charliteral">']'</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="352"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">']'</highlight><highlight class="normal">);</highlight></codeline>
|
|
|
|
<codeline lineno="353"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="354"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="355"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="356"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dest.<ref refid="classterse_1_1DynArray_1a059d13c5e37f77c801e81c9fb5ae1608" kindref="member">resize_uninitialized</ref>(1ul);</highlight></codeline>
|
|
|
|
<codeline lineno="357"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::size_t<sp/>validElementCount<sp/>=<sp/>{};</highlight></codeline>
|
|
|
|
<codeline lineno="358"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="359"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keyword">true</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="360"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1Archive_1a0e3a84f35cb1d9799566a4f4df6af694" kindref="member">BaseArchive::dispatch</ref>(dest[validElementCount]);</highlight></codeline>
|
|
|
|
<codeline lineno="361"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="362"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="363"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="364"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="365"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>++validElementCount;</highlight></codeline>
|
|
|
|
<codeline lineno="366"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(validElementCount<sp/>==<sp/>dest.<ref refid="classterse_1_1DynArray_1a2f317866912cd6764477e74115d83bdb" kindref="member">size</ref>())<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="367"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dest.<ref refid="classterse_1_1DynArray_1a059d13c5e37f77c801e81c9fb5ae1608" kindref="member">resize_uninitialized</ref>(dest.<ref refid="classterse_1_1DynArray_1a2f317866912cd6764477e74115d83bdb" kindref="member">size</ref>()<sp/>*<sp/>2ul);</highlight></codeline>
|
|
|
|
<codeline lineno="368"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="369"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="370"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="371"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>ch<sp/>=<sp/>{};</highlight></codeline>
|
|
|
|
<codeline lineno="372"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1aba3dbb63b6bed47e8a816a2fa73437ee" kindref="member">readChar</ref>(&ch))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="373"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="374"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="375"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ch<sp/>==<sp/></highlight><highlight class="charliteral">','</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="376"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="377"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ch<sp/>==<sp/></highlight><highlight class="charliteral">']'</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="378"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="379"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="380"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="381"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="382"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dest.<ref refid="classterse_1_1DynArray_1acf1f49d8ee022b15fa34ed805e09e4e8" kindref="member">resize</ref>(validElementCount);</highlight></codeline>
|
|
|
|
<codeline lineno="383"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="384"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="385"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="386"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>...<sp/>Args></highlight></codeline>
|
|
|
|
<codeline lineno="387" refid="classterse_1_1ExtendableJSONInputArchive_1a7c11e5bb78260fb4c890f917bd2b95d6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a7c11e5bb78260fb4c890f917bd2b95d6" kindref="member">process</ref>(std::basic_string<T,<sp/>Args...>&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="388"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="389"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="390"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="391"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="392"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">'"'</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="393"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="394"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="395"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="396"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dest.clear();</highlight></codeline>
|
|
|
|
<codeline lineno="397"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>ch<sp/>=<sp/>{};</highlight></codeline>
|
|
|
|
<codeline lineno="398"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1aba3dbb63b6bed47e8a816a2fa73437ee" kindref="member">readChar</ref>(&ch))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="399"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ch<sp/>==<sp/></highlight><highlight class="charliteral">'"'</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="400"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="401"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="402"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dest.push_back(ch);</highlight></codeline>
|
|
|
|
<codeline lineno="403"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="404"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="405"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="406"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>This<sp/>should<sp/>not<sp/>be<sp/>reached<sp/>if<sp/>the<sp/>string<sp/>was<sp/>properly<sp/>quoted</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="407"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref><sp/>=<sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="408"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="409"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="410"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>K,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>V></highlight></codeline>
|
|
|
|
<codeline lineno="411" refid="classterse_1_1ExtendableJSONInputArchive_1a2cc009f84b69996dc572707c2c23944e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a2cc009f84b69996dc572707c2c23944e" kindref="member">process</ref>(std::pair<K,<sp/>V>&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="412"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="413"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="414"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="415"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="416"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="417"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">'['</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="418"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="419"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="420"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="421"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="422"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1Archive_1a0e3a84f35cb1d9799566a4f4df6af694" kindref="member">BaseArchive::dispatch</ref>(dest.first);</highlight></codeline>
|
|
|
|
<codeline lineno="423"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="424"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="425"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">','</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="426"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="427"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="428"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="429"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="430"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1Archive_1a0e3a84f35cb1d9799566a4f4df6af694" kindref="member">BaseArchive::dispatch</ref>(dest.second);</highlight></codeline>
|
|
|
|
<codeline lineno="431"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="432"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="433"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">']'</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="434"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="435"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="436"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="437"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="438"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="439"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>K,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>V></highlight></codeline>
|
|
|
|
<codeline lineno="440" refid="classterse_1_1ExtendableJSONInputArchive_1a9095bed4eeeb509c9460f9ad641cc1d4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a9095bed4eeeb509c9460f9ad641cc1d4" kindref="member">process</ref>(std::tuple<K,<sp/>V>&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="441"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="442"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="443"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="444"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="445"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="446"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">'['</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="447"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="448"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="449"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="450"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="451"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1Archive_1a0e3a84f35cb1d9799566a4f4df6af694" kindref="member">BaseArchive::dispatch</ref>(std::get<0>(dest));</highlight></codeline>
|
|
|
|
<codeline lineno="452"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="453"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="454"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">','</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="455"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="456"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="457"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="458"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="459"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1Archive_1a0e3a84f35cb1d9799566a4f4df6af694" kindref="member">BaseArchive::dispatch</ref>(std::get<1>(dest));</highlight></codeline>
|
|
|
|
<codeline lineno="460"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="461"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="462"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">']'</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="463"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="464"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="465"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="466"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="467"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="468"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
|
|
|
<codeline lineno="469" refid="classterse_1_1ExtendableJSONInputArchive_1aba3dbb63b6bed47e8a816a2fa73437ee" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1aba3dbb63b6bed47e8a816a2fa73437ee" kindref="member">readChar</ref>(</highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="470"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1a8e159d3776bad6d10cce7b91be7fc9da" kindref="member">stream</ref>.read(dest,<sp/>1))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="471"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref><sp/>=<sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="472"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="473"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="474"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="475"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="476"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="477" refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>expected)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="478"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>ch<sp/>=<sp/>{};</highlight></codeline>
|
|
|
|
<codeline lineno="479"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1aba3dbb63b6bed47e8a816a2fa73437ee" kindref="member">readChar</ref>(&ch))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="480"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="481"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="482"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ch<sp/>!=<sp/>expected)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="483"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref><sp/>=<sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="484"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="485"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="486"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="487"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="488"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="489" refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>()<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="490"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::ws(<ref refid="classterse_1_1ExtendableJSONInputArchive_1a8e159d3776bad6d10cce7b91be7fc9da" kindref="member">stream</ref>);</highlight></codeline>
|
|
|
|
<codeline lineno="491"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="492"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="493" refid="classterse_1_1ExtendableJSONInputArchive_1ad63c71e42a99d6b403d55f26b198cb19" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ad63c71e42a99d6b403d55f26b198cb19" kindref="member">preStructInput</ref>()<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="494"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a64a5a23c63fd467a467d9313789fe040" kindref="member">firstMember</ref><sp/>=<sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="495"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="496"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="497"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">'{'</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="498"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="499"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="500"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="501"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="502"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="503" refid="classterse_1_1ExtendableJSONInputArchive_1a1ca752b099079764a5e88d3bbf752730" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a1ca752b099079764a5e88d3bbf752730" kindref="member">postStructInput</ref>()<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="504"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="505"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classterse_1_1ExtendableJSONInputArchive_1ac28b1039d09d7b08cc534f77b55ed737" kindref="member">expectChar</ref>(</highlight><highlight class="charliteral">'}'</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="506"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="507"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="508"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae6395d72ebe9a7421fdd9d81cfe5d79b" kindref="member">skipWhiteSpace</ref>();</highlight></codeline>
|
|
|
|
<codeline lineno="509"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="510"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="511" refid="classterse_1_1ExtendableJSONInputArchive_1a840923cda19f36f5f70c68f20e331956" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a840923cda19f36f5f70c68f20e331956" kindref="member">pushTransparency</ref>()<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="512"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a6032912567817dca166ebda65d0911f5" kindref="member">transparent</ref><sp/>=<sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="513"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="514"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="515" refid="classterse_1_1ExtendableJSONInputArchive_1ae4bc88587a4a9a184a4f8de3568ef433" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1ae4bc88587a4a9a184a4f8de3568ef433" kindref="member">popTransparency</ref>()<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="516"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref><sp/>=<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a6032912567817dca166ebda65d0911f5" kindref="member">transparent</ref>;</highlight></codeline>
|
|
|
|
<codeline lineno="517"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>.<ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a6032912567817dca166ebda65d0911f5" kindref="member">transparent</ref><sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
|
|
|
|
<codeline lineno="518"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceterse_1a25545889a90730dd71120d27e294cf86" kindref="member">transparent</ref>;</highlight></codeline>
|
|
|
|
<codeline lineno="519"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="520"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="521"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
|
|
|
<codeline lineno="522" refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState" kindref="compound">SerializationState</ref><sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="523" refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a5040657abb1bd5343ea7a42442d306ae" kindref="member">malformed</ref>;</highlight></codeline>
|
|
|
|
<codeline lineno="524" refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a64a5a23c63fd467a467d9313789fe040" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a64a5a23c63fd467a467d9313789fe040" kindref="member">firstMember</ref>;</highlight></codeline>
|
|
|
|
<codeline lineno="525" refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a6032912567817dca166ebda65d0911f5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState_1a6032912567817dca166ebda65d0911f5" kindref="member">transparent</ref>;</highlight></codeline>
|
|
|
|
<codeline lineno="526"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
|
|
|
|
<codeline lineno="527"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="528"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
|
|
|
<codeline lineno="529" refid="classterse_1_1ExtendableJSONInputArchive_1a32a2cb5a88a30fe6665807f6deb56198" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1CharInputStreamBuf" kindref="compound">CharInputStreamBuf<TStream></ref><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a32a2cb5a88a30fe6665807f6deb56198" kindref="member">streamBuf</ref>;</highlight></codeline>
|
|
|
|
<codeline lineno="530" refid="classterse_1_1ExtendableJSONInputArchive_1a8e159d3776bad6d10cce7b91be7fc9da" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::istream<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a8e159d3776bad6d10cce7b91be7fc9da" kindref="member">stream</ref>;</highlight></codeline>
|
|
|
|
<codeline lineno="531" refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structterse_1_1ExtendableJSONInputArchive_1_1SerializationState" kindref="compound">SerializationState</ref><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a0ddc4da5f182cd15f4540af962f18405" kindref="member">state</ref>;</highlight></codeline>
|
|
|
|
<codeline lineno="532"><highlight class="normal">};</highlight></codeline>
|
|
|
|
<codeline lineno="533"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="534"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>TStream,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>TSize<sp/>=<sp/>std::u</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">32_t,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>TOffset<sp/>=<sp/>TSize></highlight></codeline>
|
|
|
|
<codeline lineno="535" refid="classterse_1_1JSONInputArchive" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classterse_1_1JSONInputArchive" kindref="compound">JSONInputArchive</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive" kindref="compound">ExtendableJSONInputArchive</ref><JSONInputArchive<TStream,<sp/>TSize,<sp/>TOffset>,<sp/>TStream,<sp/>TSize,<sp/>TOffset><sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="536"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
|
|
|
<codeline lineno="537" refid="classterse_1_1JSONInputArchive_1a043397c81c25b744fc8d31d49d6c8720" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="classterse_1_1ExtendableJSONInputArchive" kindref="compound">BaseArchive</ref><sp/>=<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive" kindref="compound">ExtendableJSONInputArchive<JSONInputArchive, TStream, TSize, TOffset></ref>;</highlight></codeline>
|
|
|
|
<codeline lineno="538" refid="classterse_1_1JSONInputArchive_1ab1d8764c7397a1a6fdb4f226ba377029" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1Archive" kindref="compound">Archive<JSONInputArchive></ref>;</highlight></codeline>
|
|
|
|
<codeline lineno="539"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="540"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
|
|
|
<codeline lineno="541" refid="classterse_1_1JSONInputArchive_1a864958067defe740e29fce106e3fa64f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">explicit</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1JSONInputArchive_1a864958067defe740e29fce106e3fa64f" kindref="member">JSONInputArchive</ref>(TStream*<sp/>stream_)<sp/>:<sp/><ref refid="classterse_1_1ExtendableJSONInputArchive" kindref="compound">BaseArchive</ref>{this,<sp/>stream_}<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="542"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="543"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="544"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
|
|
|
<codeline lineno="545"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T></highlight></codeline>
|
|
|
|
<codeline lineno="546" refid="classterse_1_1JSONInputArchive_1ae3fdf14fecb04e3d9306f5dbd0bc8765" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classterse_1_1JSONInputArchive_1ae3fdf14fecb04e3d9306f5dbd0bc8765" kindref="member">process</ref>(T&&<sp/>dest)<sp/>{</highlight></codeline>
|
|
|
|
<codeline lineno="547"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classterse_1_1ExtendableJSONInputArchive_1a12dd3ef452d031ca8b62aa35f6c8e1c6" kindref="member">BaseArchive::process</ref>(std::forward<T>(dest));</highlight></codeline>
|
|
|
|
<codeline lineno="548"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
|
|
<codeline lineno="549"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="550"><highlight class="normal">};</highlight></codeline>
|
|
|
|
<codeline lineno="551"><highlight class="normal"></highlight></codeline>
|
|
|
|
<codeline lineno="552"><highlight class="normal">}<sp/><sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>terse</highlight><highlight class="normal"></highlight></codeline>
|
|
|
|
</programlisting>
|
2022-12-02 21:35:01 +08:00
|
|
|
<location file="C:/source/MetaHuman-DNA-Calibration_clean/dnacalib/DNACalib/src/terse/archives/json/InputArchive.h"/>
|
2022-11-28 19:21:26 +08:00
|
|
|
</compounddef>
|
|
|
|
</doxygen>
|