Compare commits

..

No commits in common. "master" and "gh-pages" have entirely different histories.

933 changed files with 134320 additions and 38037 deletions

View File

@ -1,39 +0,0 @@
# This is a basic workflow to help you get started with Actions
name: Doxygen Action
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ master ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Doxygen Action
uses: mattnotmitt/doxygen-action@v1.1.0
with:
# Path to Doxyfile
doxyfile-path: "./Doxyfile" # default is ./Doxyfile
# Working directory
working-directory: "." # default is .
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
# Default Doxyfile build documentation to html directory.
# Change the directory if changes in Doxyfile
publish_dir: ./doc/html

2
.gitignore vendored
View File

@ -1,2 +0,0 @@
/doc
xcuserdata

4
.gitmodules vendored
View File

@ -1,4 +0,0 @@
[submodule "UnitTests/zlib"]
path = UnitTests/zlib
url = https://github.com/madler/zlib.git
branch = master

0
.nojekyll Normal file
View File

2664
Doxyfile

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +0,0 @@
The MIT License (MIT)
Copyright © 2016-2025 Amebis
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -1,8 +0,0 @@
# stdex - Random stuff that didn't made it into std C++
An auto-generated documentation is [here](https://amebis.github.io/stdex/).
## Requirements
- MSVC 2019 or later, XCode 13 or later
- C++17 or later

View File

@ -1,3 +0,0 @@
/.tmp
/.vs
/*.user

View File

@ -1,31 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.13.35919.96 d17.13
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTests", "UnitTests.vcxproj", "{9AFC377D-C32D-4D42-82C2-09FC818020A2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9AFC377D-C32D-4D42-82C2-09FC818020A2}.Debug|x64.ActiveCfg = Debug|x64
{9AFC377D-C32D-4D42-82C2-09FC818020A2}.Debug|x64.Build.0 = Debug|x64
{9AFC377D-C32D-4D42-82C2-09FC818020A2}.Debug|x86.ActiveCfg = Debug|Win32
{9AFC377D-C32D-4D42-82C2-09FC818020A2}.Debug|x86.Build.0 = Debug|Win32
{9AFC377D-C32D-4D42-82C2-09FC818020A2}.Release|x64.ActiveCfg = Release|x64
{9AFC377D-C32D-4D42-82C2-09FC818020A2}.Release|x64.Build.0 = Release|x64
{9AFC377D-C32D-4D42-82C2-09FC818020A2}.Release|x86.ActiveCfg = Release|Win32
{9AFC377D-C32D-4D42-82C2-09FC818020A2}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BBDB843D-98C3-46EF-BDE8-0E80FD851852}
EndGlobalSection
EndGlobal

View File

@ -1,187 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectGuid>{9AFC377D-C32D-4D42-82C2-09FC818020A2}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>UnitTests</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<ProjectSubType>NativeUnitTestProject</ProjectSubType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir>$(SolutionDir).tmp\$(ProjectName)\$(PlatformTarget)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir).tmp\$(ProjectName)\$(PlatformTarget)\$(Configuration)\</IntDir>
<RunCodeAnalysis>true</RunCodeAnalysis>
<CodeAnalysisRuleSet>NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<EnablePREfast>true</EnablePREfast>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\include;$(VCInstallDir)UnitTest\include;zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>SECURITY_WIN32;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<UseFullPaths>true</UseFullPaths>
<PrecompiledHeaderFile>pch.hpp</PrecompiledHeaderFile>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>Advapi32.lib;Secur32.lib;Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<ItemGroup>
<ClCompile Include="hash.cpp" />
<ClCompile Include="langid.cpp" />
<ClCompile Include="math.cpp" />
<ClCompile Include="parser.cpp" />
<ClCompile Include="pch.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="pool.cpp" />
<ClCompile Include="ring.cpp" />
<ClCompile Include="sgml.cpp" />
<ClCompile Include="stream.cpp" />
<ClCompile Include="string.cpp" />
<ClCompile Include="unicode.cpp" />
<ClCompile Include="watchdog.cpp" />
<ClCompile Include="zlib.cpp" />
<ClCompile Include="zlib\adler32.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
</ClCompile>
<ClCompile Include="zlib\compress.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
</ClCompile>
<ClCompile Include="zlib\crc32.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
</ClCompile>
<ClCompile Include="zlib\deflate.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
</ClCompile>
<ClCompile Include="zlib\inffast.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
</ClCompile>
<ClCompile Include="zlib\inflate.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
</ClCompile>
<ClCompile Include="zlib\inftrees.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
</ClCompile>
<ClCompile Include="zlib\trees.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<DisableSpecificWarnings>6385</DisableSpecificWarnings>
</ClCompile>
<ClCompile Include="zlib\uncompr.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
</ClCompile>
<ClCompile Include="zlib\zutil.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="compat.hpp" />
<ClInclude Include="pch.hpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,99 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Source Files\zlib">
<UniqueIdentifier>{c793ce2d-1a0b-43b6-b0b4-60025ceafa56}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="pch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="sgml.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="parser.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="math.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ring.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="stream.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="unicode.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="hash.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="watchdog.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="pool.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="string.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="zlib.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="zlib\adler32.c">
<Filter>Source Files\zlib</Filter>
</ClCompile>
<ClCompile Include="zlib\compress.c">
<Filter>Source Files\zlib</Filter>
</ClCompile>
<ClCompile Include="zlib\crc32.c">
<Filter>Source Files\zlib</Filter>
</ClCompile>
<ClCompile Include="zlib\deflate.c">
<Filter>Source Files\zlib</Filter>
</ClCompile>
<ClCompile Include="zlib\inffast.c">
<Filter>Source Files\zlib</Filter>
</ClCompile>
<ClCompile Include="zlib\inflate.c">
<Filter>Source Files\zlib</Filter>
</ClCompile>
<ClCompile Include="zlib\inftrees.c">
<Filter>Source Files\zlib</Filter>
</ClCompile>
<ClCompile Include="zlib\trees.c">
<Filter>Source Files\zlib</Filter>
</ClCompile>
<ClCompile Include="zlib\uncompr.c">
<Filter>Source Files\zlib</Filter>
</ClCompile>
<ClCompile Include="zlib\zutil.c">
<Filter>Source Files\zlib</Filter>
</ClCompile>
<ClCompile Include="langid.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="pch.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="compat.hpp">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -1,607 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 55;
objects = {
/* Begin PBXBuildFile section */
F421D4702B750E0F004ECBB0 /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = F421D46F2B750E0F004ECBB0 /* adler32.c */; settings = {COMPILER_FLAGS = "-w"; }; };
F421D4722B750E18004ECBB0 /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = F421D4712B750E18004ECBB0 /* compress.c */; settings = {COMPILER_FLAGS = "-w"; }; };
F421D4742B750E21004ECBB0 /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = F421D4732B750E21004ECBB0 /* crc32.c */; settings = {COMPILER_FLAGS = "-w"; }; };
F421D47C2B750EAE004ECBB0 /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = F421D4752B750EAE004ECBB0 /* inflate.c */; settings = {COMPILER_FLAGS = "-w"; }; };
F421D47D2B750EAE004ECBB0 /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = F421D4762B750EAE004ECBB0 /* deflate.c */; settings = {COMPILER_FLAGS = "-w"; }; };
F421D47E2B750EAE004ECBB0 /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = F421D4772B750EAE004ECBB0 /* inffast.c */; settings = {COMPILER_FLAGS = "-w"; }; };
F421D47F2B750EAE004ECBB0 /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = F421D4782B750EAE004ECBB0 /* zutil.c */; settings = {COMPILER_FLAGS = "-w"; }; };
F421D4802B750EAE004ECBB0 /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = F421D4792B750EAE004ECBB0 /* trees.c */; settings = {COMPILER_FLAGS = "-w"; }; };
F421D4812B750EAE004ECBB0 /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = F421D47A2B750EAE004ECBB0 /* inftrees.c */; settings = {COMPILER_FLAGS = "-w"; }; };
F421D4822B750EAE004ECBB0 /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = F421D47B2B750EAE004ECBB0 /* uncompr.c */; settings = {COMPILER_FLAGS = "-w"; }; };
F44DE97F2D818A9F007E4ECC /* math.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4C07F4E2AB059300044EDC0 /* math.cpp */; };
F44DE9802D818A9F007E4ECC /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4C07F542AB05B5B0044EDC0 /* main.cpp */; };
F44DE9812D818A9F007E4ECC /* ring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4C07F592AB08E690044EDC0 /* ring.cpp */; };
F44DE9822D818A9F007E4ECC /* hash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F437AA902AC1BB64001E2230 /* hash.cpp */; };
F44DE9832D818A9F007E4ECC /* sgml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4C07F582AB08E690044EDC0 /* sgml.cpp */; };
F44DE9842D818A9F007E4ECC /* pool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4CCA3B72B73B940007B857B /* pool.cpp */; };
F44DE9852D818A9F007E4ECC /* watchdog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4CCA3B62B73B912007B857B /* watchdog.cpp */; };
F44DE9862D818A9F007E4ECC /* stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4C07F5A2AB08E690044EDC0 /* stream.cpp */; };
F44DE9872D818A9F007E4ECC /* langid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4481A192C73427600CED93B /* langid.cpp */; };
F44DE9882D818A9F007E4ECC /* pch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4C07F512AB059580044EDC0 /* pch.cpp */; };
F44DE9892D818A9F007E4ECC /* string.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4CCA3B82B73D2E2007B857B /* string.cpp */; };
F44DE98A2D818A9F007E4ECC /* zlib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F421D46B2B750BFD004ECBB0 /* zlib.cpp */; };
F44DE98B2D818A9F007E4ECC /* unicode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4C07F572AB08E690044EDC0 /* unicode.cpp */; };
F44DE98C2D818A9F007E4ECC /* parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4C07F562AB08E690044EDC0 /* parser.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
F4B7FBDA2AAF49BC00C6BE9F /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
F4213D172ABB14C600F72674 /* vector_queue.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = vector_queue.hpp; path = ../include/stdex/vector_queue.hpp; sourceTree = "<group>"; };
F4213D182ABB14C600F72674 /* base64.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = base64.hpp; path = ../include/stdex/base64.hpp; sourceTree = "<group>"; };
F4213D1A2ABB14C600F72674 /* exception.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = exception.hpp; path = ../include/stdex/exception.hpp; sourceTree = "<group>"; };
F4213D1B2ABB14C600F72674 /* idrec.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = idrec.hpp; path = ../include/stdex/idrec.hpp; sourceTree = "<group>"; };
F4213D1C2ABB14C600F72674 /* compat.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = compat.hpp; path = ../include/stdex/compat.hpp; sourceTree = "<group>"; };
F4213D1E2ABB14C600F72674 /* progress.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = progress.hpp; path = ../include/stdex/progress.hpp; sourceTree = "<group>"; };
F4213D1F2ABB14C600F72674 /* stream.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = stream.hpp; path = ../include/stdex/stream.hpp; sourceTree = "<group>"; };
F4213D202ABB14C600F72674 /* memory.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = memory.hpp; path = ../include/stdex/memory.hpp; sourceTree = "<group>"; };
F4213D212ABB14C600F72674 /* interval.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = interval.hpp; path = ../include/stdex/interval.hpp; sourceTree = "<group>"; };
F4213D222ABB14C600F72674 /* ring.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ring.hpp; path = ../include/stdex/ring.hpp; sourceTree = "<group>"; };
F4213D232ABB14C600F72674 /* unicode.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = unicode.hpp; path = ../include/stdex/unicode.hpp; sourceTree = "<group>"; };
F4213D242ABB14C600F72674 /* string.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = string.hpp; path = ../include/stdex/string.hpp; sourceTree = "<group>"; };
F4213D252ABB14C600F72674 /* mapping.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = mapping.hpp; path = ../include/stdex/mapping.hpp; sourceTree = "<group>"; };
F4213D262ABB14C600F72674 /* hex.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = hex.hpp; path = ../include/stdex/hex.hpp; sourceTree = "<group>"; };
F4213D272ABB14C600F72674 /* endian.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = endian.hpp; path = ../include/stdex/endian.hpp; sourceTree = "<group>"; };
F4213D282ABB14C600F72674 /* math.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = math.hpp; path = ../include/stdex/math.hpp; sourceTree = "<group>"; };
F4213D292ABB14C600F72674 /* parser.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = parser.hpp; path = ../include/stdex/parser.hpp; sourceTree = "<group>"; };
F4213D2A2ABB14C600F72674 /* sgml_unicode.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = sgml_unicode.hpp; path = ../include/stdex/sgml_unicode.hpp; sourceTree = "<group>"; };
F4213D2B2ABB14C600F72674 /* sgml.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = sgml.hpp; path = ../include/stdex/sgml.hpp; sourceTree = "<group>"; };
F4213D2C2ABB14C600F72674 /* system.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = system.hpp; path = ../include/stdex/system.hpp; sourceTree = "<group>"; };
F421D46B2B750BFD004ECBB0 /* zlib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zlib.cpp; sourceTree = "<group>"; };
F421D46F2B750E0F004ECBB0 /* adler32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = adler32.c; sourceTree = "<group>"; };
F421D4712B750E18004ECBB0 /* compress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = "<group>"; };
F421D4732B750E21004ECBB0 /* crc32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crc32.c; sourceTree = "<group>"; };
F421D4752B750EAE004ECBB0 /* inflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inflate.c; sourceTree = "<group>"; };
F421D4762B750EAE004ECBB0 /* deflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = deflate.c; sourceTree = "<group>"; };
F421D4772B750EAE004ECBB0 /* inffast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inffast.c; sourceTree = "<group>"; };
F421D4782B750EAE004ECBB0 /* zutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zutil.c; sourceTree = "<group>"; };
F421D4792B750EAE004ECBB0 /* trees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = trees.c; sourceTree = "<group>"; };
F421D47A2B750EAE004ECBB0 /* inftrees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inftrees.c; sourceTree = "<group>"; };
F421D47B2B750EAE004ECBB0 /* uncompr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uncompr.c; sourceTree = "<group>"; };
F437AA902AC1BB64001E2230 /* hash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hash.cpp; sourceTree = "<group>"; };
F4481A192C73427600CED93B /* langid.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = langid.cpp; sourceTree = "<group>"; };
F44DE94A2D818A48007E4ECC /* watchdog.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = watchdog.hpp; path = ../include/stdex/watchdog.hpp; sourceTree = "<group>"; };
F44DE94C2D818A48007E4ECC /* sys_info.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = sys_info.hpp; path = ../include/stdex/sys_info.hpp; sourceTree = "<group>"; };
F44DE94D2D818A48007E4ECC /* langid.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = langid.hpp; path = ../include/stdex/langid.hpp; sourceTree = "<group>"; };
F44DE94E2D818A48007E4ECC /* base64.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = base64.hpp; path = ../include/stdex/base64.hpp; sourceTree = "<group>"; };
F44DE94F2D818A48007E4ECC /* curl.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = curl.hpp; path = ../include/stdex/curl.hpp; sourceTree = "<group>"; };
F44DE9512D818A48007E4ECC /* scoped_executor.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = scoped_executor.hpp; path = ../include/stdex/scoped_executor.hpp; sourceTree = "<group>"; };
F44DE9522D818A48007E4ECC /* windows.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = windows.h; path = ../include/stdex/windows.h; sourceTree = "<group>"; };
F44DE9532D818A48007E4ECC /* zlib.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = zlib.hpp; path = ../include/stdex/zlib.hpp; sourceTree = "<group>"; };
F44DE9542D818A48007E4ECC /* unicode.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = unicode.hpp; path = ../include/stdex/unicode.hpp; sourceTree = "<group>"; };
F44DE9552D818A48007E4ECC /* minisign.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = minisign.hpp; path = ../include/stdex/minisign.hpp; sourceTree = "<group>"; };
F44DE9572D818A48007E4ECC /* math.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = math.hpp; path = ../include/stdex/math.hpp; sourceTree = "<group>"; };
F44DE9582D818A48007E4ECC /* parser.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = parser.hpp; path = ../include/stdex/parser.hpp; sourceTree = "<group>"; };
F44DE9592D818A48007E4ECC /* ring.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = ring.hpp; path = ../include/stdex/ring.hpp; sourceTree = "<group>"; };
F44DE95A2D818A48007E4ECC /* spinlock.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = spinlock.hpp; path = ../include/stdex/spinlock.hpp; sourceTree = "<group>"; };
F44DE95B2D818A49007E4ECC /* string.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = string.hpp; path = ../include/stdex/string.hpp; sourceTree = "<group>"; };
F44DE95C2D818A49007E4ECC /* hash.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = hash.hpp; path = ../include/stdex/hash.hpp; sourceTree = "<group>"; };
F44DE95D2D818A49007E4ECC /* wav.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = wav.hpp; path = ../include/stdex/wav.hpp; sourceTree = "<group>"; };
F44DE95E2D818A49007E4ECC /* endian.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = endian.hpp; path = ../include/stdex/endian.hpp; sourceTree = "<group>"; };
F44DE95F2D818A49007E4ECC /* html.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = html.hpp; path = ../include/stdex/html.hpp; sourceTree = "<group>"; };
F44DE9602D818A49007E4ECC /* hex.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = hex.hpp; path = ../include/stdex/hex.hpp; sourceTree = "<group>"; };
F44DE9622D818A49007E4ECC /* socket.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = socket.hpp; path = ../include/stdex/socket.hpp; sourceTree = "<group>"; };
F44DE9642D818A49007E4ECC /* assert.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = assert.hpp; path = ../include/stdex/assert.hpp; sourceTree = "<group>"; };
F44DE9662D818A49007E4ECC /* exception.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = exception.hpp; path = ../include/stdex/exception.hpp; sourceTree = "<group>"; };
F44DE9672D818A49007E4ECC /* debug.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = debug.hpp; path = ../include/stdex/debug.hpp; sourceTree = "<group>"; };
F44DE9682D818A49007E4ECC /* sgml.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = sgml.hpp; path = ../include/stdex/sgml.hpp; sourceTree = "<group>"; };
F44DE9692D818A49007E4ECC /* chrono.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = chrono.hpp; path = ../include/stdex/chrono.hpp; sourceTree = "<group>"; };
F44DE96A2D818A49007E4ECC /* uuid.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = uuid.hpp; path = ../include/stdex/uuid.hpp; sourceTree = "<group>"; };
F44DE96B2D818A49007E4ECC /* locale.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = locale.hpp; path = ../include/stdex/locale.hpp; sourceTree = "<group>"; };
F44DE96C2D818A4A007E4ECC /* pool.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = pool.hpp; path = ../include/stdex/pool.hpp; sourceTree = "<group>"; };
F44DE96D2D818A4A007E4ECC /* compat.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = compat.hpp; path = ../include/stdex/compat.hpp; sourceTree = "<group>"; };
F44DE96F2D818A4A007E4ECC /* interval.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = interval.hpp; path = ../include/stdex/interval.hpp; sourceTree = "<group>"; };
F44DE9702D818A4A007E4ECC /* idrec.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = idrec.hpp; path = ../include/stdex/idrec.hpp; sourceTree = "<group>"; };
F4C07F502AB059580044EDC0 /* pch.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = pch.hpp; sourceTree = "<group>"; };
F4B7FBDC2AAF49BC00C6BE9F /* UnitTests */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = UnitTests; sourceTree = BUILT_PRODUCTS_DIR; };
F4C07F4E2AB059300044EDC0 /* math.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = math.cpp; sourceTree = "<group>"; };
F4C07F512AB059580044EDC0 /* pch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch.cpp; sourceTree = "<group>"; };
F4C07F532AB05A240044EDC0 /* compat.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = compat.hpp; sourceTree = "<group>"; };
F4C07F542AB05B5B0044EDC0 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
F4C07F562AB08E690044EDC0 /* parser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parser.cpp; sourceTree = "<group>"; };
F4C07F572AB08E690044EDC0 /* unicode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unicode.cpp; sourceTree = "<group>"; };
F4C07F582AB08E690044EDC0 /* sgml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sgml.cpp; sourceTree = "<group>"; };
F4C07F592AB08E690044EDC0 /* ring.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ring.cpp; sourceTree = "<group>"; };
F4C07F5A2AB08E690044EDC0 /* stream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stream.cpp; sourceTree = "<group>"; };
F4CCA3B62B73B912007B857B /* watchdog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = watchdog.cpp; sourceTree = "<group>"; };
F4CCA3B72B73B940007B857B /* pool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pool.cpp; sourceTree = "<group>"; };
F4CCA3B82B73D2E2007B857B /* string.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
F4B7FBD92AAF49BC00C6BE9F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
F4213D162ABB14AA00F72674 /* stdex */ = {
isa = PBXGroup;
children = (
F44DE9642D818A49007E4ECC /* assert.hpp */,
F4213D182ABB14C600F72674 /* base64.hpp */,
F4213D1C2ABB14C600F72674 /* compat.hpp */,
F44DE94F2D818A48007E4ECC /* curl.hpp */,
F44DE9672D818A49007E4ECC /* debug.hpp */,
F4213D272ABB14C600F72674 /* endian.hpp */,
F44DE94E2D818A48007E4ECC /* base64.hpp */,
F44DE9662D818A49007E4ECC /* exception.hpp */,
F44DE9692D818A49007E4ECC /* chrono.hpp */,
F44DE95C2D818A49007E4ECC /* hash.hpp */,
F44DE9602D818A49007E4ECC /* hex.hpp */,
F44DE96D2D818A4A007E4ECC /* compat.hpp */,
F44DE95F2D818A49007E4ECC /* html.hpp */,
F44DE9702D818A4A007E4ECC /* idrec.hpp */,
F44DE95E2D818A49007E4ECC /* endian.hpp */,
F44DE96F2D818A4A007E4ECC /* interval.hpp */,
F44DE94D2D818A48007E4ECC /* langid.hpp */,
F44DE96B2D818A49007E4ECC /* locale.hpp */,
F44DE9572D818A48007E4ECC /* math.hpp */,
F44DE9552D818A48007E4ECC /* minisign.hpp */,
F44DE9582D818A48007E4ECC /* parser.hpp */,
F44DE96C2D818A4A007E4ECC /* pool.hpp */,
F44DE9592D818A48007E4ECC /* ring.hpp */,
F44DE9512D818A48007E4ECC /* scoped_executor.hpp */,
F44DE9682D818A49007E4ECC /* sgml.hpp */,
F44DE9622D818A49007E4ECC /* socket.hpp */,
F44DE95A2D818A48007E4ECC /* spinlock.hpp */,
F44DE95B2D818A49007E4ECC /* string.hpp */,
F44DE94C2D818A48007E4ECC /* sys_info.hpp */,
F44DE9542D818A48007E4ECC /* unicode.hpp */,
F44DE96A2D818A49007E4ECC /* uuid.hpp */,
F44DE94A2D818A48007E4ECC /* watchdog.hpp */,
F44DE95D2D818A49007E4ECC /* wav.hpp */,
F44DE9522D818A48007E4ECC /* windows.h */,
F44DE9532D818A48007E4ECC /* zlib.hpp */,
F4213D1A2ABB14C600F72674 /* exception.hpp */,
F4213D262ABB14C600F72674 /* hex.hpp */,
F4213D1B2ABB14C600F72674 /* idrec.hpp */,
F4213D212ABB14C600F72674 /* interval.hpp */,
F4213D252ABB14C600F72674 /* mapping.hpp */,
F4213D282ABB14C600F72674 /* math.hpp */,
F4213D202ABB14C600F72674 /* memory.hpp */,
F4213D292ABB14C600F72674 /* parser.hpp */,
F4213D1E2ABB14C600F72674 /* progress.hpp */,
F4213D222ABB14C600F72674 /* ring.hpp */,
F4213D2A2ABB14C600F72674 /* sgml_unicode.hpp */,
F4213D2B2ABB14C600F72674 /* sgml.hpp */,
F4213D1F2ABB14C600F72674 /* stream.hpp */,
F4213D242ABB14C600F72674 /* string.hpp */,
F4213D2C2ABB14C600F72674 /* system.hpp */,
F4213D232ABB14C600F72674 /* unicode.hpp */,
F4213D172ABB14C600F72674 /* vector_queue.hpp */,
);
name = stdex;
sourceTree = "<group>";
};
F421D46E2B750D3A004ECBB0 /* zlib */ = {
isa = PBXGroup;
children = (
F421D46F2B750E0F004ECBB0 /* adler32.c */,
F421D4712B750E18004ECBB0 /* compress.c */,
F421D4732B750E21004ECBB0 /* crc32.c */,
F421D4762B750EAE004ECBB0 /* deflate.c */,
F421D4772B750EAE004ECBB0 /* inffast.c */,
F421D4752B750EAE004ECBB0 /* inflate.c */,
F421D47A2B750EAE004ECBB0 /* inftrees.c */,
F421D4792B750EAE004ECBB0 /* trees.c */,
F421D47B2B750EAE004ECBB0 /* uncompr.c */,
F421D4782B750EAE004ECBB0 /* zutil.c */,
);
path = zlib;
sourceTree = "<group>";
};
F4B7FBD32AAF49BC00C6BE9F = {
isa = PBXGroup;
children = (
F4C07F532AB05A240044EDC0 /* compat.hpp */,
F437AA902AC1BB64001E2230 /* hash.cpp */,
F4481A192C73427600CED93B /* langid.cpp */,
F4C07F542AB05B5B0044EDC0 /* main.cpp */,
F4C07F4E2AB059300044EDC0 /* math.cpp */,
F4C07F562AB08E690044EDC0 /* parser.cpp */,
F4C07F512AB059580044EDC0 /* pch.cpp */,
F4C07F502AB059580044EDC0 /* pch.hpp */,
F4CCA3B72B73B940007B857B /* pool.cpp */,
F4B7FBDD2AAF49BC00C6BE9F /* Products */,
F4C07F592AB08E690044EDC0 /* ring.cpp */,
F4C07F582AB08E690044EDC0 /* sgml.cpp */,
F4213D162ABB14AA00F72674 /* stdex */,
F4C07F5A2AB08E690044EDC0 /* stream.cpp */,
F4CCA3B82B73D2E2007B857B /* string.cpp */,
F4C07F572AB08E690044EDC0 /* unicode.cpp */,
F4CCA3B62B73B912007B857B /* watchdog.cpp */,
F421D46E2B750D3A004ECBB0 /* zlib */,
F421D46B2B750BFD004ECBB0 /* zlib.cpp */,
);
sourceTree = "<group>";
usesTabs = 1;
};
F4B7FBDD2AAF49BC00C6BE9F /* Products */ = {
isa = PBXGroup;
children = (
F4B7FBDC2AAF49BC00C6BE9F /* UnitTests */,
);
name = Products;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
F4B7FBDB2AAF49BC00C6BE9F /* UnitTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = F4B7FBE32AAF49BC00C6BE9F /* Build configuration list for PBXNativeTarget "UnitTests" */;
buildPhases = (
F4B7FBD82AAF49BC00C6BE9F /* Sources */,
F4B7FBD92AAF49BC00C6BE9F /* Frameworks */,
F4B7FBDA2AAF49BC00C6BE9F /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = UnitTests;
productName = UnitTests;
productReference = F4B7FBDC2AAF49BC00C6BE9F /* UnitTests */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
F4B7FBD42AAF49BC00C6BE9F /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastUpgradeCheck = 1430;
TargetAttributes = {
F4B7FBDB2AAF49BC00C6BE9F = {
CreatedOnToolsVersion = 14.3.1;
};
};
};
buildConfigurationList = F4B7FBD72AAF49BC00C6BE9F /* Build configuration list for PBXProject "UnitTests" */;
compatibilityVersion = "Xcode 13.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = F4B7FBD32AAF49BC00C6BE9F;
productRefGroup = F4B7FBDD2AAF49BC00C6BE9F /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
F4B7FBDB2AAF49BC00C6BE9F /* UnitTests */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
F4B7FBD82AAF49BC00C6BE9F /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
F44DE98A2D818A9F007E4ECC /* zlib.cpp in Sources */,
F44DE9812D818A9F007E4ECC /* ring.cpp in Sources */,
F421D47F2B750EAE004ECBB0 /* zutil.c in Sources */,
F44DE97F2D818A9F007E4ECC /* math.cpp in Sources */,
F44DE9862D818A9F007E4ECC /* stream.cpp in Sources */,
F421D4802B750EAE004ECBB0 /* trees.c in Sources */,
F44DE9852D818A9F007E4ECC /* watchdog.cpp in Sources */,
F44DE9802D818A9F007E4ECC /* main.cpp in Sources */,
F44DE98B2D818A9F007E4ECC /* unicode.cpp in Sources */,
F421D47D2B750EAE004ECBB0 /* deflate.c in Sources */,
F44DE9832D818A9F007E4ECC /* sgml.cpp in Sources */,
F44DE9882D818A9F007E4ECC /* pch.cpp in Sources */,
F44DE98C2D818A9F007E4ECC /* parser.cpp in Sources */,
F421D4702B750E0F004ECBB0 /* adler32.c in Sources */,
F421D4822B750EAE004ECBB0 /* uncompr.c in Sources */,
F421D4742B750E21004ECBB0 /* crc32.c in Sources */,
F421D47E2B750EAE004ECBB0 /* inffast.c in Sources */,
F421D4722B750E18004ECBB0 /* compress.c in Sources */,
F421D4812B750EAE004ECBB0 /* inftrees.c in Sources */,
F44DE9842D818A9F007E4ECC /* pool.cpp in Sources */,
F44DE9872D818A9F007E4ECC /* langid.cpp in Sources */,
F44DE9822D818A9F007E4ECC /* hash.cpp in Sources */,
F44DE9892D818A9F007E4ECC /* string.cpp in Sources */,
F421D47C2B750EAE004ECBB0 /* inflate.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
F4B7FBE12AAF49BC00C6BE9F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_DEADCODE_DEADSTORES = YES;
CLANG_ANALYZER_DIVIDE_BY_ZERO = YES;
CLANG_ANALYZER_GCD = YES;
CLANG_ANALYZER_GCD_PERFORMANCE = YES;
CLANG_ANALYZER_LIBKERN_RETAIN_COUNT = YES;
CLANG_ANALYZER_LOCALIZABILITY_EMPTY_CONTEXT = YES;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_MEMORY_MANAGEMENT = YES;
CLANG_ANALYZER_MIG_CONVENTIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NULL_DEREFERENCE = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_ANALYZER_OBJC_COLLECTIONS = YES;
CLANG_ANALYZER_OBJC_NSCFERROR = YES;
CLANG_ANALYZER_OSOBJECT_C_STYLE_CAST = YES;
CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES;
CLANG_ANALYZER_SECURITY_INSECUREAPI_GETPW_GETS = YES;
CLANG_ANALYZER_SECURITY_INSECUREAPI_MKSTEMP = YES;
CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES;
CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES;
CLANG_ANALYZER_SECURITY_INSECUREAPI_UNCHECKEDRETURN = YES;
CLANG_ANALYZER_SECURITY_INSECUREAPI_VFORK = YES;
CLANG_ANALYZER_SECURITY_KEYCHAIN_API = YES;
CLANG_ANALYZER_USE_AFTER_MOVE = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_STATIC_ANALYZER_MODE = deep;
CLANG_STATIC_ANALYZER_MODE_ON_ANALYZE_ACTION = deep;
CLANG_TIDY_BUGPRONE_ASSERT_SIDE_EFFECT = YES;
CLANG_TIDY_BUGPRONE_INFINITE_LOOP = YES;
CLANG_TIDY_BUGPRONE_MOVE_FORWARDING_REFERENCE = YES;
CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES;
CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES;
CLANG_WARN_ASSIGN_ENUM = YES;
CLANG_WARN_ATOMIC_IMPLICIT_SEQ_CST = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_COMPLETION_HANDLER_MISUSE = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_CXX0X_EXTENSIONS = YES;
CLANG_WARN_DELETE_NON_VIRTUAL_DTOR = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_FLOAT_CONVERSION = YES;
CLANG_WARN_FRAMEWORK_INCLUDE_PRIVATE_FROM_PUBLIC = YES;
CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_PRAGMA_PACK = YES;
CLANG_WARN_PRIVATE_MODULE = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN_VEXING_PARSE = YES;
CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
_DEBUG,
"$(inherited)",
);
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = YES;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
GCC_WARN_MISSING_PARENTHESES = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_SHADOW = YES;
GCC_WARN_SIGN_COMPARE = YES;
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNKNOWN_PRAGMAS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_LABEL = YES;
GCC_WARN_UNUSED_PARAMETER = YES;
GCC_WARN_UNUSED_VALUE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = ../include;
MACOSX_DEPLOYMENT_TARGET = 10.15;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "-liconv";
RUN_CLANG_STATIC_ANALYZER = YES;
SDKROOT = macosx;
};
name = Debug;
};
F4B7FBE22AAF49BC00C6BE9F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_DEADCODE_DEADSTORES = YES;
CLANG_ANALYZER_DIVIDE_BY_ZERO = YES;
CLANG_ANALYZER_GCD = YES;
CLANG_ANALYZER_GCD_PERFORMANCE = YES;
CLANG_ANALYZER_LIBKERN_RETAIN_COUNT = YES;
CLANG_ANALYZER_LOCALIZABILITY_EMPTY_CONTEXT = YES;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_MEMORY_MANAGEMENT = YES;
CLANG_ANALYZER_MIG_CONVENTIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NULL_DEREFERENCE = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_ANALYZER_OBJC_COLLECTIONS = YES;
CLANG_ANALYZER_OBJC_NSCFERROR = YES;
CLANG_ANALYZER_OSOBJECT_C_STYLE_CAST = YES;
CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES;
CLANG_ANALYZER_SECURITY_INSECUREAPI_GETPW_GETS = YES;
CLANG_ANALYZER_SECURITY_INSECUREAPI_MKSTEMP = YES;
CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES;
CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES;
CLANG_ANALYZER_SECURITY_INSECUREAPI_UNCHECKEDRETURN = YES;
CLANG_ANALYZER_SECURITY_INSECUREAPI_VFORK = YES;
CLANG_ANALYZER_SECURITY_KEYCHAIN_API = YES;
CLANG_ANALYZER_USE_AFTER_MOVE = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_STATIC_ANALYZER_MODE = deep;
CLANG_STATIC_ANALYZER_MODE_ON_ANALYZE_ACTION = deep;
CLANG_TIDY_BUGPRONE_ASSERT_SIDE_EFFECT = YES;
CLANG_TIDY_BUGPRONE_INFINITE_LOOP = YES;
CLANG_TIDY_BUGPRONE_MOVE_FORWARDING_REFERENCE = YES;
CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES;
CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES;
CLANG_WARN_ASSIGN_ENUM = YES;
CLANG_WARN_ATOMIC_IMPLICIT_SEQ_CST = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_COMPLETION_HANDLER_MISUSE = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_CXX0X_EXTENSIONS = YES;
CLANG_WARN_DELETE_NON_VIRTUAL_DTOR = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_FLOAT_CONVERSION = YES;
CLANG_WARN_FRAMEWORK_INCLUDE_PRIVATE_FROM_PUBLIC = YES;
CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_PRAGMA_PACK = YES;
CLANG_WARN_PRIVATE_MODULE = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN_VEXING_PARSE = YES;
CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
NDEBUG,
"$(inherited)",
);
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = YES;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
GCC_WARN_MISSING_PARENTHESES = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_SHADOW = YES;
GCC_WARN_SIGN_COMPARE = YES;
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNKNOWN_PRAGMAS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_LABEL = YES;
GCC_WARN_UNUSED_PARAMETER = YES;
GCC_WARN_UNUSED_VALUE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = ../include;
MACOSX_DEPLOYMENT_TARGET = 10.15;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = "-liconv";
RUN_CLANG_STATIC_ANALYZER = YES;
SDKROOT = macosx;
};
name = Release;
};
F4B7FBE42AAF49BC00C6BE9F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
F4B7FBE52AAF49BC00C6BE9F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
F4B7FBD72AAF49BC00C6BE9F /* Build configuration list for PBXProject "UnitTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
F4B7FBE12AAF49BC00C6BE9F /* Debug */,
F4B7FBE22AAF49BC00C6BE9F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
F4B7FBE32AAF49BC00C6BE9F /* Build configuration list for PBXNativeTarget "UnitTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
F4B7FBE42AAF49BC00C6BE9F /* Debug */,
F4B7FBE52AAF49BC00C6BE9F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = F4B7FBD42AAF49BC00C6BE9F /* Project object */;
}

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -1,78 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1320"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F4B7FBDB2AAF49BC00C6BE9F"
BuildableName = "UnitTests"
BlueprintName = "UnitTests"
ReferencedContainer = "container:UnitTests.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F4B7FBDB2AAF49BC00C6BE9F"
BuildableName = "UnitTests"
BlueprintName = "UnitTests"
ReferencedContainer = "container:UnitTests.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F4B7FBDB2AAF49BC00C6BE9F"
BuildableName = "UnitTests"
BlueprintName = "UnitTests"
ReferencedContainer = "container:UnitTests.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,96 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#pragma once
#ifdef _WIN32
#include <CppUnitTest.h>
#else
#include <stdexcept>
#define TEST_CLASS(name) class name
#define TEST_METHOD(name) static void name()
namespace Assert
{
inline void IsTrue(bool c)
{
if (!c)
throw std::runtime_error("not true");
}
inline void IsFalse(bool c)
{
if (c)
throw std::runtime_error("not false");
}
template <class T>
void AreEqual(const T& a, const T& b)
{
if (!(a == b))
throw std::runtime_error("not equal");
}
template <class T, size_t N>
void AreEqual(const T (&a)[N], const T (&b)[N])
{
for (size_t i = 0; i < N; ++i)
if (!(a[i] == b[i]))
throw std::runtime_error("not equal");
}
inline void AreEqual(const char* a, const char* b)
{
if (strcmp(a, b) != 0)
throw std::runtime_error("not equal");
}
inline void AreEqual(const wchar_t* a, const wchar_t* b)
{
if (wcscmp(a, b) != 0)
throw std::runtime_error("not equal");
}
inline void AreEqual(const char32_t* a, const char32_t* b)
{
#ifdef _WIN32
if (stdex::strcmp(a, b) != 0)
throw std::runtime_error("not equal");
#else
if (wcscmp(reinterpret_cast<const wchar_t*>(a), reinterpret_cast<const wchar_t*>(b)) != 0)
throw std::runtime_error("not equal");
#endif
}
template <class T>
void AreNotEqual(const T& a, const T& b)
{
if (a == b)
throw std::runtime_error("equal");
}
inline void AreNotEqual(const char* a, const char* b)
{
if (strcmp(a, b) == 0)
throw std::runtime_error("equal");
}
inline void AreNotEqual(const wchar_t* a, const wchar_t* b)
{
if (wcscmp(a, b) == 0)
throw std::runtime_error("equal");
}
template <class E, typename F>
void ExpectException(F functor)
{
try { functor(); }
catch (const E&) { return; }
catch (...) { throw std::runtime_error("unexpected exception"); }
throw std::runtime_error("exception not thrown");
}
}
#endif

View File

@ -1,63 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace Microsoft {
namespace VisualStudio {
namespace CppUnitTestFramework {
static std::wstring ToString(const stdex::md5_t& q)
{
stdex::hex_enc enc;
wstring str;
enc.encode(str, &q, sizeof(q));
return str;
}
static std::wstring ToString(const stdex::sha1_t& q)
{
stdex::hex_enc enc;
wstring str;
enc.encode(str, &q, sizeof(q));
return str;
}
}
}
}
#endif
namespace UnitTests
{
void hash::crc32()
{
stdex::crc32_hash h;
static const char data[] = "This is a test.";
h.hash(data, sizeof(data) - sizeof(*data));
h.finalize();
Assert::IsTrue(h == 0xc6c3c95d);
}
void hash::md5()
{
stdex::md5_hash h;
static const char data[] = "This is a test.";
h.hash(data, sizeof(data) - sizeof(*data));
h.finalize();
Assert::AreEqual<stdex::md5_t>({{0x12,0x0e,0xa8,0xa2,0x5e,0x5d,0x48,0x7b,0xf6,0x8b,0x5f,0x70,0x96,0x44,0x00,0x19}}, h);
}
void hash::sha1()
{
stdex::sha1_hash h;
static const char data[] = "This is a test.";
h.hash(data, sizeof(data) - sizeof(*data));
h.finalize();
Assert::AreEqual<stdex::sha1_t>({{0xaf,0xa6,0xc8,0xb3,0xa2,0xfa,0xe9,0x57,0x85,0xdc,0x7d,0x96,0x85,0xa5,0x78,0x35,0xd7,0x03,0xac,0x88}}, h);
}
}

View File

@ -1,35 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2024-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#endif
namespace UnitTests
{
void langid::from_rfc1766()
{
Assert::IsTrue(stdex::langid_from_rfc1766("en") == 9);
Assert::IsTrue(stdex::langid_from_rfc1766("en-US") == 1033);
Assert::IsTrue(stdex::langid_from_rfc1766("en_US") == 1033);
Assert::IsTrue(stdex::langid_from_rfc1766("en-GB") == 2057);
Assert::IsTrue(stdex::langid_from_rfc1766("en_GB") == 2057);
Assert::IsTrue(stdex::langid_from_rfc1766("EN") == 9);
Assert::IsTrue(stdex::langid_from_rfc1766("EN-US") == 1033);
Assert::IsTrue(stdex::langid_from_rfc1766("EN_US") == 1033);
Assert::IsTrue(stdex::langid_from_rfc1766("EN-GB") == 2057);
Assert::IsTrue(stdex::langid_from_rfc1766("EN_GB") == 2057);
Assert::IsTrue(stdex::langid_from_rfc1766("sl") == 36);
Assert::IsTrue(stdex::langid_from_rfc1766("sl-SI") == 1060);
Assert::IsTrue(stdex::langid_from_rfc1766("sl_SI") == 1060);
Assert::IsTrue(stdex::langid_from_rfc1766("SL") == 36);
Assert::IsTrue(stdex::langid_from_rfc1766("SL-SI") == 1060);
Assert::IsTrue(stdex::langid_from_rfc1766("SL_SI") == 1060);
}
}

View File

@ -1,46 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"
#include <iostream>
int main(int, const char *[])
{
try {
UnitTests::hash::crc32();
UnitTests::hash::md5();
UnitTests::hash::sha1();
UnitTests::langid::from_rfc1766();
UnitTests::math::add();
UnitTests::math::mul();
UnitTests::parser::http_test();
UnitTests::parser::sgml_test();
UnitTests::parser::wtest();
UnitTests::pool::test();
UnitTests::ring::test();
UnitTests::sgml::sgml2str();
UnitTests::sgml::str2sgml();
UnitTests::stream::async();
UnitTests::stream::file_stat();
UnitTests::stream::open_close();
UnitTests::stream::replicator();
UnitTests::string::strncpy();
UnitTests::string::sprintf();
UnitTests::string::snprintf();
UnitTests::unicode::charset_encoder();
UnitTests::unicode::normalize();
UnitTests::unicode::str2wstr();
UnitTests::unicode::wstr2str();
UnitTests::watchdog::test();
UnitTests::zlib::test();
std::cout << "PASS\n";
return 0;
}
catch (const std::exception& ex) {
std::cerr << stdex::exception_msg(ex) << " FAIL\n";
return 1;
}
}

View File

@ -1,40 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#endif
namespace UnitTests
{
void math::mul()
{
Assert::IsTrue(stdex::mul(2, 5) == 10);
Assert::IsTrue(stdex::mul(5, 2) == 10);
Assert::IsTrue(stdex::mul(0, 10) == 0);
Assert::IsTrue(stdex::mul(10, 0) == 0);
Assert::IsTrue(stdex::mul(SIZE_MAX, 0) == 0);
Assert::IsTrue(stdex::mul(0, SIZE_MAX) == 0);
Assert::IsTrue(stdex::mul(SIZE_MAX, 1) == SIZE_MAX);
Assert::IsTrue(stdex::mul(1, SIZE_MAX) == SIZE_MAX);
Assert::ExpectException<std::invalid_argument>([] { stdex::mul(SIZE_MAX, 2); });
Assert::ExpectException<std::invalid_argument>([] { stdex::mul(2, SIZE_MAX); });
}
void math::add()
{
Assert::IsTrue(stdex::add(2, 5) == 7);
Assert::IsTrue(stdex::add(5, 2) == 7);
Assert::IsTrue(stdex::add(0, 10) == 10);
Assert::IsTrue(stdex::add(10, 0) == 10);
Assert::IsTrue(stdex::add(SIZE_MAX, 0) == SIZE_MAX);
Assert::IsTrue(stdex::add(0, SIZE_MAX) == SIZE_MAX);
Assert::ExpectException<std::invalid_argument>([] { stdex::add(SIZE_MAX, 1); });
Assert::ExpectException<std::invalid_argument>([] { stdex::add(1, SIZE_MAX); });
}
}

View File

@ -1,505 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
using namespace stdex;
using namespace stdex::parser;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace Microsoft {
namespace VisualStudio {
namespace CppUnitTestFramework {
static std::wstring ToString(const stdex::interval<size_t>& q)
{
return stdex::sprintf(L"<%zu, %zu>", nullptr, q.start, q.end);
}
}
}
}
#endif
#if defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wexit-time-destructors"
#endif
namespace UnitTests
{
void parser::wtest()
{
static const wchar_t text[] = L"This is a test.\nSecond line.";
{
wnoop p;
Assert::IsTrue(p.match(text));
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 0);
}
{
wcu p(L't');
Assert::IsFalse(p.match(text));
Assert::IsTrue(p.match(text, 0, _countof(text), match_case_insensitive));
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 1);
}
{
wspace_cu p;
Assert::IsFalse(p.match(text));
Assert::IsTrue(p.match(text, 4));
Assert::IsTrue(p.interval.start == 4);
Assert::IsTrue(p.interval.end == 5);
}
{
wpunct_cu p;
Assert::IsFalse(p.match(text));
Assert::IsTrue(p.match(text, 14));
Assert::IsTrue(p.interval.start == 14);
Assert::IsTrue(p.interval.end == 15);
}
{
wspace_or_punct_cu p;
Assert::IsFalse(p.match(text));
Assert::IsTrue(p.match(text, 4));
Assert::IsTrue(p.interval.start == 4);
Assert::IsTrue(p.interval.end == 5);
Assert::IsTrue(p.match(text, 14));
Assert::IsTrue(p.interval.start == 14);
Assert::IsTrue(p.interval.end == 15);
}
{
wbol p;
Assert::IsTrue(p.match(text));
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 0);
Assert::IsFalse(p.match(text, 1));
Assert::IsFalse(p.match(text, 15));
Assert::IsTrue(p.match(text, 16));
Assert::IsTrue(p.interval.start == 16);
Assert::IsTrue(p.interval.end == 16);
}
{
weol p;
Assert::IsFalse(p.match(text));
Assert::IsFalse(p.match(text, 1));
Assert::IsTrue(p.match(text, 15));
Assert::IsTrue(p.interval.start == 15);
Assert::IsTrue(p.interval.end == 15);
Assert::IsFalse(p.match(text, 16));
}
{
wcu_set p(L"abcD");
Assert::IsFalse(p.match(text));
Assert::IsTrue(p.match(text, 8));
Assert::IsTrue(p.interval.start == 8);
Assert::IsTrue(p.interval.end == 9);
Assert::IsTrue(p.hit_offset == 0);
Assert::IsFalse(p.match(text, 21));
Assert::IsTrue(p.match(text, 21, _countof(text), match_case_insensitive));
Assert::IsTrue(p.interval.start == 21);
Assert::IsTrue(p.interval.end == 22);
Assert::IsTrue(p.hit_offset == 3);
}
{
stdex::parser::wstring p(L"this");
Assert::IsFalse(p.match(text));
Assert::IsTrue(p.match(text, 0, sizeof(text), match_case_insensitive));
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 4);
}
{
wany_cu chr;
witerations p(make_shared_no_delete(&chr), 1, 5);
Assert::IsTrue(p.match(text));
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 5);
}
{
wspace_cu nospace(true);
witerations p(make_shared_no_delete(&nospace), 1);
Assert::IsTrue(p.match(text));
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 4);
}
{
wcu chr_t(L't'), chr_h(L'h'), chr_i(L'i'), chr_s(L's');
wspace_cu space;
wsequence p({
make_shared_no_delete(&chr_t),
make_shared_no_delete(&chr_h),
make_shared_no_delete(&chr_i),
make_shared_no_delete(&chr_s),
make_shared_no_delete(&space) });
Assert::IsFalse(p.match(text));
Assert::IsTrue(p.match(text, 0, _countof(text), match_case_insensitive));
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 5);
}
{
stdex::parser::wstring apple(L"apple"), orange(L"orange"), _this(L"this");
wspace_cu space;
wbranch p({
make_shared_no_delete(&apple),
make_shared_no_delete(&orange),
make_shared_no_delete(&_this),
make_shared_no_delete(&space) });
Assert::IsFalse(p.match(text));
Assert::IsTrue(p.match(text, 0, _countof(text), match_case_insensitive));
Assert::IsTrue(p.hit_offset == 2);
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 4);
}
{
wstring_branch p(L"apple", L"orange", L"this", nullptr);
Assert::IsFalse(p.match(text));
Assert::IsTrue(p.match(text, 0, _countof(text), match_case_insensitive));
Assert::IsTrue(p.hit_offset == 2);
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 4);
}
{
wcu chr_s(L's'), chr_h(L'h'), chr_i(L'i'), chr_t(L't');
wpermutation p({
make_shared_no_delete(&chr_s),
make_shared_no_delete(&chr_h),
make_shared_no_delete(&chr_i),
make_shared_no_delete(&chr_t) });
Assert::IsFalse(p.match(text));
Assert::IsTrue(p.match(text, 0, _countof(text), match_case_insensitive));
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 4);
}
{
std::locale locale_slSI("sl_SI");
wspace_cu space(false, locale_slSI);
wiban p(make_shared_no_delete(&space), locale_slSI);
Assert::IsTrue(p.match(L"SI56023120015226972", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::AreEqual(L"SI", p.country);
Assert::AreEqual(L"56", p.check_digits);
Assert::AreEqual(L"023120015226972", p.bban);
Assert::IsTrue(p.match(L"SI56 0231 2001 5226 972", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::AreEqual(L"SI", p.country);
Assert::AreEqual(L"56", p.check_digits);
Assert::AreEqual(L"023120015226972", p.bban);
Assert::IsFalse(p.match(L"si56 0231 2001 5226 972", 0, SIZE_MAX));
Assert::IsFalse(p.is_valid);
Assert::IsTrue(p.match(L"si56 0231 2001 5226 972", 0, SIZE_MAX, match_case_insensitive));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"SI56 0231 2001 5226 9720", 0, SIZE_MAX));
Assert::AreEqual(stdex::interval<size_t>(0, 23), p.interval);
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"...SI56 0231 2001 5226 972...", 3, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"SI56 0231 2001 5226 972", 0, SIZE_MAX)); // no-break space
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"BE71 0961 2345 6769", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"BR15 0000 0000 0000 1093 2840 814 P2", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"CR99 0000 0000 0000 8888 88", 0, SIZE_MAX));
Assert::IsFalse(p.is_valid);
Assert::IsTrue(p.match(L"FR76 3000 6000 0112 3456 7890 189", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"IE12 BOFI 9000 0112 3456 78", 0, SIZE_MAX));
Assert::IsFalse(p.is_valid);
Assert::IsTrue(p.match(L"DE91 1000 0000 0123 4567 89", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"GR96 0810 0010 0000 0123 4567 890", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"MU43 BOMM 0101 1234 5678 9101 000 MUR", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"PK70 BANK 0000 1234 5678 9000", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"PL10 1050 0099 7603 1234 5678 9123", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"RO09 BCYP 0000 0012 3456 7890", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"LC14 BOSL 1234 5678 9012 3456 7890 1234", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"SA44 2000 0001 2345 6789 1234", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"ES79 2100 0813 6101 2345 6789", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"SE87 3000 0000 0101 2345 6789", 0, SIZE_MAX));
Assert::IsFalse(p.is_valid);
Assert::IsTrue(p.match(L"CH56 0483 5012 3456 7800 9", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"GB98 MIDL 0700 9312 3456 78", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
}
{
std::locale locale_slSI("sl_SI");
wspace_cu space(false, locale_slSI);
wcreditor_reference p(make_shared_no_delete(&space), locale_slSI);
Assert::IsTrue(p.match(L"RF18539007547034", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::AreEqual(L"18", p.check_digits);
Assert::AreEqual(L"000000000539007547034", p.reference);
Assert::IsTrue(p.match(L"RF18 5390 0754 7034", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::AreEqual(L"18", p.check_digits);
Assert::AreEqual(L"000000000539007547034", p.reference);
Assert::IsFalse(p.match(L"rf18 5390 0754 7034", 0, SIZE_MAX));
Assert::IsFalse(p.is_valid);
Assert::IsTrue(p.match(L"rf18 5390 0754 7034", 0, SIZE_MAX, match_case_insensitive));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"RF18 5390 0754 70340", 0, SIZE_MAX));
Assert::IsFalse(p.is_valid);
Assert::IsTrue(p.match(L"...RF18 5390 0754 7034...", 3, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match(L"RF18 5390 0754 7034", 0, SIZE_MAX)); // no-break space
Assert::IsTrue(p.is_valid);
}
{
std::locale locale_slSI("sl_SI");
wspace_cu space(false, locale_slSI);
wsi_reference p(make_shared_no_delete(&space), locale_slSI);
Assert::IsTrue(p.match(L"SI121234567890120", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::AreEqual(L"12", p.model);
Assert::AreEqual(stdex::interval<size_t>(4, 17), p.part1.interval);
Assert::IsTrue(p.match(L"SI12 1234567890120", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::AreEqual(L"12", p.model);
Assert::AreEqual(stdex::interval<size_t>(5, 18), p.part1.interval);
Assert::IsFalse(p.match(L"si12 1234567890120", 0, SIZE_MAX));
Assert::IsTrue(p.match(L"si12 1234567890120", 0, SIZE_MAX, match_case_insensitive));
Assert::IsTrue(p.match(L"...SI12 1234567890120...", 3, SIZE_MAX));
Assert::IsTrue(p.match(L"SI12 1234567890120", 0, SIZE_MAX)); // no-break space
}
}
void parser::sgml_test()
{
std::locale locale_slSI("sl_SI");
static const char text[] = "V ko&zcaron;u&scaron;&ccaron;ku zlobnega mizarja stopiclja fant\nin kli&ccaron;e&nbsp;1234567890.";
{
sgml_noop p;
Assert::IsTrue(p.match(text));
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 0);
}
{
sgml_cp p("v");
Assert::IsFalse(p.match(text));
Assert::IsTrue(p.match(text, 0, _countof(text), match_case_insensitive));
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 1);
}
{
sgml_cp p("&Zcaron;", SIZE_MAX, false, locale_slSI);
Assert::IsFalse(p.match(text, 4));
Assert::IsTrue(p.match(text, 4, _countof(text), match_case_insensitive));
Assert::IsTrue(p.interval.start == 4);
Assert::IsTrue(p.interval.end == 12);
}
{
sgml_space_cp p(false, locale_slSI);
Assert::IsFalse(p.match(text));
Assert::IsTrue(p.match(text, 1));
Assert::IsTrue(p.interval.start == 1);
Assert::IsTrue(p.interval.end == 2);
Assert::IsTrue(p.match(text, 79));
Assert::IsTrue(p.interval.start == 79);
Assert::IsTrue(p.interval.end == 85);
}
{
sgml_string_branch p(locale_slSI, "apple", "orange", "Ko&Zcaron;u&Scaron;&ccaron;Ku", nullptr);
Assert::IsFalse(p.match(text, 2));
Assert::IsTrue(p.match(text, 2, _countof(text), match_case_insensitive));
Assert::IsTrue(p.hit_offset == 2);
Assert::IsTrue(p.interval.start == 2);
Assert::IsTrue(p.interval.end == 31);
}
{
sgml_space_cp space(false, locale_slSI);
sgml_iban p(make_shared_no_delete(&space), locale_slSI);
Assert::IsTrue(p.match("SI56023120015226972", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::AreEqual("SI", p.country);
Assert::AreEqual("56", p.check_digits);
Assert::AreEqual("023120015226972", p.bban);
Assert::IsTrue(p.match("SI56 0231 2001 5226 972", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::AreEqual("SI", p.country);
Assert::AreEqual("56", p.check_digits);
Assert::AreEqual("023120015226972", p.bban);
Assert::IsFalse(p.match("si56 0231 2001 5226 972", 0, SIZE_MAX));
Assert::IsFalse(p.is_valid);
Assert::IsTrue(p.match("si56 0231 2001 5226 972", 0, SIZE_MAX, match_case_insensitive));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match("SI56 0231 2001 5226 9720", 0, SIZE_MAX));
Assert::AreEqual(stdex::interval<size_t>(0, 23), p.interval);
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match("...SI56 0231 2001 5226 972...", 3, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match("SI56&nbsp;0231&nbsp;2001&nbsp;5226&nbsp;972", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
}
{
sgml_space_cp space(false, locale_slSI);
sgml_creditor_reference p(make_shared_no_delete(&space), locale_slSI);
Assert::IsTrue(p.match("RF18539007547034", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::AreEqual("18", p.check_digits);
Assert::AreEqual("000000000539007547034", p.reference);
Assert::IsTrue(p.match("RF18 5390 0754 7034", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::AreEqual("18", p.check_digits);
Assert::AreEqual("000000000539007547034", p.reference);
Assert::IsFalse(p.match("rf18 5390 0754 7034", 0, SIZE_MAX));
Assert::IsFalse(p.is_valid);
Assert::IsTrue(p.match("rf18 5390 0754 7034", 0, SIZE_MAX, match_case_insensitive));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match("RF18 5390 0754 70340", 0, SIZE_MAX));
Assert::IsFalse(p.is_valid);
Assert::IsTrue(p.match("...RF18 5390 0754 7034...", 3, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::IsTrue(p.match("RF18&nbsp;5390&nbsp;0754&nbsp;7034", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
}
{
sgml_space_cp space(false, locale_slSI);
sgml_si_reference p(make_shared_no_delete(&space), locale_slSI);
Assert::IsTrue(p.match("SI121234567890120", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::AreEqual("12", p.model);
Assert::AreEqual(stdex::interval<size_t>(4, 17), p.part1.interval);
Assert::IsTrue(p.match("SI12 1234567890120", 0, SIZE_MAX));
Assert::IsTrue(p.is_valid);
Assert::AreEqual("12", p.model);
Assert::AreEqual(stdex::interval<size_t>(5, 18), p.part1.interval);
Assert::IsFalse(p.match("si12 1234567890120", 0, SIZE_MAX));
Assert::IsTrue(p.match("si12 1234567890120", 0, SIZE_MAX, match_case_insensitive));
Assert::IsTrue(p.match("...SI12 1234567890120...", 3, SIZE_MAX));
Assert::IsTrue(p.match("SI12&nbsp;1234567890120", 0, SIZE_MAX));
}
}
void parser::http_test()
{
static const std::locale locale("en_US.UTF-8");
static const char request[] =
"GET / HTTP/2\r\n"
"Host: stackoverflow.com\r\n"
"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0\r\n"
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\r\n"
"Accept-Language: sl,en-US;q=0.8,en;q=0.6,de-DE;q=0.4,de;q=0.2\r\n"
"Accept-Encoding: gzip, deflate, br\r\n"
"DNT: 1\r\n"
"Connection: keep-alive\r\n"
"Cookie: prov=00000000-0000-0000-0000-000000000000; acct=t=00000000000000000%2f%2f0000%2b0000%2b000&s=00000000000000000000000000000000; OptanonConsent=isGpcEnabled=0&datestamp=Fri+Feb+03+2023+11%3A11%3A08+GMT%2B0100+(Srednjeevropski+standardni+%C4%8Das)&version=6.37.0&isIABGlobal=false&hosts=&consentId=00000000-0000-0000-0000-000000000000&interactionCount=1&landingPath=NotLandingPage&groups=00000%3A0%2C00000%3A0%2C00000%3A0%2C00000%3A0; OptanonAlertBoxClosed=2023-02-03T10:11:08.683Z\r\n"
"Upgrade-Insecure-Requests: 1\r\n"
"Sec-Fetch-Dest: document\r\n"
"Sec-Fetch-Mode: navigate\r\n"
"Sec-Fetch-Site: none\r\n"
"Sec-Fetch-User: ?1\r\n"
"Pragma: no-cache\r\n"
"Cache-Control: no-cache\r\n"
"\r\n";
{
http_request p(locale);
Assert::IsTrue(p.match(request));
Assert::IsTrue(p.interval.start == 0);
Assert::IsTrue(p.interval.end == 14);
Assert::IsTrue(p.verb.start == 0);
Assert::IsTrue(p.verb.end == 3);
Assert::IsTrue(p.url.interval.start == 4);
Assert::IsTrue(p.url.interval.end == 5);
Assert::IsTrue(p.protocol.interval.start == 6);
Assert::IsTrue(p.protocol.interval.end == 12);
Assert::IsTrue(p.protocol.version == 0x200);
}
{
list<http_header> hdrs;
size_t offset = 14;
for (;;) {
http_header h;
if (h.match(request, offset)) {
offset = h.interval.end;
hdrs.push_back(std::move(h));
}
else
break;
}
Assert::IsTrue(hdrs.size() == 15);
http_weighted_collection<http_weighted_value<http_language>> langs;
for (const auto& h : hdrs)
if (strnicmp(request + h.name.start, h.name.size(), "Accept-Language", SIZE_MAX, locale) == 0)
langs.insert(request, h.value.start, h.value.end);
Assert::IsTrue(!langs.empty());
{
const vector<std::string> control = {
"sl", "en-US", "en", "de-DE", "de"
};
auto c = control.cbegin();
auto l = langs.cbegin();
for (; c != control.cend() && l != langs.cend(); ++c, ++l)
Assert::IsTrue(strnicmp(request + l->value.interval.start, l->value.interval.size(), c->c_str(), c->size(), locale) == 0);
Assert::IsTrue(c == control.cend());
Assert::IsTrue(l == langs.cend());
}
}
//static const char response[] =
// "HTTP/2 200 OK\r\n"
// "cache-control: private\r\n"
// "content-type: text/html; charset=utf-8\r\n"
// "content-encoding: gzip\r\n"
// "strict-transport-security: max-age=15552000\r\n"
// "x-frame-options: SAMEORIGIN\r\n"
// "set-cookie: acct=t=00000000000000000%2f%2f0000%2b0000%2b000&s=00000000000000000000000000000000; expires=Sat, 16 Sep 2023 10:23:00 GMT; domain=.stackoverflow.com; path=/; secure; samesite=none; httponly\r\n"
// "set-cookie: prov_tgt=; expires=Tue, 14 Mar 2023 10:23:00 GMT; domain=.stackoverflow.com; path=/; secure; samesite=none; httponly\r\n"
// "x-request-guid: a6536a49-b473-4c6f-b313-c1e7c0d8f600\r\n"
// "feature-policy: microphone 'none'; speaker 'none'\r\n"
// "content-security-policy: upgrade-insecure-requests; frame-ancestors 'self' https://stackexchange.com\r\n"
// "accept-ranges: bytes\r\n"
// "date: Thu, 16 Mar 2023 10:23:00 GMT\r\n"
// "via: 1.1 varnish\r\n"
// "x-served-by: cache-vie6354-VIE\r\n"
// "x-cache: MISS\r\n"
// "x-cache-hits: 0\r\n"
// "x-timer: S1678962181.533907,VS0,VE144\r\n"
// "vary: Accept-Encoding,Fastly-SSL\r\n"
// "x-dns-prefetch-control: off\r\n"
// "X-Firefox-Spdy: h2\r\n"
// "\r\n";
}
}
#if defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

View File

@ -1,6 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"

View File

@ -1,135 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#pragma once
#include <stdex/assert.hpp>
#include <stdex/base64.hpp>
#include <stdex/compat.hpp>
#include <stdex/exception.hpp>
#include <stdex/hash.hpp>
#include <stdex/hex.hpp>
#include <stdex/html.hpp>
#include <stdex/idrec.hpp>
#include <stdex/interval.hpp>
#include <stdex/langid.hpp>
#include <stdex/locale.hpp>
#include <stdex/mapping.hpp>
#include <stdex/math.hpp>
#include <stdex/memory.hpp>
#include <stdex/minisign.hpp>
#include <stdex/parser.hpp>
#include <stdex/pool.hpp>
#include <stdex/progress.hpp>
#include <stdex/ring.hpp>
#include <stdex/scoped_executor.hpp>
#include <stdex/sgml.hpp>
#include <stdex/socket.hpp>
#include <stdex/spinlock.hpp>
#include <stdex/stream.hpp>
#include <stdex/string.hpp>
#include <stdex/sys_info.hpp>
#include <stdex/system.hpp>
#include <stdex/unicode.hpp>
#include <stdex/vector_queue.hpp>
#include <stdex/watchdog.hpp>
#include <stdex/wav.hpp>
#include <stdex/zlib.hpp>
#include "compat.hpp"
#include <cstdlib>
#include <filesystem>
#include <list>
#include <thread>
namespace UnitTests
{
TEST_CLASS(hash)
{
public:
TEST_METHOD(crc32);
TEST_METHOD(md5);
TEST_METHOD(sha1);
};
TEST_CLASS(langid)
{
public:
TEST_METHOD(from_rfc1766);
};
TEST_CLASS(math)
{
public:
TEST_METHOD(mul);
TEST_METHOD(add);
};
TEST_CLASS(parser)
{
public:
TEST_METHOD(wtest);
TEST_METHOD(sgml_test);
TEST_METHOD(http_test);
};
TEST_CLASS(pool)
{
public:
TEST_METHOD(test);
};
TEST_CLASS(ring)
{
public:
TEST_METHOD(test);
};
TEST_CLASS(sgml)
{
public:
TEST_METHOD(sgml2str);
TEST_METHOD(str2sgml);
};
TEST_CLASS(stream)
{
public:
TEST_METHOD(async);
TEST_METHOD(replicator);
TEST_METHOD(open_close);
TEST_METHOD(file_stat);
};
TEST_CLASS(string)
{
public:
TEST_METHOD(strncpy);
TEST_METHOD(sprintf);
TEST_METHOD(snprintf);
};
TEST_CLASS(unicode)
{
public:
TEST_METHOD(str2wstr);
TEST_METHOD(wstr2str);
TEST_METHOD(charset_encoder);
TEST_METHOD(normalize);
};
TEST_CLASS(watchdog)
{
public:
TEST_METHOD(test);
};
TEST_CLASS(zlib)
{
public:
TEST_METHOD(test);
};
}

View File

@ -1,36 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#endif
namespace UnitTests
{
void pool::test()
{
using worker_t = unique_ptr<int>;
using pool_t = stdex::pool<worker_t>;
pool_t pool;
list<thread> workers;
for (auto n = thread::hardware_concurrency(); n--; ) {
workers.push_back(thread([](_Inout_ pool_t& pool)
{
for (size_t n = 10000; n--; ) {
worker_t el = pool.pop();
if (!el)
el.reset(new int(1));
pool.push(std::move(el));
}
}, ref(pool)));
}
for (auto& w : workers)
w.join();
}
}

View File

@ -1,60 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#endif
namespace UnitTests
{
constexpr size_t ring_capacity = 50;
void ring::test()
{
using ring_t = stdex::ring<int, ring_capacity>;
ring_t ring;
thread writer([](_Inout_ ring_t& ring)
{
int seed = 0;
for (size_t retries = 1000; retries--;) {
for (size_t to_write =
#ifdef _WIN32
static_cast<size_t>(static_cast<uint64_t>(::rand()) * ring_capacity / 5 / RAND_MAX);
#else
::arc4random_uniform(ring_capacity / 5);
#endif
to_write;)
{
int* ptr; size_t num_write;
tie(ptr, num_write) = ring.back();
if (to_write < num_write)
num_write = to_write;
for (size_t i = 0; i < num_write; i++)
ptr[i] = seed++;
ring.push(num_write);
to_write -= num_write;
}
}
ring.quit();
}, ref(ring));
int seed = 0;
for (;;) {
int* ptr; size_t num_read;
tie(ptr, num_read) = ring.front();
if (!ptr) _Unlikely_
break;
if (num_read > 7)
num_read = 7;
for (size_t i = 0; i < num_read; ++i)
Assert::IsTrue(ptr[i] == seed++);
ring.pop(num_read);
}
writer.join();
}
}

View File

@ -1,63 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#endif
namespace UnitTests
{
void sgml::sgml2str()
{
Assert::AreEqual(L"This is a test.", stdex::sgml2str("This is a test.", SIZE_MAX).c_str());
Assert::AreEqual(L"Th\u00ed\u0161 i\u22c5 a te\u0073\u0304t.&unknown;😀😅", stdex::sgml2str("Th&iacute;&scaron; i&sdot; &#97; te&smacr;t.&unknown;&#x1F600;&#X1f605;", SIZE_MAX).c_str());
Assert::AreEqual(L"This", stdex::sgml2str("This is a test.", 4).c_str());
Assert::AreEqual(L"T\u0068\u0301", stdex::sgml2str("T&hacute;is is a test.", 9).c_str());
Assert::AreEqual(L"T&hac", stdex::sgml2str("T&hacute;is is a test.", 5).c_str());
Assert::AreEqual(L"The &quot;quoted&quot; &amp; text.", stdex::sgml2str("The &quot;quoted&quot; &amp; text.", SIZE_MAX, stdex::sgml_c).c_str());
stdex::mapping_vector<size_t> map;
constexpr size_t i = 0;
constexpr size_t j = 0;
stdex::sgml2str("Th&iacute;&scaron; i&sdot; &#97; te&smacr;t.&unknown;&#x1F600;&#X1f605;", SIZE_MAX, 0, stdex::mapping<size_t>(i, j), &map);
Assert::IsTrue(stdex::mapping_vector<size_t>{
{ i + 2, j + 2 },
{ i + 10, j + 3 },
{ i + 10, j + 3 },
{ i + 18, j + 4 },
{ i + 20, j + 6 },
{ i + 26, j + 7 },
{ i + 27, j + 8 },
{ i + 32, j + 9 },
{ i + 35, j + 12 },
{ i + 42, j + 14 },
{ i + 53, j + 25 },
#ifdef _WIN32 // wchar_t* is UTF-16
{ i + 62, j + 27 },
{ i + 62, j + 27 },
{ i + 71, j + 29 },
#else // wchar_t* is UTF-32
{ i + 62, j + 26 },
{ i + 62, j + 26 },
{ i + 71, j + 27 },
#endif
} == map);
}
void sgml::str2sgml()
{
Assert::AreEqual("This is a test.", stdex::str2sgml(L"This is a test.", SIZE_MAX).c_str());
Assert::AreEqual("Th&iacute;&scaron; i&sdot; a te&smacr;t.&amp;unknown;&#x1f600;&#x1f605;", stdex::str2sgml(L"Th\u00ed\u0161 i\u22c5 a te\u0073\u0304t.&unknown;😀😅", SIZE_MAX).c_str());
Assert::AreEqual("This", stdex::str2sgml(L"This is a test.", 4, 0).c_str());
Assert::AreEqual("te&smacr;", stdex::str2sgml(L"te\u0073\u0304t", 4, 0).c_str());
Assert::AreEqual("tes", stdex::str2sgml(L"te\u0073\u0304t", 3, 0).c_str());
Assert::AreEqual("&#x2318;&permil;&#x362;", stdex::str2sgml(L"⌘‰͢", SIZE_MAX).c_str());
Assert::AreEqual("$\"<>&amp;", stdex::str2sgml(L"$\"<>&", SIZE_MAX).c_str());
Assert::AreEqual("$&quot;<>&amp;", stdex::str2sgml(L"$\"<>&", SIZE_MAX, stdex::sgml_c).c_str());
}
}

View File

@ -1,156 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
using namespace stdex;
using namespace stdex::stream;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#endif
static stdex::sstring temp_path()
{
#ifdef _WIN32
TCHAR temp_path[MAX_PATH];
Assert::IsTrue(ExpandEnvironmentStrings(_T("%TEMP%\\"), temp_path, _countof(temp_path)) < MAX_PATH);
return temp_path;
#else
return "/tmp/";
#endif
}
namespace UnitTests
{
void stream::async()
{
constexpr uint32_t total = 1000;
memory_file source(stdex::mul(total, sizeof(uint32_t)));
{
async_writer<70> writer(source);
for (uint32_t i = 0; i < total; ++i) {
Assert::IsTrue(writer.ok());
writer << i;
}
}
Assert::IsTrue(source.seekbeg(0) == 0);
{
async_reader<50> reader(source);
uint32_t x;
for (uint32_t i = 0; i < total; ++i) {
reader >> x;
Assert::IsTrue(reader.ok());
Assert::IsTrue(x == i);
}
reader >> x;
Assert::IsFalse(reader.ok());
}
}
void stream::replicator()
{
constexpr uint32_t total = 1000;
memory_file f1(stdex::mul(total, sizeof(uint32_t)));
stdex::sstring filename2, filename3;
filename2 = filename3 = temp_path();
filename2 += _T("stdex-stream-replicator-2.tmp");
file f2(
filename2.c_str(),
mode_for_reading | mode_for_writing | mode_create | mode_binary);
filename3 += _T("stdex-stream-replicator-3.tmp");
cached_file f3(
filename3.c_str(),
mode_for_reading | mode_for_writing | mode_create | mode_binary,
128);
{
stdex::stream::replicator writer;
buffer f2_buf(f2, 0, 32);
writer.push_back(&f1);
writer.push_back(&f2_buf);
writer.push_back(&f3);
for (uint32_t i = 0; i < total; ++i) {
Assert::IsTrue(writer.ok());
writer << i;
}
}
f1.seekbeg(0);
f2.seekbeg(0);
f3.seekbeg(0);
{
buffer f2_buf(f2, 64, 0);
uint32_t x;
for (uint32_t i = 0; i < total; ++i) {
f1 >> x;
Assert::IsTrue(f1.ok());
Assert::IsTrue(x == i);
f2_buf >> x;
Assert::IsTrue(f2_buf.ok());
Assert::IsTrue(x == i);
f3 >> x;
Assert::IsTrue(f3.ok());
Assert::IsTrue(x == i);
}
f1 >> x;
Assert::IsFalse(f1.ok());
f2_buf >> x;
Assert::IsFalse(f2_buf.ok());
f3 >> x;
Assert::IsFalse(f3.ok());
}
f2.close();
std::filesystem::remove(filename2);
f3.close();
std::filesystem::remove(filename3);
}
void stream::open_close()
{
cached_file dat(stdex::invalid_handle, state_t::fail, 4096);
const stdex::sstring filepath = temp_path();
constexpr uint32_t count = 3;
stdex::sstring filename[count];
stdex::stream::fpos_t start[count];
for (uint32_t i = 0; i < count; ++i) {
filename[i] = filepath + stdex::sprintf(_T("stdex-stream-open_close%u.tmp"), NULL, i);
dat.open(filename[i].c_str(), mode_for_reading | mode_for_writing | share_none | mode_preserve_existing | mode_binary);
Assert::IsTrue(dat.ok());
start[i] = dat.tell();
Assert::AreNotEqual(fpos_max, start[i]);
for (uint32_t j = 0; j < 31 + 11 * i; ++j) {
dat << j * count + i;
Assert::IsTrue(dat.ok());
}
dat.close();
}
for (uint32_t i = 0; i < count; ++i) {
dat.open(filename[i].c_str(), mode_for_reading | mode_open_existing | share_none | mode_binary);
Assert::IsTrue(dat.ok());
for (;;) {
uint32_t x;
dat >> x;
if (!dat.ok())
break;
Assert::IsTrue(x % count == i);
}
}
dat.close();
for (uint32_t i = 0; i < count; ++i)
std::filesystem::remove(filename[i]);
}
void stream::file_stat()
{
stdex::sstring path(temp_path());
Assert::IsTrue(file::exists(path));
Assert::IsFalse(file::readonly(path));
}
}

View File

@ -1,75 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#endif
namespace UnitTests
{
void string::strncpy()
{
stdex::utf32_t tmp[0x100];
stdex::strncpy(tmp, u"This is a 🐔Test🐮.");
tmp[_countof(tmp) - 1] = 0;
Assert::IsTrue(stdex::strcmp(U"This is a 🐔Test🐮.", tmp) == 0);
}
void string::sprintf()
{
stdex::locale locale(stdex::create_locale(LC_ALL, "en_US.UTF-8"));
Assert::AreEqual(L"This is a test.", stdex::sprintf(L"This is %ls.", locale, L"a test").c_str());
Assert::IsTrue(stdex::sprintf(L"This is %ls.", locale, L"a test").size() == 15);
Assert::AreEqual("This is a test.", stdex::sprintf("This is %s.", locale, "a test").c_str());
Assert::IsTrue(stdex::sprintf("This is %s.", locale, "a test").size() == 15);
Assert::AreEqual(L"This is a 🐔Test🐮.", stdex::sprintf(L"This is %ls.", locale, L"a 🐔Test🐮").c_str());
Assert::AreEqual("This is a 🐔Test🐮.", stdex::sprintf("This is %s.", locale, "a 🐔Test🐮").c_str());
wstring wstr;
std::string str;
for (size_t i = 0; i < 200; i++) {
wstr += L"🐔Test🐮\r\n";
str += "🐔Test🐮\r\n";
}
Assert::AreEqual(wstr.c_str(), stdex::sprintf(L"%ls", locale, wstr.data()).c_str());
Assert::IsTrue(stdex::sprintf(L"%ls", locale, wstr.data()).size() == wstr.size());
Assert::AreEqual(str.c_str(), stdex::sprintf("%s", locale, str.data()).c_str());
Assert::IsTrue(stdex::sprintf("%s", locale, str.data()).size() == str.size());
}
void string::snprintf()
{
stdex::locale locale(stdex::create_locale(LC_ALL, "en_US.UTF-8"));
{
wchar_t buf[0x100];
Assert::IsTrue(stdex::snprintf(buf, _countof(buf), L"This is %ls.", locale, L"a test") == 15);
Assert::AreEqual(L"This is a test.", buf);
}
{
char buf[0x100];
Assert::IsTrue(stdex::snprintf(buf, _countof(buf), "This is %s.", locale, "a test") == 15);
Assert::AreEqual("This is a test.", buf);
}
{
wchar_t buf[8];
size_t n = stdex::snprintf(buf, _countof(buf), L"This is %ls.", locale, L"a test");
Assert::IsTrue(n <= _countof(buf));
Assert::IsTrue(stdex::strncmp(L"This is a test.", buf, n) == 0);
}
{
char buf[8];
size_t n = stdex::snprintf(buf, _countof(buf), "This is %s.", locale, "a test");
Assert::IsTrue(n <= _countof(buf));
Assert::IsTrue(stdex::strncmp("This is a test.", buf, n) == 0);
}
}
}

View File

@ -1,111 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#endif
#if defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
namespace UnitTests
{
void unicode::str2wstr()
{
Assert::AreEqual(
L"This is a test.",
stdex::str2wstr("This is a test.", stdex::charset_id::utf8).c_str());
Assert::AreEqual(
L"Th\u00ed\u0161 i\u22c5 a te\u0073\u0304t. 😀😅",
stdex::str2wstr("Thíš i⋅ a tes̄t. 😀😅", stdex::charset_id::utf8).c_str());
std::string src;
std::wstring dst;
for (size_t i = 0; i < 2000; i++) {
src += "🐔Test🐮\r\n";
dst += L"🐔Test🐮\r\n";
}
Assert::AreEqual(dst.c_str(), stdex::str2wstr(src, stdex::charset_id::utf8).c_str());
Assert::AreEqual(
L"",
stdex::str2wstr("test", 0, stdex::charset_id::utf8).c_str());
Assert::AreEqual(
L"",
stdex::str2wstr(nullptr, 0, stdex::charset_id::utf8).c_str());
}
void unicode::wstr2str()
{
Assert::AreEqual(
"This is a test.",
stdex::wstr2str(L"This is a test.", stdex::charset_id::utf8).c_str());
Assert::AreEqual(
"Th\xc3\xad\xc5\xa1 i\xe2\x8b\x85 a tes\xcc\x84t. \xf0\x9f\x98\x80\xf0\x9f\x98\x85",
stdex::wstr2str(L"Thíš i⋅ a tes̄t. 😀😅", stdex::charset_id::utf8).c_str());
std::wstring src;
std::string dst;
for (size_t i = 0; i < 2000; i++) {
src += L"🐔Test🐮\r\n";
dst += "🐔Test🐮\r\n";
}
Assert::AreEqual(dst.c_str(), stdex::wstr2str(src, stdex::charset_id::utf8).c_str());
Assert::AreEqual(
"",
stdex::wstr2str(L"test", 0, stdex::charset_id::utf8).c_str());
Assert::AreEqual(
"",
stdex::wstr2str(nullptr, 0, stdex::charset_id::utf8).c_str());
}
void unicode::charset_encoder()
{
{
stdex::charset_encoder<char, char> win1250_to_utf8(stdex::charset_id::windows1250, stdex::charset_id::utf8);
Assert::AreEqual(
"This is a test.",
win1250_to_utf8.convert("This is a test.").c_str());
Assert::AreEqual(
"Thíš i· a teşt.",
win1250_to_utf8.convert("Th\xed\x9a i\xb7 a te\xbat.").c_str());
std::string src, dst;
for (size_t i = 0; i < 1000; i++) {
src += "V ko\x9eu\x9a\xe8ku zlobnega mizarja stopiclja fant in kli\xe8" "e 0123456789.\r\n";
dst += "V kožuščku zlobnega mizarja stopiclja fant in kliče 0123456789.\r\n";
}
Assert::AreEqual(dst.c_str(), win1250_to_utf8.convert(src).c_str());
Assert::AreEqual(
"",
win1250_to_utf8.convert("test", 0).c_str());
Assert::AreEqual(
"",
win1250_to_utf8.convert(nullptr, 0).c_str());
}
{
stdex::charset_encoder<char16_t, char> encode(stdex::charset_id::utf16, stdex::charset_id::ascii, '?');
Assert::AreEqual("Te?t.", encode.convert(u"Tešt.").c_str());
}
}
void unicode::normalize()
{
#ifdef _WIN32
Assert::AreEqual(
L"tést",
stdex::normalize(L"tést").c_str());
Assert::AreEqual(
L"",
stdex::normalize(nullptr, 0).c_str());
#endif
}
}
#if defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

View File

@ -1,28 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#endif
namespace UnitTests
{
void watchdog::test()
{
volatile bool wd_called = false;
stdex::watchdog<std::chrono::steady_clock> wd(
std::chrono::milliseconds(100), [&] { wd_called = true; });
for (int i = 0; i < 100; ++i) {
std::this_thread::sleep_for(std::chrono::milliseconds(10));
Assert::IsFalse(wd_called);
wd.reset();
}
std::this_thread::sleep_for(std::chrono::milliseconds(300));
Assert::IsTrue(wd_called);
}
}

@ -1 +0,0 @@
Subproject commit 51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf

View File

@ -1,36 +0,0 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2024-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#endif
namespace UnitTests
{
void zlib::test()
{
static const char inflated[] = "This is a test.";
stdex::stream::memory_file dat_deflated;
{
stdex::zlib_writer zlib(dat_deflated, 9, 4);
zlib.write(inflated, sizeof(inflated) - sizeof(*inflated));
}
static const uint8_t deflated[] = { 0x78, 0xda, 0x0b, 0xc9, 0xc8, 0x2c, 0x56, 0x00, 0xa2, 0x44, 0x85, 0x92, 0xd4, 0xe2, 0x12, 0x3d, 0x00, 0x29, 0x97, 0x05, 0x24 };
Assert::IsTrue(dat_deflated.size() == sizeof(deflated));
Assert::IsTrue(memcmp(deflated, dat_deflated.data(), sizeof(deflated)) == 0);
dat_deflated.seekbeg(0);
stdex::stream::memory_file dat_inflated;
{
stdex::zlib_reader zlib(dat_deflated, 3);
dat_inflated.write_stream(zlib);
}
Assert::IsTrue(dat_inflated.size() == sizeof(inflated) - sizeof(*inflated));
Assert::IsTrue(memcmp(inflated, dat_inflated.data(), sizeof(inflated) - sizeof(*inflated)) == 0);
}
}

View File

@ -0,0 +1,198 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: UnitTests/compat.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_4be4f7b278e009bf0f1906cf31fb73bd.html">UnitTests</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">compat.hpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> SPDX-License-Identifier: MIT</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> Copyright © 2023-2024 Amebis</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">*/</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;CppUnitTest.h&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;stdexcept&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#define TEST_CLASS(name) class name</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#define TEST_METHOD(name) static void name()</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="keyword">namespace </span>Assert</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span>{</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> IsTrue(<span class="keywordtype">bool</span> c)</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> {</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keywordflow">if</span> (!c)</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;not true&quot;</span>);</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> }</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> IsFalse(<span class="keywordtype">bool</span> c)</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> {</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keywordflow">if</span> (c)</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;not false&quot;</span>);</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> }</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">void</span> AreEqual(<span class="keyword">const</span> T&amp; a, <span class="keyword">const</span> T&amp; b)</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> {</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow">if</span> (!(a == b))</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;not equal&quot;</span>);</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> }</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">size_t</span> N&gt;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">void</span> AreEqual(<span class="keyword">const</span> T (&amp;a)[N], <span class="keyword">const</span> T (&amp;b)[N])</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> {</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; N; ++i)</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">if</span> (!(a[i] == b[i]))</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;not equal&quot;</span>);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> }</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> AreEqual(<span class="keyword">const</span> <span class="keywordtype">char</span>* a, <span class="keyword">const</span> <span class="keywordtype">char</span>* b)</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> {</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">if</span> (strcmp(a, b) != 0)</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;not equal&quot;</span>);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> }</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> AreEqual(<span class="keyword">const</span> <span class="keywordtype">wchar_t</span>* a, <span class="keyword">const</span> <span class="keywordtype">wchar_t</span>* b)</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> {</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">if</span> (wcscmp(a, b) != 0)</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;not equal&quot;</span>);</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> }</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> AreEqual(<span class="keyword">const</span> <span class="keywordtype">char32_t</span>* a, <span class="keyword">const</span> <span class="keywordtype">char32_t</span>* b)</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> {</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">if</span> (stdex::strcmp(a, b) != 0)</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;not equal&quot;</span>);</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">if</span> (wcscmp(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">wchar_t</span>*<span class="keyword">&gt;</span>(a), <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">wchar_t</span>*<span class="keyword">&gt;</span>(b)) != 0)</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;not equal&quot;</span>);</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> }</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">void</span> AreNotEqual(<span class="keyword">const</span> T&amp; a, <span class="keyword">const</span> T&amp; b)</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> {</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">if</span> (a == b)</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;equal&quot;</span>);</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> }</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> AreNotEqual(<span class="keyword">const</span> <span class="keywordtype">char</span>* a, <span class="keyword">const</span> <span class="keywordtype">char</span>* b)</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> {</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span> (strcmp(a, b) == 0)</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;equal&quot;</span>);</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> }</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> AreNotEqual(<span class="keyword">const</span> <span class="keywordtype">wchar_t</span>* a, <span class="keyword">const</span> <span class="keywordtype">wchar_t</span>* b)</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> {</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">if</span> (wcscmp(a, b) == 0)</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;equal&quot;</span>);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> }</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span> E, <span class="keyword">typename</span> F&gt;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">void</span> ExpectException(F functor)</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> {</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">try</span> { functor(); }</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">catch</span> (<span class="keyword">const</span> E&amp;) { <span class="keywordflow">return</span>; }</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">catch</span> (...) { <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;unexpected exception&quot;</span>); }</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;exception not thrown&quot;</span>);</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> }</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span>}</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:42 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

322
annotated.html Normal file
View File

@ -0,0 +1,322 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Class List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:dynsection.toggleLevel(1);">1</span><span onclick="javascript:dynsection.toggleLevel(2);">2</span><span onclick="javascript:dynsection.toggleLevel(3);">3</span><span onclick="javascript:dynsection.toggleLevel(4);">4</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="dynsection.toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>stdex</b></td><td class="desc"></td></tr>
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="dynsection.toggleFolder('0_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>chrono</b></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1chrono_1_1aosn__date.html" target="_self">aosn_date</a></td><td class="desc">AOsn date </td></tr>
<tr id="row_0_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1chrono_1_1aosn__timestamp.html" target="_self">aosn_timestamp</a></td><td class="desc">AOsn timestamp </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="dynsection.toggleFolder('0_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>html</b></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1comment.html" target="_self">comment</a></td><td class="desc">HTML comment </td></tr>
<tr id="row_0_1_1_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1declaration.html" target="_self">declaration</a></td><td class="desc">HTML declaration </td></tr>
<tr id="row_0_1_2_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1document.html" target="_self">document</a></td><td class="desc">HTML document </td></tr>
<tr id="row_0_1_3_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1element.html" target="_self">element</a></td><td class="desc">HTML element <code>&lt;.../&gt;</code> </td></tr>
<tr id="row_0_1_4_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1element__end.html" target="_self">element_end</a></td><td class="desc">Ending tag of an HTML element <code>&lt;/...&gt;</code> </td></tr>
<tr id="row_0_1_5_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1element__start.html" target="_self">element_start</a></td><td class="desc">Starting tag of an HTML element <code>&lt;...&gt;</code> </td></tr>
<tr id="row_0_1_6_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1html_1_1element__traits.html" target="_self">element_traits</a></td><td class="desc">Describes attributes associated with a HTML element </td></tr>
<tr id="row_0_1_7_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1html_1_1entity.html" target="_self">entity</a></td><td class="desc">HTML entity </td></tr>
<tr id="row_0_1_8_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1html_1_1inserted__token.html" target="_self">inserted_token</a></td><td class="desc">Inserted HTML token </td></tr>
<tr id="row_0_1_9_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1instruction.html" target="_self">instruction</a></td><td class="desc">HTML instruction </td></tr>
<tr id="row_0_1_10_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1parser.html" target="_self">parser</a></td><td class="desc">HTML parser </td></tr>
<tr id="row_0_1_11_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1sequence.html" target="_self">sequence</a></td><td class="desc">Base class for HTML sequences </td></tr>
<tr id="row_0_1_12_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1starting__token.html" target="_self">starting_token</a></td><td class="desc">Token representing start HTML tag </td></tr>
<tr id="row_0_1_13_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1text__token.html" target="_self">text_token</a></td><td class="desc">Token representing part of HTML text </td></tr>
<tr id="row_0_1_14_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1token.html" target="_self">token</a></td><td class="desc">HTML token base class </td></tr>
<tr id="row_0_1_15_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1html_1_1url__token.html" target="_self">url_token</a></td><td class="desc">HTTP token representing an URL </td></tr>
<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="dynsection.toggleFolder('0_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>idrec</b></td><td class="desc"></td></tr>
<tr id="row_0_2_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1idrec_1_1record.html" target="_self">record</a></td><td class="desc">Helper class for read/write of records to/from memory </td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_3_" class="arrow" onclick="dynsection.toggleFolder('0_3_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>minisign</b></td><td class="desc"></td></tr>
<tr id="row_0_3_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1minisign_1_1line__break.html" target="_self">line_break</a></td><td class="desc">Test for CRLF or LF </td></tr>
<tr id="row_0_3_1_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1minisign_1_1untrusted__comment.html" target="_self">untrusted_comment</a></td><td class="desc">Test for "untrusted comment:" </td></tr>
<tr id="row_0_4_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_4_" class="arrow" onclick="dynsection.toggleFolder('0_4_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>parser</b></td><td class="desc"></td></tr>
<tr id="row_0_4_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__angle.html" target="_self">basic_angle</a></td><td class="desc">Test for angle in d°mm'ss.dddd form </td></tr>
<tr id="row_0_4_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__any__cu.html" target="_self">basic_any_cu</a></td><td class="desc">Test for any code unit </td></tr>
<tr id="row_0_4_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__bol.html" target="_self">basic_bol</a></td><td class="desc">Test for beginning of line </td></tr>
<tr id="row_0_4_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__branch.html" target="_self">basic_branch</a></td><td class="desc">Test for any </td></tr>
<tr id="row_0_4_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__chemical__formula.html" target="_self">basic_chemical_formula</a></td><td class="desc">Test for chemical formula </td></tr>
<tr id="row_0_4_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__creditor__reference.html" target="_self">basic_creditor_reference</a></td><td class="desc">Test for Creditor Reference </td></tr>
<tr id="row_0_4_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__css__cdc.html" target="_self">basic_css_cdc</a></td><td class="desc">Legacy CSS comment end <code>--&gt;</code> </td></tr>
<tr id="row_0_4_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__css__cdo.html" target="_self">basic_css_cdo</a></td><td class="desc">Legacy CSS comment start <code>&lt;!--</code> </td></tr>
<tr id="row_0_4_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__css__comment.html" target="_self">basic_css_comment</a></td><td class="desc">CSS comment </td></tr>
<tr id="row_0_4_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__css__import.html" target="_self">basic_css_import</a></td><td class="desc">CSS import directive </td></tr>
<tr id="row_0_4_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__css__string.html" target="_self">basic_css_string</a></td><td class="desc">CSS string </td></tr>
<tr id="row_0_4_11_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__css__uri.html" target="_self">basic_css_uri</a></td><td class="desc">URI in CSS </td></tr>
<tr id="row_0_4_12_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__cu.html" target="_self">basic_cu</a></td><td class="desc">Test for specific code unit </td></tr>
<tr id="row_0_4_13_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__cu__set.html" target="_self">basic_cu_set</a></td><td class="desc">Test for any code unit from a given string of code units </td></tr>
<tr id="row_0_4_14_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__date.html" target="_self">basic_date</a></td><td class="desc">Test for date </td></tr>
<tr id="row_0_4_15_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__dns__domain__char.html" target="_self">basic_dns_domain_char</a></td><td class="desc">Test for valid DNS domain character </td></tr>
<tr id="row_0_4_16_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__dns__name.html" target="_self">basic_dns_name</a></td><td class="desc">Test for DNS domain/hostname </td></tr>
<tr id="row_0_4_17_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__email__address.html" target="_self">basic_email_address</a></td><td class="desc">Test for e-mail address </td></tr>
<tr id="row_0_4_18_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__emoticon.html" target="_self">basic_emoticon</a></td><td class="desc">Test for emoticon </td></tr>
<tr id="row_0_4_19_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__eol.html" target="_self">basic_eol</a></td><td class="desc">Test for end of line </td></tr>
<tr id="row_0_4_20_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__fraction.html" target="_self">basic_fraction</a></td><td class="desc">Test for fraction </td></tr>
<tr id="row_0_4_21_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__html__declaration__condition__end.html" target="_self">basic_html_declaration_condition_end</a></td><td class="desc">End of condition <code>...]]&gt;</code> </td></tr>
<tr id="row_0_4_22_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__html__declaration__condition__start.html" target="_self">basic_html_declaration_condition_start</a></td><td class="desc">Start of condition <code>&lt;![condition[...</code> </td></tr>
<tr id="row_0_4_23_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__html__ident.html" target="_self">basic_html_ident</a></td><td class="desc">Contiguous sequence of characters representing name of element, attribute etc </td></tr>
<tr id="row_0_4_24_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__html__tag.html" target="_self">basic_html_tag</a></td><td class="desc">Tag </td></tr>
<tr id="row_0_4_25_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__html__value.html" target="_self">basic_html_value</a></td><td class="desc">Optionally-quoted string representing value of an attribute </td></tr>
<tr id="row_0_4_26_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__iban.html" target="_self">basic_iban</a></td><td class="desc">Test for International Bank Account Number </td></tr>
<tr id="row_0_4_27_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__integer.html" target="_self">basic_integer</a></td><td class="desc">Base class for integer testing </td></tr>
<tr id="row_0_4_28_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__integer10.html" target="_self">basic_integer10</a></td><td class="desc">Test for decimal integer </td></tr>
<tr id="row_0_4_29_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__integer10ts.html" target="_self">basic_integer10ts</a></td><td class="desc">Test for decimal integer possibly containing thousand separators </td></tr>
<tr id="row_0_4_30_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__integer16.html" target="_self">basic_integer16</a></td><td class="desc">Test for hexadecimal integer </td></tr>
<tr id="row_0_4_31_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__ipv4__address.html" target="_self">basic_ipv4_address</a></td><td class="desc">Test for IPv4 address </td></tr>
<tr id="row_0_4_32_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__ipv6__address.html" target="_self">basic_ipv6_address</a></td><td class="desc">Test for IPv6 address </td></tr>
<tr id="row_0_4_33_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__ipv6__scope__id__char.html" target="_self">basic_ipv6_scope_id_char</a></td><td class="desc">Test for valid IPv6 address scope ID character </td></tr>
<tr id="row_0_4_34_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__iterations.html" target="_self">basic_iterations</a></td><td class="desc">Test for repeating </td></tr>
<tr id="row_0_4_35_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__json__string.html" target="_self">basic_json_string</a></td><td class="desc">Test for JSON string </td></tr>
<tr id="row_0_4_36_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__mime__type.html" target="_self">basic_mime_type</a></td><td class="desc">MIME content type </td></tr>
<tr id="row_0_4_37_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__mixed__numeral.html" target="_self">basic_mixed_numeral</a></td><td class="desc">Test for mixed numeral </td></tr>
<tr id="row_0_4_38_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__monetary__numeral.html" target="_self">basic_monetary_numeral</a></td><td class="desc">Test for monetary numeral </td></tr>
<tr id="row_0_4_39_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__noop.html" target="_self">basic_noop</a></td><td class="desc">"No-op" match </td></tr>
<tr id="row_0_4_40_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__parser.html" target="_self">basic_parser</a></td><td class="desc">Base template for all parsers </td></tr>
<tr id="row_0_4_41_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__permutation.html" target="_self">basic_permutation</a></td><td class="desc">Test for permutation </td></tr>
<tr id="row_0_4_42_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__phone__number.html" target="_self">basic_phone_number</a></td><td class="desc">Test for phone number </td></tr>
<tr id="row_0_4_43_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__punct__cu.html" target="_self">basic_punct_cu</a></td><td class="desc">Test for any punctuation code unit </td></tr>
<tr id="row_0_4_44_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__roman__numeral.html" target="_self">basic_roman_numeral</a></td><td class="desc">Test for Roman numeral </td></tr>
<tr id="row_0_4_45_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__scientific__numeral.html" target="_self">basic_scientific_numeral</a></td><td class="desc">Test for scientific numeral </td></tr>
<tr id="row_0_4_46_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__score.html" target="_self">basic_score</a></td><td class="desc">Test for match score </td></tr>
<tr id="row_0_4_47_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__sequence.html" target="_self">basic_sequence</a></td><td class="desc">Test for sequence </td></tr>
<tr id="row_0_4_48_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__set.html" target="_self">basic_set</a></td><td class="desc"></td></tr>
<tr id="row_0_4_49_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__si__reference.html" target="_self">basic_si_reference</a></td><td class="desc">Test for SI Reference </td></tr>
<tr id="row_0_4_50_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__si__reference__delimiter.html" target="_self">basic_si_reference_delimiter</a></td><td class="desc">Test for SI Reference delimiter </td></tr>
<tr id="row_0_4_51_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__si__reference__part.html" target="_self">basic_si_reference_part</a></td><td class="desc">Test for SI Reference part </td></tr>
<tr id="row_0_4_52_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__signed__numeral.html" target="_self">basic_signed_numeral</a></td><td class="desc">Test for signed numeral </td></tr>
<tr id="row_0_4_53_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__space__cu.html" target="_self">basic_space_cu</a></td><td class="desc">Test for any space code unit </td></tr>
<tr id="row_0_4_54_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__space__or__punct__cu.html" target="_self">basic_space_or_punct_cu</a></td><td class="desc">Test for any space or punctuation code unit </td></tr>
<tr id="row_0_4_55_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__string.html" target="_self">basic_string</a></td><td class="desc">Test for given string </td></tr>
<tr id="row_0_4_56_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__string__branch.html" target="_self">basic_string_branch</a></td><td class="desc">Test for any string </td></tr>
<tr id="row_0_4_57_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__time.html" target="_self">basic_time</a></td><td class="desc">Test for time </td></tr>
<tr id="row_0_4_58_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__url.html" target="_self">basic_url</a></td><td class="desc">Test for URL </td></tr>
<tr id="row_0_4_59_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__url__password__char.html" target="_self">basic_url_password_char</a></td><td class="desc">Test for valid URL password character </td></tr>
<tr id="row_0_4_60_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__url__path.html" target="_self">basic_url_path</a></td><td class="desc">Test for URL path </td></tr>
<tr id="row_0_4_61_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__url__path__char.html" target="_self">basic_url_path_char</a></td><td class="desc">Test for valid URL path character </td></tr>
<tr id="row_0_4_62_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1basic__url__username__char.html" target="_self">basic_url_username_char</a></td><td class="desc">Test for valid URL username character </td></tr>
<tr id="row_0_4_63_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1parser_1_1html__attribute.html" target="_self">html_attribute</a></td><td class="desc">Tag attribute </td></tr>
<tr id="row_0_4_64_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__agent.html" target="_self">http_agent</a></td><td class="desc">Test for HTTP agent </td></tr>
<tr id="row_0_4_65_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__any__type.html" target="_self">http_any_type</a></td><td class="desc">Test for HTTP any type </td></tr>
<tr id="row_0_4_66_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__asterisk.html" target="_self">http_asterisk</a></td><td class="desc">Test for HTTP asterisk </td></tr>
<tr id="row_0_4_67_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__cookie.html" target="_self">http_cookie</a></td><td class="desc">Test for HTTP cookie (RFC2109) </td></tr>
<tr id="row_0_4_68_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__cookie__parameter.html" target="_self">http_cookie_parameter</a></td><td class="desc">Test for HTTP cookie parameter (RFC2109) </td></tr>
<tr id="row_0_4_69_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1parser_1_1http__factor__more.html" target="_self">http_factor_more</a></td><td class="desc"></td></tr>
<tr id="row_0_4_70_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__header.html" target="_self">http_header</a></td><td class="desc">Test for HTTP header </td></tr>
<tr id="row_0_4_71_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__language.html" target="_self">http_language</a></td><td class="desc">Test for HTTP language (RFC1766) </td></tr>
<tr id="row_0_4_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__line__break.html" target="_self">http_line_break</a></td><td class="desc">Test for HTTP line break (RFC2616: CRLF | LF) </td></tr>
<tr id="row_0_4_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__media__range.html" target="_self">http_media_range</a></td><td class="desc">Test for HTTP media range (RFC2616: media-range) </td></tr>
<tr id="row_0_4_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__media__type.html" target="_self">http_media_type</a></td><td class="desc">Test for HTTP media type (RFC2616: media-type) </td></tr>
<tr id="row_0_4_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__parameter.html" target="_self">http_parameter</a></td><td class="desc">Test for HTTP parameter (RFC2616: parameter) </td></tr>
<tr id="row_0_4_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__protocol.html" target="_self">http_protocol</a></td><td class="desc">Test for HTTP protocol </td></tr>
<tr id="row_0_4_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__quoted__string.html" target="_self">http_quoted_string</a></td><td class="desc">Test for HTTP quoted string (RFC2616: quoted-string) </td></tr>
<tr id="row_0_4_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__request.html" target="_self">http_request</a></td><td class="desc">Test for HTTP request </td></tr>
<tr id="row_0_4_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__space.html" target="_self">http_space</a></td><td class="desc">Test for HTTP space (RFC2616: LWS) </td></tr>
<tr id="row_0_4_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__text__char.html" target="_self">http_text_char</a></td><td class="desc">Test for HTTP text character (RFC2616: TEXT) </td></tr>
<tr id="row_0_4_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__token.html" target="_self">http_token</a></td><td class="desc">Test for HTTP token (RFC2616: token - tolerates non-ASCII) </td></tr>
<tr id="row_0_4_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__url.html" target="_self">http_url</a></td><td class="desc">Test for HTTP URL </td></tr>
<tr id="row_0_4_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__url__parameter.html" target="_self">http_url_parameter</a></td><td class="desc">Test for HTTP URL parameter </td></tr>
<tr id="row_0_4_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__url__path.html" target="_self">http_url_path</a></td><td class="desc">Test for HTTP URL path segment </td></tr>
<tr id="row_0_4_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__url__path__segment.html" target="_self">http_url_path_segment</a></td><td class="desc">Test for HTTP URL path segment </td></tr>
<tr id="row_0_4_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__url__port.html" target="_self">http_url_port</a></td><td class="desc">Test for HTTP URL port </td></tr>
<tr id="row_0_4_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__url__server.html" target="_self">http_url_server</a></td><td class="desc">Test for HTTP URL server </td></tr>
<tr id="row_0_4_88_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__value.html" target="_self">http_value</a></td><td class="desc">Test for HTTP value (RFC2616: value) </td></tr>
<tr id="row_0_4_89_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__value__collection.html" target="_self">http_value_collection</a></td><td class="desc">Collection of HTTP values </td></tr>
<tr id="row_0_4_90_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__weight.html" target="_self">http_weight</a></td><td class="desc">Test for HTTP weight factor </td></tr>
<tr id="row_0_4_91_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1http__weighted__value.html" target="_self">http_weighted_value</a></td><td class="desc">Test for HTTP weighted value </td></tr>
<tr id="row_0_4_92_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1parser__collection.html" target="_self">parser_collection</a></td><td class="desc">Base template for collection-holding parsers </td></tr>
<tr id="row_0_4_93_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1sgml__any__cp.html" target="_self">sgml_any_cp</a></td><td class="desc">Test for any SGML code point </td></tr>
<tr id="row_0_4_94_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1sgml__cp.html" target="_self">sgml_cp</a></td><td class="desc">Test for specific SGML code point </td></tr>
<tr id="row_0_4_95_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1sgml__cp__set.html" target="_self">sgml_cp_set</a></td><td class="desc">Test for any SGML code point from a given string of SGML code points </td></tr>
<tr id="row_0_4_96_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1sgml__dns__domain__char.html" target="_self">sgml_dns_domain_char</a></td><td class="desc">Test for valid DNS domain SGML character </td></tr>
<tr id="row_0_4_97_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1sgml__ipv6__scope__id__char.html" target="_self">sgml_ipv6_scope_id_char</a></td><td class="desc">Test for valid IPv6 address scope ID SGML character </td></tr>
<tr id="row_0_4_98_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1sgml__punct__cp.html" target="_self">sgml_punct_cp</a></td><td class="desc">Test for any SGML punctuation code point </td></tr>
<tr id="row_0_4_99_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1sgml__space__cp.html" target="_self">sgml_space_cp</a></td><td class="desc">Test for any SGML space code point </td></tr>
<tr id="row_0_4_100_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1sgml__space__or__punct__cp.html" target="_self">sgml_space_or_punct_cp</a></td><td class="desc">Test for any SGML space or punctuation code point </td></tr>
<tr id="row_0_4_101_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1sgml__string.html" target="_self">sgml_string</a></td><td class="desc">Test for SGML given string </td></tr>
<tr id="row_0_4_102_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1sgml__url__password__char.html" target="_self">sgml_url_password_char</a></td><td class="desc">Test for valid URL password SGML character </td></tr>
<tr id="row_0_4_103_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1sgml__url__path__char.html" target="_self">sgml_url_path_char</a></td><td class="desc">Test for valid URL path SGML character </td></tr>
<tr id="row_0_4_104_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1parser_1_1sgml__url__username__char.html" target="_self">sgml_url_username_char</a></td><td class="desc">Test for valid URL username SGML character </td></tr>
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_5_" class="arrow" onclick="dynsection.toggleFolder('0_5_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>stream</b></td><td class="desc"></td></tr>
<tr id="row_0_5_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1async__reader.html" target="_self">async_reader</a></td><td class="desc">Provides read-ahead stream capability </td></tr>
<tr id="row_0_5_1_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1async__writer.html" target="_self">async_writer</a></td><td class="desc">Provides write-back stream capability </td></tr>
<tr id="row_0_5_2_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1basic.html" target="_self">basic</a></td><td class="desc">Basic stream operations </td></tr>
<tr id="row_0_5_3_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1basic__file.html" target="_self">basic_file</a></td><td class="desc">Basic seekable stream operations </td></tr>
<tr id="row_0_5_4_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1basic__sys.html" target="_self">basic_sys</a></td><td class="desc">OS data stream (file, pipe, socket...) </td></tr>
<tr id="row_0_5_5_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_5_5_" class="arrow" onclick="dynsection.toggleFolder('0_5_5_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1buffer.html" target="_self">buffer</a></td><td class="desc">Buffered read/write stream </td></tr>
<tr id="row_0_5_5_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1stream_1_1buffer_1_1buffer__t.html" target="_self">buffer_t</a></td><td class="desc"></td></tr>
<tr id="row_0_5_6_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1buffered__sys.html" target="_self">buffered_sys</a></td><td class="desc">Buffered OS data stream (file, pipe, socket...) </td></tr>
<tr id="row_0_5_7_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1cache.html" target="_self">cache</a></td><td class="desc">Cached file </td></tr>
<tr id="row_0_5_8_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1cached__file.html" target="_self">cached_file</a></td><td class="desc">Cached file-system file </td></tr>
<tr id="row_0_5_9_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1converter.html" target="_self">converter</a></td><td class="desc">Modifies data on the fly when reading from/writing to a source stream. Could also be used to modify read/write boundaries like FIFO queues, async read/write, buffering etc </td></tr>
<tr id="row_0_5_10_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1diag__file.html" target="_self">diag_file</a></td><td class="desc">Compares multiple files to perform the same </td></tr>
<tr id="row_0_5_11_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_5_11_" class="arrow" onclick="dynsection.toggleFolder('0_5_11_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1fifo.html" target="_self">fifo</a></td><td class="desc">In-memory FIFO queue </td></tr>
<tr id="row_0_5_11_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1stream_1_1fifo_1_1node__t.html" target="_self">node_t</a></td><td class="desc"></td></tr>
<tr id="row_0_5_12_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1file.html" target="_self">file</a></td><td class="desc">File-system file </td></tr>
<tr id="row_0_5_13_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1file__window.html" target="_self">file_window</a></td><td class="desc">Limits file reading/writing to a predefined window </td></tr>
<tr id="row_0_5_14_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1limiter.html" target="_self">limiter</a></td><td class="desc">Limits reading from/writing to stream to a predefined number of bytes </td></tr>
<tr id="row_0_5_15_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1memory__file.html" target="_self">memory_file</a></td><td class="desc">In-memory file </td></tr>
<tr id="row_0_5_16_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_5_16_" class="arrow" onclick="dynsection.toggleFolder('0_5_16_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1replicator.html" target="_self">replicator</a></td><td class="desc">Replicates writing of the same data to multiple streams </td></tr>
<tr id="row_0_5_16_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1replicator_1_1worker.html" target="_self">worker</a></td><td class="desc"></td></tr>
<tr id="row_0_5_17_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1socket.html" target="_self">socket</a></td><td class="desc">Socket stream </td></tr>
<tr id="row_0_5_18_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream_1_1window.html" target="_self">window</a></td><td class="desc">Limits reading from/writing to stream to a predefined window </td></tr>
<tr id="row_0_6_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_6_" class="arrow" onclick="dynsection.toggleFolder('0_6_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>wav</b></td><td class="desc"></td></tr>
<tr id="row_0_6_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1wav_1_1cue.html" target="_self">cue</a></td><td class="desc">Cue point </td></tr>
<tr id="row_0_6_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1wav_1_1cue__ex.html" target="_self">cue_ex</a></td><td class="desc">Extended cue </td></tr>
<tr id="row_0_6_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1wav_1_1data.html" target="_self">data</a></td><td class="desc">Encoded waveform content </td></tr>
<tr id="row_0_6_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1wav_1_1format.html" target="_self">format</a></td><td class="desc">Waveform format </td></tr>
<tr id="row_0_6_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1wav_1_1header.html" target="_self">header</a></td><td class="desc">File header </td></tr>
<tr id="row_0_6_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1wav_1_1label.html" target="_self">label</a></td><td class="desc">Label </td></tr>
<tr id="row_0_6_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1wav_1_1list.html" target="_self">list</a></td><td class="desc">Associated data list </td></tr>
<tr id="row_0_6_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1wav_1_1ltxt.html" target="_self">ltxt</a></td><td class="desc">Labeled text </td></tr>
<tr id="row_0_6_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1wav_1_1note.html" target="_self">note</a></td><td class="desc">Note </td></tr>
<tr id="row_0_6_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1wav_1_1silence.html" target="_self">silence</a></td><td class="desc">Silence </td></tr>
<tr id="row_0_6_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1wav_1_1wave.html" target="_self">wave</a></td><td class="desc">Waveform block </td></tr>
<tr id="row_0_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_7_" class="arrow" onclick="dynsection.toggleFolder('0_7_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1aggregate__progress.html" target="_self">aggregate_progress</a></td><td class="desc">Aggregated progress indicator </td></tr>
<tr id="row_0_7_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html" target="_self">worker_progress</a></td><td class="desc">Progress indicator for individual worker </td></tr>
<tr id="row_0_8_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1base64__dec.html" target="_self">base64_dec</a></td><td class="desc">Base64 decoding session </td></tr>
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1base64__enc.html" target="_self">base64_enc</a></td><td class="desc">Base64 encoding session </td></tr>
<tr id="row_0_10_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1base64__reader.html" target="_self">base64_reader</a></td><td class="desc">Converts from Base64 when reading from a stream </td></tr>
<tr id="row_0_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1base64__writer.html" target="_self">base64_writer</a></td><td class="desc">Converts to Base64 when writing to a stream </td></tr>
<tr id="row_0_12_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1basic__hash.html" target="_self">basic_hash</a></td><td class="desc">Basic hashing operations </td></tr>
<tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1basic__sys__object.html" target="_self">basic_sys_object</a></td><td class="desc">Operating system object base class </td></tr>
<tr id="row_0_14_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1benchmark.html" target="_self">benchmark</a></td><td class="desc">Measures time between initialization and going out of scope </td></tr>
<tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1block__hash.html" target="_self">block_hash</a></td><td class="desc">Hashing in blocks </td></tr>
<tr id="row_0_16_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1charset__encoder.html" target="_self">charset_encoder</a></td><td class="desc">Encoding converter context </td></tr>
<tr id="row_0_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1crc32__hash.html" target="_self">crc32_hash</a></td><td class="desc">Hashes as CRC32 </td></tr>
<tr id="row_0_18_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1curl__easy__cleanup__delete.html" target="_self">curl_easy_cleanup_delete</a></td><td class="desc">Deleter for unique_ptr using curl_easy_cleanup </td></tr>
<tr id="row_0_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1curl__initializer.html" target="_self">curl_initializer</a></td><td class="desc">Context scope automatic CURL (un)initialization </td></tr>
<tr id="row_0_20_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1curl__runtime__error.html" target="_self">curl_runtime_error</a></td><td class="desc">CURL runtime error </td></tr>
<tr id="row_0_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1curl__slist__free__all__delete.html" target="_self">curl_slist_free_all_delete</a></td><td class="desc">Deleter for unique_ptr using curl_slist_free_all </td></tr>
<tr id="row_0_22_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1free__locale__delete.html" target="_self">free_locale_delete</a></td><td class="desc">Deleter for unique_ptr using free_locale </td></tr>
<tr id="row_0_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1freeaddrinfo__delete.html" target="_self">freeaddrinfo_delete</a></td><td class="desc">Deleter for unique_ptr using freeaddrinfo </td></tr>
<tr id="row_0_24_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1global__progress.html" target="_self">global_progress</a></td><td class="desc">Global progress indicator </td></tr>
<tr id="row_0_25_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1hex__dec.html" target="_self">hex_dec</a></td><td class="desc">Hexadecimal decoding session </td></tr>
<tr id="row_0_26_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1hex__enc.html" target="_self">hex_enc</a></td><td class="desc">Hexadecimal encoding session </td></tr>
<tr id="row_0_27_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1interval.html" target="_self">interval</a></td><td class="desc">Numerical interval </td></tr>
<tr id="row_0_28_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1lazy__progress.html" target="_self">lazy_progress</a></td><td class="desc">Lazy progress indicator </td></tr>
<tr id="row_0_29_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1locale.html" target="_self">locale</a></td><td class="desc">Locale_t helper class to free_locale when going out of scope </td></tr>
<tr id="row_0_30_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1mapping.html" target="_self">mapping</a></td><td class="desc">Maps index in source string to index in destination string </td></tr>
<tr id="row_0_31_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionstdex_1_1md2__t.html" target="_self">md2_t</a></td><td class="desc">MD2 hash value </td></tr>
<tr id="row_0_32_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1md5__hash.html" target="_self">md5_hash</a></td><td class="desc">Hashes as MD5 </td></tr>
<tr id="row_0_33_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1no__delete.html" target="_self">no_delete</a></td><td class="desc">Noop deleter </td></tr>
<tr id="row_0_34_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1no__delete_3_01_t_0f_0e_4.html" target="_self">no_delete&lt; T[]&gt;</a></td><td class="desc">Noop array deleter </td></tr>
<tr id="row_0_35_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1pool.html" target="_self">pool</a></td><td class="desc">Per-NUMA pool of items </td></tr>
<tr id="row_0_36_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1progress.html" target="_self">progress</a></td><td class="desc">Progress indicator base class </td></tr>
<tr id="row_0_37_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1progress__switcher.html" target="_self">progress_switcher</a></td><td class="desc">Progress indicator switcher </td></tr>
<tr id="row_0_38_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1ref__unique__ptr.html" target="_self">ref_unique_ptr</a></td><td class="desc">Helper class for returning pointers to std::unique_ptr </td></tr>
<tr id="row_0_39_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1ref__unique__ptr_3_01_t_0f_0e_00_01_d_01_4.html" target="_self">ref_unique_ptr&lt; T[], D &gt;</a></td><td class="desc">Helper class for returning pointers to std::unique_ptr (specialization for arrays) </td></tr>
<tr id="row_0_40_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1ring.html" target="_self">ring</a></td><td class="desc">Ring buffer </td></tr>
<tr id="row_0_41_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_41_" class="arrow" onclick="dynsection.toggleFolder('0_41_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1sanitizing__allocator.html" target="_self">sanitizing_allocator</a></td><td class="desc">An allocator template that sanitizes each memory block before it is destroyed or reallocated </td></tr>
<tr id="row_0_41_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1sanitizing__allocator_1_1rebind.html" target="_self">rebind</a></td><td class="desc">Convert this type to sanitizing_allocator&lt;T2&gt; </td></tr>
<tr id="row_0_42_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1sanitizing__blob.html" target="_self">sanitizing_blob</a></td><td class="desc">Sanitizing BLOB </td></tr>
<tr id="row_0_43_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1scoped__executor.html" target="_self">scoped_executor</a></td><td class="desc">Executes one lambda immediately, and another when exiting the scope </td></tr>
<tr id="row_0_44_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1sha1__hash.html" target="_self">sha1_hash</a></td><td class="desc">Hashes as SHA1 </td></tr>
<tr id="row_0_45_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionstdex_1_1sha256__t.html" target="_self">sha256_t</a></td><td class="desc">SHA256 hash value </td></tr>
<tr id="row_0_46_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionstdex_1_1sha__t.html" target="_self">sha_t</a></td><td class="desc">SHA hash value </td></tr>
<tr id="row_0_47_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1socket__traits.html" target="_self">socket_traits</a></td><td class="desc">Socket operations </td></tr>
<tr id="row_0_48_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1spinlock.html" target="_self">spinlock</a></td><td class="desc">Spin-lock </td></tr>
<tr id="row_0_49_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1stream__hasher.html" target="_self">stream_hasher</a></td><td class="desc">Hashes read to or write from data of the stream </td></tr>
<tr id="row_0_50_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1sys__info__t.html" target="_self">sys_info_t</a></td><td class="desc">System information </td></tr>
<tr id="row_0_51_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstdex_1_1sys__object__traits.html" target="_self">sys_object_traits</a></td><td class="desc">System object operations </td></tr>
<tr id="row_0_52_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1timeout__progress.html" target="_self">timeout_progress</a></td><td class="desc">Timeout progress indicator </td></tr>
<tr id="row_0_53_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1user__cancelled.html" target="_self">user_cancelled</a></td><td class="desc">User cancelled exception </td></tr>
<tr id="row_0_54_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1vector__queue.html" target="_self">vector_queue</a></td><td class="desc">Helper class to allow limited size FIFO queues implemented as vector of elements </td></tr>
<tr id="row_0_55_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1watchdog.html" target="_self">watchdog</a></td><td class="desc">Triggers callback if not reset frequently enough </td></tr>
<tr id="row_0_56_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1zlib__reader.html" target="_self">zlib_reader</a></td><td class="desc">Decompresses data when reading from a stream </td></tr>
<tr id="row_0_57_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstdex_1_1zlib__writer.html" target="_self">zlib_writer</a></td><td class="desc">Compresses data when writing to a stream </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:44 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -1,19 +0,0 @@
version: master.{build}
image:
- Visual Studio 2022
- Visual Studio 2019
configuration:
- Debug
- Release
platform:
- x64
- x86
install:
- cd %APPVEYOR_BUILD_FOLDER%
- git submodule update --init --recursive
build:
project: UnitTests\UnitTests.sln
parallel: true
verbosity: minimal
test_script:
- cmd: vstest.console /logger:Appveyor UnitTests\.tmp\UnitTests\%platform%\%configuration%\UnitTests.dll

167
assert_8hpp_source.html Normal file
View File

@ -0,0 +1,167 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: include/stdex/assert.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_fca3c47b2ea228727bd6729832f89576.html">stdex</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">assert.hpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> SPDX-License-Identifier: MIT</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> Copyright © 2023-2024 Amebis</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">*/</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &quot;compat.hpp&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &quot;windows.h&quot;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;assert.h&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#ifdef NDEBUG</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#define stdex_assert(e) { _Analysis_assume_(e); ((void)0); }</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define stdex_verify(e) ((void)(e))</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#if defined(_WIN32)</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define stdex_assert(e) (!!(e) ? (void)0 : stdex::do_assert(_L(__FILE__), (unsigned)(__LINE__), _L(#e)))</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#elif defined(__APPLE__)</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#define stdex_assert(e) (!!(e) ? (void)0 : stdex::do_assert(__func__, __ASSERT_FILE_NAME, __LINE__, #e))</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#error Implement!</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#define stdex_verify(e) stdex_assert(e)</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keyword">namespace </span>stdex</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span>{</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#if defined(_WIN32)</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> do_assert(<span class="keyword">const</span> <span class="keywordtype">wchar_t</span>* file, <span class="keywordtype">unsigned</span> line, <span class="keyword">const</span> <span class="keywordtype">wchar_t</span>* expression)</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> {</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// Non-interactive processes (NT services, ISAPI and ActiveX DLLs running in IIS etc.)</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="comment">// MUST NOT raise asserts. It&#39;d block the process, and process host (SCM, IIS) would</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// continue to see the process as alive but non-responding, preventing recovery.</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="comment">// RaiseException instead to have the process terminated and possibly trigger Windows</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="comment">// Error Reporting or AHroščar.</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="comment">// For interactive processes, it is more convenient to alert the user looking at the</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// desktop right now. Maybe it is the developer and debugging the very process is</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// possible?</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> HWINSTA hWinSta = GetProcessWindowStation();</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">if</span> (hWinSta) {</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> WCHAR sName[MAX_PATH];</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">if</span> (GetUserObjectInformationW(hWinSta, UOI_NAME, sName, <span class="keyword">sizeof</span>(sName), NULL)) {</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> sName[_countof(sName) - 1] = 0;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="comment">// Only &quot;WinSta0&quot; is interactive (Source: KB171890)</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">if</span> (_wcsicmp(sName, L<span class="stringliteral">&quot;WinSta0&quot;</span>) == 0) {</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> _wassert(expression, file, line);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> }</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> }</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> }</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> RaiseException(STATUS_ASSERTION_FAILURE, EXCEPTION_NONCONTINUABLE, 0, NULL);</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> }</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="preprocessor">#elif defined(__APPLE__)</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> do_assert(<span class="keyword">const</span> <span class="keywordtype">char</span>* function, <span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">char</span>* expression)</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> {</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> __assert_rtn(function, file, line, expression);</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> }</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="preprocessor">#error Implement!</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span>}</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:42 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

565
base64_8hpp_source.html Normal file
View File

@ -0,0 +1,565 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: include/stdex/base64.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_fca3c47b2ea228727bd6729832f89576.html">stdex</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">base64.hpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> SPDX-License-Identifier: MIT</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> Copyright © 2016-2024 Amebis</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">*/</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &quot;assert.hpp&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &quot;compat.hpp&quot;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &quot;stream.hpp&quot;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#if defined(__GNUC__)</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#pragma GCC diagnostic push</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#pragma GCC diagnostic ignored &quot;-Wunknown-pragmas&quot;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">namespace </span>stdex</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span>{</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> base64_enc_lookup[64] = {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="charliteral">&#39;A&#39;</span>, <span class="charliteral">&#39;B&#39;</span>, <span class="charliteral">&#39;C&#39;</span>, <span class="charliteral">&#39;D&#39;</span>, <span class="charliteral">&#39;E&#39;</span>, <span class="charliteral">&#39;F&#39;</span>, <span class="charliteral">&#39;G&#39;</span>, <span class="charliteral">&#39;H&#39;</span>, <span class="charliteral">&#39;I&#39;</span>, <span class="charliteral">&#39;J&#39;</span>, <span class="charliteral">&#39;K&#39;</span>, <span class="charliteral">&#39;L&#39;</span>, <span class="charliteral">&#39;M&#39;</span>, <span class="charliteral">&#39;N&#39;</span>, <span class="charliteral">&#39;O&#39;</span>, <span class="charliteral">&#39;P&#39;</span>,</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="charliteral">&#39;Q&#39;</span>, <span class="charliteral">&#39;R&#39;</span>, <span class="charliteral">&#39;S&#39;</span>, <span class="charliteral">&#39;T&#39;</span>, <span class="charliteral">&#39;U&#39;</span>, <span class="charliteral">&#39;V&#39;</span>, <span class="charliteral">&#39;W&#39;</span>, <span class="charliteral">&#39;X&#39;</span>, <span class="charliteral">&#39;Y&#39;</span>, <span class="charliteral">&#39;Z&#39;</span>, <span class="charliteral">&#39;a&#39;</span>, <span class="charliteral">&#39;b&#39;</span>, <span class="charliteral">&#39;c&#39;</span>, <span class="charliteral">&#39;d&#39;</span>, <span class="charliteral">&#39;e&#39;</span>, <span class="charliteral">&#39;f&#39;</span>,</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="charliteral">&#39;g&#39;</span>, <span class="charliteral">&#39;h&#39;</span>, <span class="charliteral">&#39;i&#39;</span>, <span class="charliteral">&#39;j&#39;</span>, <span class="charliteral">&#39;k&#39;</span>, <span class="charliteral">&#39;l&#39;</span>, <span class="charliteral">&#39;m&#39;</span>, <span class="charliteral">&#39;n&#39;</span>, <span class="charliteral">&#39;o&#39;</span>, <span class="charliteral">&#39;p&#39;</span>, <span class="charliteral">&#39;q&#39;</span>, <span class="charliteral">&#39;r&#39;</span>, <span class="charliteral">&#39;s&#39;</span>, <span class="charliteral">&#39;t&#39;</span>, <span class="charliteral">&#39;u&#39;</span>, <span class="charliteral">&#39;v&#39;</span>,</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="charliteral">&#39;w&#39;</span>, <span class="charliteral">&#39;x&#39;</span>, <span class="charliteral">&#39;y&#39;</span>, <span class="charliteral">&#39;z&#39;</span>, <span class="charliteral">&#39;0&#39;</span>, <span class="charliteral">&#39;1&#39;</span>, <span class="charliteral">&#39;2&#39;</span>, <span class="charliteral">&#39;3&#39;</span>, <span class="charliteral">&#39;4&#39;</span>, <span class="charliteral">&#39;5&#39;</span>, <span class="charliteral">&#39;6&#39;</span>, <span class="charliteral">&#39;7&#39;</span>, <span class="charliteral">&#39;8&#39;</span>, <span class="charliteral">&#39;9&#39;</span>, <span class="charliteral">&#39;+&#39;</span>, <span class="charliteral">&#39;/&#39;</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> };</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">inline</span> <span class="keyword">const</span> uint8_t base64_dec_lookup[256] = {</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/* 0 */</span> 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/* 1 */</span> 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/* 2 */</span> 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 63,</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/* 3 */</span> 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 64, 255, 255,</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/* 4 */</span> 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/* 5 */</span> 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 255,</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/* 6 */</span> 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/* 7 */</span> 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 255, 255, 255, 255, 255,</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* 8 */</span> 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/* 9 */</span> 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/* A */</span> 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/* B */</span> 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/* C */</span> 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/* D */</span> 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/* E */</span> 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/* F */</span> 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> };</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="foldopen" id="foldopen00054" data-start="{" data-end="};">
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__enc.html"> 54</a></span> <span class="keyword">class </span><a class="code hl_class" href="classstdex_1_1base64__enc.html">base64_enc</a></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> {</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00060" data-start="{" data-end="}">
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__enc.html#abc6c72530634c3fea8168710ab5b1a28"> 60</a></span> <a class="code hl_function" href="classstdex_1_1base64__enc.html#abc6c72530634c3fea8168710ab5b1a28">base64_enc</a>() noexcept : <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a>(0)</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[0] = 0;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[1] = 0;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[2] = 0;</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> }</div>
</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keyword">class</span> TR, <span class="keyword">class</span> AX&gt;</div>
<div class="foldopen" id="foldopen00076" data-start="{" data-end="}">
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__enc.html#a3f2a19f9afe1fb83200c4f7623d62a80"> 76</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classstdex_1_1base64__enc.html#a3f2a19f9afe1fb83200c4f7623d62a80">encode</a>(_Inout_ std::basic_string&lt;T, TR, AX&gt; &amp;out, _In_bytecount_(size) <span class="keyword">const</span> <span class="keywordtype">void</span> *data, _In_ <span class="keywordtype">size_t</span> size, _In_opt_ <span class="keywordtype">bool</span> is_last = <span class="keyword">true</span>)</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> {</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> stdex_assert(data || !size);</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="comment">// Preallocate output</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> out.reserve(out.size() + <a class="code hl_function" href="classstdex_1_1base64__enc.html#afbae8f49a0948ea7bb23d0faa8f67f21">enc_size</a>(size));</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="comment">// Convert data character by character.</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0;; i++) {</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a> &gt;= 3) {</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_function" href="classstdex_1_1base64__enc.html#a3f2a19f9afe1fb83200c4f7623d62a80">encode</a>(out);</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a> = 0;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> }</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">if</span> (i &gt;= size)</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a>++] = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(data)[i];</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> }</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="comment">// If this is the last block, flush the buffer.</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">if</span> (is_last &amp;&amp; <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a>) {</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_function" href="classstdex_1_1base64__enc.html#a3f2a19f9afe1fb83200c4f7623d62a80">encode</a>(out, <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a>);</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a> = 0;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> }</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> }</div>
</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="foldopen" id="foldopen00106" data-start="{" data-end="}">
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__enc.html#afb6a85176589d9ce1f65ce6355592fe7"> 106</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classstdex_1_1base64__enc.html#afb6a85176589d9ce1f65ce6355592fe7">clear</a>() noexcept</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> {</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a> = 0;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> }</div>
</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
<div class="foldopen" id="foldopen00118" data-start="{" data-end="}">
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__enc.html#afbae8f49a0948ea7bb23d0faa8f67f21"> 118</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classstdex_1_1base64__enc.html#afbae8f49a0948ea7bb23d0faa8f67f21">enc_size</a>(_In_ <span class="keywordtype">size_t</span> size) <span class="keyword">const</span> <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> {</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">return</span> ((<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a> + size + 2)/3)*4;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</div>
</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keyword">class</span> TR, <span class="keyword">class</span> AX&gt;</div>
<div class="foldopen" id="foldopen00128" data-start="{" data-end="}">
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__enc.html#a2f43e0f7787bdbea112f7eb52880d898"> 128</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classstdex_1_1base64__enc.html#a2f43e0f7787bdbea112f7eb52880d898">encode</a>(_Inout_ std::basic_string&lt;T, TR, AX&gt; &amp;out)</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> {</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> out += base64_enc_lookup[ <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[0] &gt;&gt; 2 ];</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> out += base64_enc_lookup[((<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[0] &lt;&lt; 4) | (<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[1] &gt;&gt; 4)) &amp; 0x3f];</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> out += base64_enc_lookup[((<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[1] &lt;&lt; 2) | (<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[2] &gt;&gt; 6)) &amp; 0x3f];</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> out += base64_enc_lookup[ <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[2] &amp; 0x3f];</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> }</div>
</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keyword">class</span> TR, <span class="keyword">class</span> AX&gt;</div>
<div class="foldopen" id="foldopen00140" data-start="{" data-end="}">
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__enc.html#a2a64b6a49d89ddc4ca79a217faa41962"> 140</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classstdex_1_1base64__enc.html#a2a64b6a49d89ddc4ca79a217faa41962">encode</a>(_Inout_ std::basic_string&lt;T, TR, AX&gt; &amp;out, _In_ <span class="keywordtype">size_t</span> size)</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> {</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (size &gt; 0) {</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> out += base64_enc_lookup[<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[0] &gt;&gt; 2];</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span> (size &gt; 1) {</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> out += base64_enc_lookup[((<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[0] &lt;&lt; 4) | (<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[1] &gt;&gt; 4)) &amp; 0x3f];</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span> (size &gt; 2) {</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> out += base64_enc_lookup[((<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[1] &lt;&lt; 2) | (<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[2] &gt;&gt; 6)) &amp; 0x3f];</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> out += base64_enc_lookup[<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[2] &amp; 0x3f];</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> out += base64_enc_lookup[(<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[1] &lt;&lt; 2) &amp; 0x3f];</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> out += <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> }</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> out += base64_enc_lookup[(<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[0] &lt;&lt; 4) &amp; 0x3f];</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> out += <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> out += <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> }</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> out += <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> out += <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> out += <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> out += <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> }</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> }</div>
</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf"> 167</a></span> uint8_t <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[3]; </div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907"> 168</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a>; </div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> };</div>
</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> </div>
<div class="foldopen" id="foldopen00174" data-start="{" data-end="};">
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__writer.html"> 174</a></span> <span class="keyword">class </span><a class="code hl_class" href="classstdex_1_1base64__writer.html">base64_writer</a> : <span class="keyword">public</span> <a class="code hl_class" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a>, <span class="keyword">protected</span> <a class="code hl_class" href="classstdex_1_1base64__enc.html">base64_enc</a></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> {</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <a class="code hl_class" href="classstdex_1_1base64__writer.html">base64_writer</a>(_Inout_ <a class="code hl_class" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>&amp; source, _In_ <span class="keywordtype">size_t</span> max_blocks = 19) :</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <a class="code hl_class" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a>(source),</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> m_max_blocks(max_blocks),</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <a class="code hl_variable" href="classstdex_1_1base64__writer.html#a2529c8798fa89be544b12690411e7125">m_num_blocks</a>(0)</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> {}</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> </div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">virtual</span> <a class="code hl_class" href="classstdex_1_1base64__writer.html">~base64_writer</a>()</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> {</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="comment">// Flush the buffer.</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a>) {</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> (++<a class="code hl_variable" href="classstdex_1_1base64__writer.html#a2529c8798fa89be544b12690411e7125">m_num_blocks</a> &gt; m_max_blocks) {</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> *m_source &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <a class="code hl_variable" href="classstdex_1_1base64__writer.html#a2529c8798fa89be544b12690411e7125">m_num_blocks</a> = 1;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> }</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <a class="code hl_function" href="classstdex_1_1base64__writer.html#a54f0c38bb19f7757e42f5f76695c3a17">encode</a>(<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a>);</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> }</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> }</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
<div class="foldopen" id="foldopen00195" data-start="{" data-end="}">
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__writer.html#aaca6933a48a0266e4e46cc93b03ef410"> 195</a></span> <span class="keyword">virtual</span> _Success_(<span class="keywordflow">return</span> != 0) size_t <a class="code hl_function" href="classstdex_1_1base64__writer.html#aaca6933a48a0266e4e46cc93b03ef410">write</a>(</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> _In_reads_bytes_opt_(length) const <span class="keywordtype">void</span>* data, _In_ <span class="keywordtype">size_t</span> length)</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> {</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> stdex_assert(data || !length);</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0;; i++) {</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a> &gt;= 3) {</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">if</span> (++<a class="code hl_variable" href="classstdex_1_1base64__writer.html#a2529c8798fa89be544b12690411e7125">m_num_blocks</a> &gt; m_max_blocks) {</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> *m_source &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <a class="code hl_variable" href="classstdex_1_1base64__writer.html#a2529c8798fa89be544b12690411e7125">m_num_blocks</a> = 1;</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> }</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <a class="code hl_function" href="classstdex_1_1base64__writer.html#a54f0c38bb19f7757e42f5f76695c3a17">encode</a>();</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">if</span> (!m_source-&gt;<a class="code hl_function" href="classstdex_1_1stream_1_1basic.html#a0295e4efe18eef2a8962680274957ac1">ok</a>()) _Unlikely_ {</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> m_state = m_source-&gt;<a class="code hl_function" href="classstdex_1_1stream_1_1basic.html#a2aa36b007017c2052a0118c1df4910d0">state</a>();</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">return</span> length - i;</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> }</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a> = 0;</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> }</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">if</span> (i &gt;= length) {</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> m_state = stdex::stream::state_t::ok;</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">return</span> length;</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> }</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a>++] = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(data)[i];</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> }</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> }</div>
</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">protected</span>:</div>
<div class="foldopen" id="foldopen00224" data-start="{" data-end="}">
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__writer.html#a54f0c38bb19f7757e42f5f76695c3a17"> 224</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classstdex_1_1base64__writer.html#a54f0c38bb19f7757e42f5f76695c3a17">encode</a>()</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> {</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keywordtype">char</span> out[4];</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> out[0] = base64_enc_lookup[ <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[0] &gt;&gt; 2 ];</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> out[1] = base64_enc_lookup[((<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[0] &lt;&lt; 4) | (<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[1] &gt;&gt; 4)) &amp; 0x3f];</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> out[2] = base64_enc_lookup[((<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[1] &lt;&lt; 2) | (<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[2] &gt;&gt; 6)) &amp; 0x3f];</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> out[3] = base64_enc_lookup[ <a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[2] &amp; 0x3f];</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> m_source-&gt;<a class="code hl_function" href="classstdex_1_1stream_1_1basic.html#af6c10ec4ab181b5ed5b061d115059b7a">write_array</a>(out, <span class="keyword">sizeof</span>(*out), _countof(out));</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> }</div>
</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
<div class="foldopen" id="foldopen00237" data-start="{" data-end="}">
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__writer.html#a60b74be588c41f28c88ca0d49deb53af"> 237</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classstdex_1_1base64__writer.html#a60b74be588c41f28c88ca0d49deb53af">encode</a>(_In_ <span class="keywordtype">size_t</span> size)</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> {</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">char</span> out[4];</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">if</span> (size &gt; 0) {</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> out[0] = base64_enc_lookup[<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[0] &gt;&gt; 2];</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">if</span> (size &gt; 1) {</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> out[1] = base64_enc_lookup[((<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[0] &lt;&lt; 4) | (<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[1] &gt;&gt; 4)) &amp; 0x3f];</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">if</span> (size &gt; 2) {</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> out[2] = base64_enc_lookup[((<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[1] &lt;&lt; 2) | (<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[2] &gt;&gt; 6)) &amp; 0x3f];</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> out[3] = base64_enc_lookup[<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[2] &amp; 0x3f];</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> out[2] = base64_enc_lookup[(<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[1] &lt;&lt; 2) &amp; 0x3f];</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> out[3] = <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> }</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> out[1] = base64_enc_lookup[(<a class="code hl_variable" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a>[0] &lt;&lt; 4) &amp; 0x3f];</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> out[2] = <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> out[3] = <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> }</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> out[0] = <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> out[1] = <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> out[2] = <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> out[3] = <span class="charliteral">&#39;=&#39;</span>;</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> }</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> m_source-&gt;<a class="code hl_function" href="classstdex_1_1stream_1_1basic.html#af6c10ec4ab181b5ed5b061d115059b7a">write_array</a>(out, <span class="keyword">sizeof</span>(*out), _countof(out));</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> }</div>
</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> </div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keywordtype">size_t</span></div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> m_max_blocks, </div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__writer.html#a2529c8798fa89be544b12690411e7125"> 268</a></span> <a class="code hl_variable" href="classstdex_1_1base64__writer.html#a2529c8798fa89be544b12690411e7125">m_num_blocks</a>; </div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> };</div>
</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> </div>
<div class="foldopen" id="foldopen00274" data-start="{" data-end="};">
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__dec.html"> 274</a></span> <span class="keyword">class </span><a class="code hl_class" href="classstdex_1_1base64__dec.html">base64_dec</a></div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> {</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00280" data-start="{" data-end="}">
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__dec.html#a17d956a883e99d8d884d2cb2edade8c5"> 280</a></span> <a class="code hl_function" href="classstdex_1_1base64__dec.html#a17d956a883e99d8d884d2cb2edade8c5">base64_dec</a>() noexcept : <a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a>(0)</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> {</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> <a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[0] = 0;</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[1] = 0;</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> <a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[2] = 0;</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[3] = 0;</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> }</div>
</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> </div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> T_to, <span class="keyword">class</span> AX, <span class="keyword">class</span> T_from&gt;</div>
<div class="foldopen" id="foldopen00297" data-start="{" data-end="}">
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__dec.html#a94b0860b19c61f53208b79fcfd1ac32f"> 297</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classstdex_1_1base64__dec.html#a94b0860b19c61f53208b79fcfd1ac32f">decode</a>(_Inout_ std::vector&lt;T_to, AX&gt; &amp;out, _Out_ <span class="keywordtype">bool</span> &amp;is_last, _In_z_count_(size) <span class="keyword">const</span> T_from *data, _In_ <span class="keywordtype">size_t</span> size)</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> {</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> is_last = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <span class="comment">// Trim data size to first terminator.</span></div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> k = 0; k &lt; size; k++)</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">if</span> (!data[k]) { size = k; <span class="keywordflow">break</span>; }</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> </div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <span class="comment">// Preallocate output</span></div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> out.reserve(out.size() + <a class="code hl_function" href="classstdex_1_1base64__dec.html#a203f2afa5839242c1230cb22e0a65b25">dec_size</a>(size));</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> </div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0;; i++) {</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a> &gt;= 4) {</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <span class="comment">// Buffer full; decode it.</span></div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keywordtype">size_t</span> nibbles = <a class="code hl_function" href="classstdex_1_1base64__dec.html#a94b0860b19c61f53208b79fcfd1ac32f">decode</a>(out);</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">if</span> (nibbles &lt; 3) {</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> is_last = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> }</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> }</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> </div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">if</span> (i &gt;= size)</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> </div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="keywordtype">size_t</span> x = <span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(data[i]);</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> stdex_assert(<a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a> &lt; _countof(<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>));</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[<a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a>] = x &lt; _countof(base64_dec_lookup) ? base64_dec_lookup[x] : 255) != 255)</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a>++;</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> }</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> }</div>
</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> </div>
<div class="foldopen" id="foldopen00331" data-start="{" data-end="}">
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__dec.html#a94738b63789489022e0c16063b732305"> 331</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classstdex_1_1base64__dec.html#a94738b63789489022e0c16063b732305">clear</a>() noexcept</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> {</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a> = 0;</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> }</div>
</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> </div>
<div class="foldopen" id="foldopen00343" data-start="{" data-end="}">
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__dec.html#a203f2afa5839242c1230cb22e0a65b25"> 343</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classstdex_1_1base64__dec.html#a203f2afa5839242c1230cb22e0a65b25">dec_size</a>(_In_ <span class="keywordtype">size_t</span> size) <span class="keyword">const</span> <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> {</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">return</span> ((<a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a> + size + 3)/4)*3;</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> }</div>
</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> </div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keyword">class</span> AX&gt;</div>
<div class="foldopen" id="foldopen00353" data-start="{" data-end="}">
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__dec.html#a07976a85f83981a29f9e1395d883a36d"> 353</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classstdex_1_1base64__dec.html#a07976a85f83981a29f9e1395d883a36d">decode</a>(_Inout_ std::vector&lt;T, AX&gt; &amp;out)</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> {</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> <a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a> = 0;</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> out.push_back((T)(((<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[0] &lt;&lt; 2) | (<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[1] &gt;&gt; 4)) &amp; 0xff));</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[2] &lt; 64) {</div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> out.push_back((T)(((<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[1] &lt;&lt; 4) | (<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[2] &gt;&gt; 2)) &amp; 0xff));</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[3] &lt; 64) {</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> out.push_back((T)(((<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[2] &lt;&lt; 6) | <a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[3]) &amp; 0xff));</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> <span class="keywordflow">return</span> 3;</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> } <span class="keywordflow">else</span></div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">return</span> 2;</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> } <span class="keywordflow">else</span></div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">return</span> 1;</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> }</div>
</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> </div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103"> 369</a></span> uint8_t <a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[4]; </div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905"> 370</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a>; </div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> };</div>
</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> </div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span><span class="preprocessor">#pragma warning(push)</span></div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span><span class="preprocessor">#pragma warning(disable: 26495)</span></div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> </div>
<div class="foldopen" id="foldopen00379" data-start="{" data-end="};">
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__reader.html"> 379</a></span> <span class="keyword">class </span><a class="code hl_class" href="classstdex_1_1base64__reader.html">base64_reader</a> : <span class="keyword">public</span> <a class="code hl_class" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a>, <span class="keyword">protected</span> <a class="code hl_class" href="classstdex_1_1base64__dec.html">base64_dec</a></div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> {</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> <a class="code hl_class" href="classstdex_1_1base64__reader.html">base64_reader</a>(_Inout_ <a class="code hl_class" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>&amp; source) :</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> <a class="code hl_class" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a>(source),</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#affd26a488ea1b5d8b23cc98be45b2535">m_temp_off</a>(0),</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a>(0)</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> {}</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> </div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span><span class="preprocessor">#pragma warning(suppress: 6101) </span><span class="comment">// See [1] below</span></div>
<div class="foldopen" id="foldopen00389" data-start="{" data-end="}">
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__reader.html#af93e15e15612233224b39fc7324cc5ee"> 389</a></span> <span class="keyword">virtual</span> _Success_(<span class="keywordflow">return</span> != 0 || length == 0) size_t <a class="code hl_function" href="classstdex_1_1base64__reader.html#af93e15e15612233224b39fc7324cc5ee">read</a>(</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> _Out_writes_bytes_to_opt_(length, return) <span class="keywordtype">void</span>* data, _In_ <span class="keywordtype">size_t</span> length)</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> {</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> stdex_assert(data || !length);</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> to_read = length;;) {</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a> &gt;= to_read) {</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> memcpy(data, <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ab92bc938edd01351e2639003f6679b99">m_temp</a> + <a class="code hl_variable" href="classstdex_1_1base64__reader.html#affd26a488ea1b5d8b23cc98be45b2535">m_temp_off</a>, to_read);</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#affd26a488ea1b5d8b23cc98be45b2535">m_temp_off</a> += to_read;</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a> -= to_read;</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> m_state = stdex::stream::state_t::ok;</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">return</span> length;</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> }</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a>) {</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> memcpy(data, <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ab92bc938edd01351e2639003f6679b99">m_temp</a> + <a class="code hl_variable" href="classstdex_1_1base64__reader.html#affd26a488ea1b5d8b23cc98be45b2535">m_temp_off</a>, <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a>);</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> <span class="keyword">reinterpret_cast&lt;</span>uint8_t*&amp;<span class="keyword">&gt;</span>(data) += <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a>;</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> to_read -= <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a>;</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#affd26a488ea1b5d8b23cc98be45b2535">m_temp_off</a> = 0;</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a> = 0;</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> }</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> <span class="comment">// Read one Base64 block (4 chars)</span></div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">while</span> (<a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a> &lt; 4) {</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> uint8_t x;</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> *m_source &gt;&gt; x;</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">if</span> (!m_source-&gt;<a class="code hl_function" href="classstdex_1_1stream_1_1basic.html#a0295e4efe18eef2a8962680274957ac1">ok</a>()) _Unlikely_ {</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> m_state = m_source-&gt;<a class="code hl_function" href="classstdex_1_1stream_1_1basic.html#a2aa36b007017c2052a0118c1df4910d0">state</a>();</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">return</span> length - to_read; <span class="comment">// [1] Code analysis misses `length - to_read` bytes were written to data in previous loop iterations.</span></div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> }</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[<a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a>] = base64_dec_lookup[x]) != 255)</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> <a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a>++;</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> }</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> <a class="code hl_function" href="classstdex_1_1base64__reader.html#a523ece0190b031882162c7e4edd33fbb">decode</a>();</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len &lt; 3 &amp;&amp; to_read &gt;</a>= 3) {</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> <span class="comment">// If Base64 indicates end of data, truncate read to hint the client, end of Base64 data has been reached.</span></div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> memcpy(data, <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ab92bc938edd01351e2639003f6679b99">m_temp</a> + <a class="code hl_variable" href="classstdex_1_1base64__reader.html#affd26a488ea1b5d8b23cc98be45b2535">m_temp_off</a>, <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a>);</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#affd26a488ea1b5d8b23cc98be45b2535">m_temp_off</a> = 0;</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a> = 0;</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> to_read -= <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a>;</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> m_state = stdex::stream::state_t::ok;</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">return</span> length - to_read; <span class="comment">// [1] Code analysis misses `length - to_read` bytes were written to data in previous loop iterations.</span></div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> }</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> }</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> }</div>
</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> </div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> <span class="keyword">protected</span>:</div>
<div class="foldopen" id="foldopen00436" data-start="{" data-end="}">
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__reader.html#a523ece0190b031882162c7e4edd33fbb"> 436</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classstdex_1_1base64__reader.html#a523ece0190b031882162c7e4edd33fbb">decode</a>()</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> {</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> <a class="code hl_variable" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a> = 0;</div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#affd26a488ea1b5d8b23cc98be45b2535">m_temp_off</a> = 0;</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ab92bc938edd01351e2639003f6679b99">m_temp</a>[0] = <span class="keyword">static_cast&lt;</span><span class="keywordtype">char</span><span class="keyword">&gt;</span>(((<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[0] &lt;&lt; 2) | (<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[1] &gt;&gt; 4)) &amp; 0xff);</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[2] &lt; 64) {</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ab92bc938edd01351e2639003f6679b99">m_temp</a>[1] = <span class="keyword">static_cast&lt;</span><span class="keywordtype">char</span><span class="keyword">&gt;</span>(((<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[1] &lt;&lt; 4) | (<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[2] &gt;&gt; 2)) &amp; 0xff);</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[3] &lt; 64) {</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ab92bc938edd01351e2639003f6679b99">m_temp</a>[2] = <span class="keyword">static_cast&lt;</span><span class="keywordtype">char</span><span class="keyword">&gt;</span>(((<a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[2] &lt;&lt; 6) | <a class="code hl_variable" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a>[3]) &amp; 0xff);</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a> = 3;</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> } <span class="keywordflow">else</span></div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a> = 2;</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> } <span class="keywordflow">else</span></div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a> = 1;</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> }</div>
</div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> </div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__reader.html#ab92bc938edd01351e2639003f6679b99"> 453</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ab92bc938edd01351e2639003f6679b99">m_temp</a>[3]; </div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> <span class="keywordtype">size_t</span></div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__reader.html#affd26a488ea1b5d8b23cc98be45b2535"> 455</a></span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#affd26a488ea1b5d8b23cc98be45b2535">m_temp_off</a>, </div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"><a class="line" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb"> 456</a></span> <a class="code hl_variable" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a>; </div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> };</div>
</div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> </div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span><span class="preprocessor">#pragma warning(pop)</span></div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span>}</div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> </div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span><span class="preprocessor">#if defined(__GNUC__)</span></div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span><span class="preprocessor">#pragma GCC diagnostic pop</span></div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclassstdex_1_1base64__dec_html"><div class="ttname"><a href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></div><div class="ttdoc">Base64 decoding session.</div><div class="ttdef"><b>Definition</b> base64.hpp:275</div></div>
<div class="ttc" id="aclassstdex_1_1base64__dec_html_a04ab92bcef2c304bc7a5d8d2a03c7905"><div class="ttname"><a href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">stdex::base64_dec::m_num</a></div><div class="ttdeci">size_t m_num</div><div class="ttdoc">Number of bytes used in m_buf</div><div class="ttdef"><b>Definition</b> base64.hpp:370</div></div>
<div class="ttc" id="aclassstdex_1_1base64__dec_html_a07976a85f83981a29f9e1395d883a36d"><div class="ttname"><a href="classstdex_1_1base64__dec.html#a07976a85f83981a29f9e1395d883a36d">stdex::base64_dec::decode</a></div><div class="ttdeci">size_t decode(std::vector&lt; T, AX &gt; &amp;out)</div><div class="ttdoc">Decodes one complete internal buffer of data.</div><div class="ttdef"><b>Definition</b> base64.hpp:353</div></div>
<div class="ttc" id="aclassstdex_1_1base64__dec_html_a17d956a883e99d8d884d2cb2edade8c5"><div class="ttname"><a href="classstdex_1_1base64__dec.html#a17d956a883e99d8d884d2cb2edade8c5">stdex::base64_dec::base64_dec</a></div><div class="ttdeci">base64_dec() noexcept</div><div class="ttdoc">Constructs blank decoding session.</div><div class="ttdef"><b>Definition</b> base64.hpp:280</div></div>
<div class="ttc" id="aclassstdex_1_1base64__dec_html_a203f2afa5839242c1230cb22e0a65b25"><div class="ttname"><a href="classstdex_1_1base64__dec.html#a203f2afa5839242c1230cb22e0a65b25">stdex::base64_dec::dec_size</a></div><div class="ttdeci">size_t dec_size(size_t size) const noexcept</div><div class="ttdoc">Returns maximum decoded size.</div><div class="ttdef"><b>Definition</b> base64.hpp:343</div></div>
<div class="ttc" id="aclassstdex_1_1base64__dec_html_a94738b63789489022e0c16063b732305"><div class="ttname"><a href="classstdex_1_1base64__dec.html#a94738b63789489022e0c16063b732305">stdex::base64_dec::clear</a></div><div class="ttdeci">void clear() noexcept</div><div class="ttdoc">Resets decoding session.</div><div class="ttdef"><b>Definition</b> base64.hpp:331</div></div>
<div class="ttc" id="aclassstdex_1_1base64__dec_html_a94b0860b19c61f53208b79fcfd1ac32f"><div class="ttname"><a href="classstdex_1_1base64__dec.html#a94b0860b19c61f53208b79fcfd1ac32f">stdex::base64_dec::decode</a></div><div class="ttdeci">void decode(std::vector&lt; T_to, AX &gt; &amp;out, bool &amp;is_last, const T_from *data, size_t size)</div><div class="ttdoc">Decodes one block of information, and appends it to the output.</div><div class="ttdef"><b>Definition</b> base64.hpp:297</div></div>
<div class="ttc" id="aclassstdex_1_1base64__dec_html_ab618ef5b21f33c5ed577669091c4b103"><div class="ttname"><a href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">stdex::base64_dec::m_buf</a></div><div class="ttdeci">uint8_t m_buf[4]</div><div class="ttdoc">Internal buffer.</div><div class="ttdef"><b>Definition</b> base64.hpp:369</div></div>
<div class="ttc" id="aclassstdex_1_1base64__enc_html"><div class="ttname"><a href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></div><div class="ttdoc">Base64 encoding session.</div><div class="ttdef"><b>Definition</b> base64.hpp:55</div></div>
<div class="ttc" id="aclassstdex_1_1base64__enc_html_a2a64b6a49d89ddc4ca79a217faa41962"><div class="ttname"><a href="classstdex_1_1base64__enc.html#a2a64b6a49d89ddc4ca79a217faa41962">stdex::base64_enc::encode</a></div><div class="ttdeci">void encode(std::basic_string&lt; T, TR, AX &gt; &amp;out, size_t size)</div><div class="ttdoc">Encodes partial internal buffer of data.</div><div class="ttdef"><b>Definition</b> base64.hpp:140</div></div>
<div class="ttc" id="aclassstdex_1_1base64__enc_html_a2f43e0f7787bdbea112f7eb52880d898"><div class="ttname"><a href="classstdex_1_1base64__enc.html#a2f43e0f7787bdbea112f7eb52880d898">stdex::base64_enc::encode</a></div><div class="ttdeci">void encode(std::basic_string&lt; T, TR, AX &gt; &amp;out)</div><div class="ttdoc">Encodes one complete internal buffer of data.</div><div class="ttdef"><b>Definition</b> base64.hpp:128</div></div>
<div class="ttc" id="aclassstdex_1_1base64__enc_html_a3f2a19f9afe1fb83200c4f7623d62a80"><div class="ttname"><a href="classstdex_1_1base64__enc.html#a3f2a19f9afe1fb83200c4f7623d62a80">stdex::base64_enc::encode</a></div><div class="ttdeci">void encode(std::basic_string&lt; T, TR, AX &gt; &amp;out, const void *data, size_t size, bool is_last=true)</div><div class="ttdoc">Encodes one block of information, and appends it to the output.</div><div class="ttdef"><b>Definition</b> base64.hpp:76</div></div>
<div class="ttc" id="aclassstdex_1_1base64__enc_html_a52f4cc4da6d7d7f4bad7c05a87ecd907"><div class="ttname"><a href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">stdex::base64_enc::m_num</a></div><div class="ttdeci">size_t m_num</div><div class="ttdoc">Number of bytes used in m_buf</div><div class="ttdef"><b>Definition</b> base64.hpp:168</div></div>
<div class="ttc" id="aclassstdex_1_1base64__enc_html_a567a2a3aeda13b50e31d48ba32236adf"><div class="ttname"><a href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">stdex::base64_enc::m_buf</a></div><div class="ttdeci">uint8_t m_buf[3]</div><div class="ttdoc">Internal buffer.</div><div class="ttdef"><b>Definition</b> base64.hpp:167</div></div>
<div class="ttc" id="aclassstdex_1_1base64__enc_html_abc6c72530634c3fea8168710ab5b1a28"><div class="ttname"><a href="classstdex_1_1base64__enc.html#abc6c72530634c3fea8168710ab5b1a28">stdex::base64_enc::base64_enc</a></div><div class="ttdeci">base64_enc() noexcept</div><div class="ttdoc">Constructs blank encoding session.</div><div class="ttdef"><b>Definition</b> base64.hpp:60</div></div>
<div class="ttc" id="aclassstdex_1_1base64__enc_html_afb6a85176589d9ce1f65ce6355592fe7"><div class="ttname"><a href="classstdex_1_1base64__enc.html#afb6a85176589d9ce1f65ce6355592fe7">stdex::base64_enc::clear</a></div><div class="ttdeci">void clear() noexcept</div><div class="ttdoc">Resets encoding session.</div><div class="ttdef"><b>Definition</b> base64.hpp:106</div></div>
<div class="ttc" id="aclassstdex_1_1base64__enc_html_afbae8f49a0948ea7bb23d0faa8f67f21"><div class="ttname"><a href="classstdex_1_1base64__enc.html#afbae8f49a0948ea7bb23d0faa8f67f21">stdex::base64_enc::enc_size</a></div><div class="ttdeci">size_t enc_size(size_t size) const noexcept</div><div class="ttdoc">Returns maximum encoded size.</div><div class="ttdef"><b>Definition</b> base64.hpp:118</div></div>
<div class="ttc" id="aclassstdex_1_1base64__reader_html"><div class="ttname"><a href="classstdex_1_1base64__reader.html">stdex::base64_reader</a></div><div class="ttdoc">Converts from Base64 when reading from a stream.</div><div class="ttdef"><b>Definition</b> base64.hpp:380</div></div>
<div class="ttc" id="aclassstdex_1_1base64__reader_html_a523ece0190b031882162c7e4edd33fbb"><div class="ttname"><a href="classstdex_1_1base64__reader.html#a523ece0190b031882162c7e4edd33fbb">stdex::base64_reader::decode</a></div><div class="ttdeci">void decode()</div><div class="ttdoc">Decodes one complete internal buffer of data.</div><div class="ttdef"><b>Definition</b> base64.hpp:436</div></div>
<div class="ttc" id="aclassstdex_1_1base64__reader_html_ab92bc938edd01351e2639003f6679b99"><div class="ttname"><a href="classstdex_1_1base64__reader.html#ab92bc938edd01351e2639003f6679b99">stdex::base64_reader::m_temp</a></div><div class="ttdeci">char m_temp[3]</div><div class="ttdoc">Temporary buffer.</div><div class="ttdef"><b>Definition</b> base64.hpp:453</div></div>
<div class="ttc" id="aclassstdex_1_1base64__reader_html_ad631499f728824a166843effd7a5eedb"><div class="ttname"><a href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">stdex::base64_reader::m_temp_len</a></div><div class="ttdeci">size_t m_temp_len</div><div class="ttdoc">Number of bytes of data in m_temp</div><div class="ttdef"><b>Definition</b> base64.hpp:456</div></div>
<div class="ttc" id="aclassstdex_1_1base64__reader_html_af93e15e15612233224b39fc7324cc5ee"><div class="ttname"><a href="classstdex_1_1base64__reader.html#af93e15e15612233224b39fc7324cc5ee">stdex::base64_reader::read</a></div><div class="ttdeci">virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)</div><div class="ttdoc">Reads block of data from the stream.</div><div class="ttdef"><b>Definition</b> base64.hpp:389</div></div>
<div class="ttc" id="aclassstdex_1_1base64__reader_html_affd26a488ea1b5d8b23cc98be45b2535"><div class="ttname"><a href="classstdex_1_1base64__reader.html#affd26a488ea1b5d8b23cc98be45b2535">stdex::base64_reader::m_temp_off</a></div><div class="ttdeci">size_t m_temp_off</div><div class="ttdoc">Index of data start in m_temp</div><div class="ttdef"><b>Definition</b> base64.hpp:455</div></div>
<div class="ttc" id="aclassstdex_1_1base64__writer_html"><div class="ttname"><a href="classstdex_1_1base64__writer.html">stdex::base64_writer</a></div><div class="ttdoc">Converts to Base64 when writing to a stream.</div><div class="ttdef"><b>Definition</b> base64.hpp:175</div></div>
<div class="ttc" id="aclassstdex_1_1base64__writer_html_a2529c8798fa89be544b12690411e7125"><div class="ttname"><a href="classstdex_1_1base64__writer.html#a2529c8798fa89be544b12690411e7125">stdex::base64_writer::m_num_blocks</a></div><div class="ttdeci">size_t m_num_blocks</div><div class="ttdef"><b>Definition</b> base64.hpp:268</div></div>
<div class="ttc" id="aclassstdex_1_1base64__writer_html_a54f0c38bb19f7757e42f5f76695c3a17"><div class="ttname"><a href="classstdex_1_1base64__writer.html#a54f0c38bb19f7757e42f5f76695c3a17">stdex::base64_writer::encode</a></div><div class="ttdeci">void encode()</div><div class="ttdoc">Encodes one complete internal buffer of data.</div><div class="ttdef"><b>Definition</b> base64.hpp:224</div></div>
<div class="ttc" id="aclassstdex_1_1base64__writer_html_a60b74be588c41f28c88ca0d49deb53af"><div class="ttname"><a href="classstdex_1_1base64__writer.html#a60b74be588c41f28c88ca0d49deb53af">stdex::base64_writer::encode</a></div><div class="ttdeci">void encode(size_t size)</div><div class="ttdoc">Encodes partial internal buffer of data.</div><div class="ttdef"><b>Definition</b> base64.hpp:237</div></div>
<div class="ttc" id="aclassstdex_1_1base64__writer_html_aaca6933a48a0266e4e46cc93b03ef410"><div class="ttname"><a href="classstdex_1_1base64__writer.html#aaca6933a48a0266e4e46cc93b03ef410">stdex::base64_writer::write</a></div><div class="ttdeci">virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)</div><div class="ttdoc">Writes block of data to the stream.</div><div class="ttdef"><b>Definition</b> base64.hpp:195</div></div>
<div class="ttc" id="aclassstdex_1_1stream_1_1basic_html"><div class="ttname"><a href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></div><div class="ttdoc">Basic stream operations.</div><div class="ttdef"><b>Definition</b> stream.hpp:85</div></div>
<div class="ttc" id="aclassstdex_1_1stream_1_1basic_html_a0295e4efe18eef2a8962680274957ac1"><div class="ttname"><a href="classstdex_1_1stream_1_1basic.html#a0295e4efe18eef2a8962680274957ac1">stdex::stream::basic::ok</a></div><div class="ttdeci">bool ok() const</div><div class="ttdoc">Returns true if the stream state is clean i.e. previous operation was successful.</div><div class="ttdef"><b>Definition</b> stream.hpp:181</div></div>
<div class="ttc" id="aclassstdex_1_1stream_1_1basic_html_a2aa36b007017c2052a0118c1df4910d0"><div class="ttname"><a href="classstdex_1_1stream_1_1basic.html#a2aa36b007017c2052a0118c1df4910d0">stdex::stream::basic::state</a></div><div class="ttdeci">state_t state() const</div><div class="ttdoc">Returns stream state after last operation.</div><div class="ttdef"><b>Definition</b> stream.hpp:176</div></div>
<div class="ttc" id="aclassstdex_1_1stream_1_1basic_html_af6c10ec4ab181b5ed5b061d115059b7a"><div class="ttname"><a href="classstdex_1_1stream_1_1basic.html#af6c10ec4ab181b5ed5b061d115059b7a">stdex::stream::basic::write_array</a></div><div class="ttdeci">size_t write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)</div><div class="ttdoc">Writes an array of data to the stream.</div><div class="ttdef"><b>Definition</b> stream.hpp:394</div></div>
<div class="ttc" id="aclassstdex_1_1stream_1_1converter_html"><div class="ttname"><a href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></div><div class="ttdoc">Modifies data on the fly when reading from/writing to a source stream. Could also be used to modify r...</div><div class="ttdef"><b>Definition</b> stream.hpp:1020</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:42 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

BIN
bc_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
bc_sd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

555
chrono_8hpp_source.html Normal file
View File

@ -0,0 +1,555 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: include/stdex/chrono.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_fca3c47b2ea228727bd6729832f89576.html">stdex</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">chrono.hpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> SPDX-License-Identifier: MIT</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> Copyright © 2023-2024 Amebis</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">*/</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &quot;compat.hpp&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &quot;math.hpp&quot;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &quot;system.hpp&quot;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &quot;locale.hpp&quot;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;chrono&gt;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;ctime&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;stdexcept&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">namespace </span>stdex {</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">namespace </span>chrono</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> {</div>
<div class="foldopen" id="foldopen00024" data-start="{" data-end="};">
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__date.html"> 24</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structstdex_1_1chrono_1_1aosn__date.html">aosn_date</a></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> {</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">using </span>rep = int32_t;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">using </span>period = std::ratio&lt;86400&gt;; <span class="comment">// 1 day</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">using </span>duration = std::chrono::duration&lt;rep, period&gt;;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">using </span>time_point = std::chrono::time_point&lt;aosn_date&gt;;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">bool</span> is_steady = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="foldopen" id="foldopen00035" data-start="{" data-end="}">
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__date.html#aa744054736b15a0d9b73fef541d271a4"> 35</a></span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#aa744054736b15a0d9b73fef541d271a4">now</a>() noexcept</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> {</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> FILETIME t;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> GetSystemTimeAsFileTime(&amp;t);</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#aa049501abaf0ecce57864b258c6f77dc">from_system</a>(t);</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> time_t t;</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> time(&amp;t);</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#aab52157db8e51600b11e36c5eee0b2d4">from_time_t</a>(t);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> }</div>
</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="foldopen" id="foldopen00051" data-start="{" data-end="}">
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__date.html#a75edba9ce0fff5c322209ce7ce6617b9"> 51</a></span> <span class="keyword">static</span> std::time_t <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a75edba9ce0fff5c322209ce7ce6617b9">to_time_t</a>(_In_ <span class="keyword">const</span> time_point tp) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> {</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>std::time_t<span class="keyword">&gt;</span>(tp.time_since_epoch().count()) * 86400 - 210866803200;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> }</div>
</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="foldopen" id="foldopen00059" data-start="{" data-end="}">
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__date.html#aab52157db8e51600b11e36c5eee0b2d4"> 59</a></span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#aab52157db8e51600b11e36c5eee0b2d4">from_time_t</a>(_In_ std::time_t t) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> {</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">return</span> time_point(duration(<span class="keyword">static_cast&lt;</span>rep<span class="keyword">&gt;</span>((t + 210866803200) / 86400)));</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> }</div>
</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#aa049501abaf0ecce57864b258c6f77dc">from_system</a>(_In_ <span class="keyword">const</span> SYSTEMTIME&amp; t) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> {</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a1aa2157912e935cf399833c2265628e0">from_dmy</a>(<span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(t.wDay), <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(t.wMonth), <span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(t.wYear));</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> }</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#aa049501abaf0ecce57864b258c6f77dc">from_system</a>(_In_ <span class="keyword">const</span> FILETIME&amp; t) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> {</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> uint64_t x = ((<span class="keyword">static_cast&lt;</span>uint64_t<span class="keyword">&gt;</span>(t.dwHighDateTime)) &lt;&lt; 32) | t.dwLowDateTime;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">return</span> time_point(duration(<span class="keyword">static_cast&lt;</span>rep<span class="keyword">&gt;</span>(x / 864000000000 + 2305814))); <span class="comment">// Convert from 100 ns to 1-day interval and adjust epoch</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> }</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#aa049501abaf0ecce57864b258c6f77dc">from_system</a>(_In_ DATE t)</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> {</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> SYSTEMTIME st;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">if</span> (!VariantTimeToSystemTime(t, &amp;st))</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;failed to convert date from VARIANT_DATE&quot;</span>);</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#aa049501abaf0ecce57864b258c6f77dc">from_system</a>(st);</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> }</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="preprocessor">#else</span></div>
<div class="foldopen" id="foldopen00096" data-start="{" data-end="}">
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__date.html#aa049501abaf0ecce57864b258c6f77dc"> 96</a></span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#aa049501abaf0ecce57864b258c6f77dc">from_system</a>(_In_ <span class="keyword">const</span> <span class="keyword">struct</span> timespec&amp; t) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> {</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#aab52157db8e51600b11e36c5eee0b2d4">from_time_t</a>(t.tv_sec);</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> }</div>
</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">static</span> <span class="keywordtype">void</span> to_system(_In_ time_point tp, _Out_ SYSTEMTIME&amp; t)</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> {</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> uint8_t day, month;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> int32_t year;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a1d7511309210a6766b8a7d5d792dbc62">to_dmy</a>(tp, &amp;day, &amp;month, &amp;year);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> t.wDay = day;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> t.wMonth = month;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">if</span> (year &gt; WORD_MAX) _Unlikely_</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">throw</span> std::range_error(<span class="stringliteral">&quot;year too big&quot;</span>);</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> t.wYear = <span class="keyword">static_cast&lt;</span>WORD<span class="keyword">&gt;</span>(year);</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> t.wDayOfWeek = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a22273e1d536ed78a67beef7be5d0ebd6">day_of_week</a>(tp) + 1) % 7;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> t.wHour = 0;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> t.wMinute = 0;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> t.wSecond = 0;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> t.wMilliseconds = 0;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">static</span> <span class="keywordtype">void</span> to_system(_In_ time_point tp, _Out_ FILETIME&amp; t) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> {</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> uint64_t x = (tp.time_since_epoch().count() - 2305814) * 864000000000; <span class="comment">// Adjust epoch and convert 1-day interval to 100 ns</span></div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> t.dwHighDateTime = <span class="keyword">static_cast&lt;</span>DWORD<span class="keyword">&gt;</span>(x &gt;&gt; 32);</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> t.dwLowDateTime = <span class="keyword">static_cast&lt;</span>DWORD<span class="keyword">&gt;</span>(x &amp; 0xffffffff);</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> }</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">static</span> <span class="keywordtype">void</span> to_system(_In_ time_point tp, _Out_ DATE&amp; t)</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> {</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> SYSTEMTIME st;</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> to_system(tp, st);</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">if</span> (!SystemTimeToVariantTime(&amp;st, &amp;t))</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;failed to convert date to VARIANT_DATE&quot;</span>);</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> }</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
<div class="foldopen" id="foldopen00148" data-start="{" data-end="}">
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__date.html#a1aa2157912e935cf399833c2265628e0"> 148</a></span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a1aa2157912e935cf399833c2265628e0">from_dmy</a>(_In_ uint8_t day, _In_ uint8_t month, _In_ int32_t year) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> {</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> int32_t mtmp, ytmp;</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">if</span> (month &gt; 2) {</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> mtmp = month - 3;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> ytmp = year;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> }</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> mtmp = month + 9;</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> ytmp = year - 1;</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> }</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> int32_t ctmp = (ytmp / 100);</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> int32_t dtmp = ytmp - (100 * ctmp);</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> int32_t result1 = 146097L * ctmp / 4;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> int32_t result2 = (1461 * dtmp) / 4;</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> int32_t result3 = (153 * mtmp + 2) / 5;</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">return</span> time_point(duration(<span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(result1) + day + result2 + 1721119L + result3));</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> }</div>
</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
<div class="foldopen" id="foldopen00170" data-start="{" data-end="}">
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__date.html#a1d7511309210a6766b8a7d5d792dbc62"> 170</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a1d7511309210a6766b8a7d5d792dbc62">to_dmy</a>(_In_ <span class="keyword">const</span> time_point tp, _Out_opt_ uint8_t* day, _Out_opt_ uint8_t* month, _Out_opt_ int32_t* year) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> {</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> int32_t mtmp = tp.time_since_epoch().count() - 1721119L;</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> int32_t yr = (4 * mtmp - 1) / 146097L;</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> mtmp = 4 * mtmp - 1 - 146097L * yr;</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> int32_t da = mtmp / 4;</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> mtmp = (4 * da + 3) / 1461;</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> da = 4 * da + 3 - 1461 * mtmp;</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> da = (da + 4) / 4;</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> int32_t mo = (5 * da - 3) / 153;</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> da = 5 * da - 3 - 153 * mo;</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> da = (da + 5) / 5;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> yr = 100 * yr + mtmp;</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">if</span> (mo &lt; 10)</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> mo += 3;</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> mo -= 9;</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> yr++;</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> }</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span> (day) *day = <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(da);</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">if</span> (month) *month = <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(mo);</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">if</span> (year) *year = yr;</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> }</div>
</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> </div>
<div class="foldopen" id="foldopen00197" data-start="{" data-end="}">
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__date.html#a22273e1d536ed78a67beef7be5d0ebd6"> 197</a></span> <span class="keyword">static</span> uint8_t <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a22273e1d536ed78a67beef7be5d0ebd6">day_of_week</a>(_In_ <span class="keyword">const</span> time_point tp)</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> {</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(tp.time_since_epoch().count() % 7);</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> }</div>
</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> </div>
<div class="foldopen" id="foldopen00205" data-start="{" data-end="}">
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__date.html#a27f6f9c4f44d9f874b9edb868afa264d"> 205</a></span> <span class="keyword">static</span> uint8_t <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a27f6f9c4f44d9f874b9edb868afa264d">day_of_week</a>(_In_ uint8_t day, _In_ uint8_t month, _In_ int32_t year)</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> {</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(<a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a1aa2157912e935cf399833c2265628e0">from_dmy</a>(day, month, year).time_since_epoch().count() % 7);</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> }</div>
</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> };</div>
</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> </div>
<div class="foldopen" id="foldopen00214" data-start="{" data-end="};">
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__timestamp.html"> 214</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structstdex_1_1chrono_1_1aosn__timestamp.html">aosn_timestamp</a></div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> {</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keyword">using </span>rep = int64_t;</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="keyword">using </span>period = std::milli;</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">using </span>duration = std::chrono::duration&lt;rep, period&gt;;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">using </span>time_point = std::chrono::time_point&lt;aosn_timestamp&gt;;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">bool</span> is_steady = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> rep f_second = 1000; <span class="comment">// number of milliseconds per second</span></div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> rep f_minute = 60; <span class="comment">// number of seconds per minute</span></div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> rep f_hour = 60; <span class="comment">// number of minutes per hour</span></div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> rep f_day = 24; <span class="comment">// number of hours per day</span></div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> rep f_week = 7; <span class="comment">// number of days per week</span></div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> </div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> rep one_second = f_second; <span class="comment">// number of milliseconds per second</span></div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> rep one_minute = f_minute * one_second; <span class="comment">// number of milliseconds per minute</span></div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> rep one_hour = f_hour * one_minute; <span class="comment">// number of milliseconds per hour</span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> rep one_day = f_day * one_hour; <span class="comment">// number of milliseconds per day</span></div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> rep one_week = f_week * one_day; <span class="comment">// number of milliseconds per week</span></div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
<div class="foldopen" id="foldopen00237" data-start="{" data-end="}">
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__timestamp.html#ac6cabfe2d28771397601920e08f79827"> 237</a></span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#ac6cabfe2d28771397601920e08f79827">now</a>() noexcept</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> {</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span><span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> FILETIME t;</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> GetSystemTimeAsFileTime(&amp;t);</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#aa8da2be29dabc3fb0a5d46fb9075e830">from_system</a>(t);</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> time_t t;</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> time(&amp;t);</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a4ec121890b0afd728ed42dc48d62d179">from_time_t</a>(t);</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> }</div>
</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> </div>
<div class="foldopen" id="foldopen00253" data-start="{" data-end="}">
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a7e6d02fbb9bccc438528aaec62babbd8"> 253</a></span> <span class="keyword">static</span> std::time_t <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a7e6d02fbb9bccc438528aaec62babbd8">to_time_t</a>(_In_ <span class="keyword">const</span> time_point tp) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> {</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">return</span> tp.time_since_epoch().count() / one_second - 210866803200;</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> }</div>
</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> </div>
<div class="foldopen" id="foldopen00261" data-start="{" data-end="}">
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a4ec121890b0afd728ed42dc48d62d179"> 261</a></span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a4ec121890b0afd728ed42dc48d62d179">from_time_t</a>(_In_ std::time_t t) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> {</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">return</span> time_point(duration((<span class="keyword">static_cast&lt;</span>rep<span class="keyword">&gt;</span>(t) + 210866803200) * one_second));</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> }</div>
</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span><span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#aa8da2be29dabc3fb0a5d46fb9075e830">from_system</a>(_In_ <span class="keyword">const</span> SYSTEMTIME&amp; t) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> {</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a7bcfefab8b0263fd2c22dae2245a69c3">from_dmy</a>(</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(t.wDay), <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(t.wMonth), <span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(t.wYear),</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(t.wHour), <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(t.wMinute), <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(t.wSecond), <span class="keyword">static_cast&lt;</span>uint16_t<span class="keyword">&gt;</span>(t.wMilliseconds));</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> }</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> </div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#aa8da2be29dabc3fb0a5d46fb9075e830">from_system</a>(_In_ <span class="keyword">const</span> FILETIME&amp; t) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> {</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> uint64_t x = ((<span class="keyword">static_cast&lt;</span>uint64_t<span class="keyword">&gt;</span>(t.dwHighDateTime)) &lt;&lt; 32) | t.dwLowDateTime;</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">return</span> time_point(duration(<span class="keyword">static_cast&lt;</span>rep<span class="keyword">&gt;</span>(x / 10000 + 199222329600000))); <span class="comment">// Convert from 100 ns to 1 ms interval and adjust epoch</span></div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> }</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> </div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#aa8da2be29dabc3fb0a5d46fb9075e830">from_system</a>(_In_ DATE t)</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> {</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> SYSTEMTIME st;</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">if</span> (!VariantTimeToSystemTime(t, &amp;st))</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;failed to convert date from VARIANT_DATE&quot;</span>);</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#aa8da2be29dabc3fb0a5d46fb9075e830">from_system</a>(st);</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> }</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span><span class="preprocessor">#else</span></div>
<div class="foldopen" id="foldopen00300" data-start="{" data-end="}">
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__timestamp.html#aa8da2be29dabc3fb0a5d46fb9075e830"> 300</a></span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#aa8da2be29dabc3fb0a5d46fb9075e830">from_system</a>(_In_ <span class="keyword">const</span> <span class="keyword">struct</span> timespec&amp; t) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> {</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">return</span> time_point(duration(<span class="keyword">static_cast&lt;</span>rep<span class="keyword">&gt;</span>(<a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a4ec121890b0afd728ed42dc48d62d179">from_time_t</a>(t.tv_sec).time_since_epoch().count() + t.tv_nsec / 1000)));</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> }</div>
</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> </div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">static</span> <span class="keywordtype">void</span> to_system(_In_ time_point tp, _Out_ <span class="keyword">struct</span> tm&amp; date) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> {</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> uint8_t day, month, hour, minute, second;</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> uint16_t millisecond;</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> int32_t year;</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#ae20e512af8ec094253b5af13f1d2e9ad">to_dmy</a>(tp, &amp;day, &amp;month, &amp;year, &amp;hour, &amp;minute, &amp;second, &amp;millisecond);</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> date.tm_sec = second;</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> date.tm_min = minute;</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> date.tm_hour = hour;</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> date.tm_mday = day;</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> date.tm_mon = month - 1;</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> date.tm_year = year - 1900;</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> date.tm_wday = (<span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a22273e1d536ed78a67beef7be5d0ebd6">aosn_date::day_of_week</a>(<a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a805c2ab1855a554a0fc2be56fa234489">to_date</a>(tp))) + 1) % 7;</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> date.tm_yday = 0;</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> date.tm_isdst = 0;</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> }</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> </div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span><span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> <span class="keyword">static</span> <span class="keywordtype">void</span> to_system(_In_ time_point tp, _Out_ SYSTEMTIME&amp; t)</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> {</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> uint8_t day, month, hour, minute, second;</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> uint16_t millisecond;</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> int32_t year;</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#ae20e512af8ec094253b5af13f1d2e9ad">to_dmy</a>(tp,</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> &amp;day, &amp;month, &amp;year,</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> &amp;hour, &amp;minute, &amp;second, &amp;millisecond);</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> t.wDay = day;</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> t.wMonth = month;</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">if</span> (year &gt; WORD_MAX) _Unlikely_</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">throw</span> std::range_error(<span class="stringliteral">&quot;year too big&quot;</span>);</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> t.wYear = <span class="keyword">static_cast&lt;</span>WORD<span class="keyword">&gt;</span>(year);</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> t.wDayOfWeek = (<span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a22273e1d536ed78a67beef7be5d0ebd6">aosn_date::day_of_week</a>(<a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a805c2ab1855a554a0fc2be56fa234489">to_date</a>(tp))) + 1) % 7;</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> t.wHour = hour;</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> t.wMinute = minute;</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> t.wSecond = second;</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> t.wMilliseconds = millisecond;</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> }</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> </div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> <span class="keyword">static</span> <span class="keywordtype">void</span> to_system(_In_ time_point tp, _Out_ FILETIME&amp; t) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> {</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> uint64_t x = (tp.time_since_epoch().count() - 199222329600000) * 10000; <span class="comment">// Adjust epoch and convert 1 ms interval to 100 ns</span></div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> t.dwHighDateTime = <span class="keyword">static_cast&lt;</span>DWORD<span class="keyword">&gt;</span>(x &gt;&gt; 32);</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> t.dwLowDateTime = <span class="keyword">static_cast&lt;</span>DWORD<span class="keyword">&gt;</span>(x &amp; 0xffffffff);</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> }</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> </div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> <span class="keyword">static</span> <span class="keywordtype">void</span> to_system(_In_ time_point tp, _Out_ DATE&amp; t)</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> {</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> SYSTEMTIME st;</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> to_system(tp, st);</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">if</span> (!SystemTimeToVariantTime(&amp;st, &amp;t))</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;failed to convert date to VARIANT_DATE&quot;</span>);</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> }</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> </div>
<div class="foldopen" id="foldopen00372" data-start="{" data-end="}">
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a805c2ab1855a554a0fc2be56fa234489"> 372</a></span> <span class="keyword">static</span> aosn_date::time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a805c2ab1855a554a0fc2be56fa234489">to_date</a>(_In_ time_point tp) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> {</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">return</span> aosn_date::time_point(aosn_date::duration(<span class="keyword">static_cast&lt;</span>aosn_date::rep<span class="keyword">&gt;</span>(tp.time_since_epoch().count() / one_day)));</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> }</div>
</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> </div>
<div class="foldopen" id="foldopen00380" data-start="{" data-end="}">
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a47f38a2cdf1525e44ac800311d9ab825"> 380</a></span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a47f38a2cdf1525e44ac800311d9ab825">from_date</a>(_In_ aosn_date::time_point date) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> {</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">return</span> time_point(duration(<span class="keyword">static_cast&lt;</span>rep<span class="keyword">&gt;</span>(date.time_since_epoch().count()) * one_day));</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> }</div>
</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> </div>
<div class="foldopen" id="foldopen00388" data-start="{" data-end="}">
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a7bcfefab8b0263fd2c22dae2245a69c3"> 388</a></span> <span class="keyword">static</span> time_point <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a7bcfefab8b0263fd2c22dae2245a69c3">from_dmy</a>(</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> _In_ uint8_t day, _In_ uint8_t month, _In_ int32_t year,</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> _In_ uint8_t hour, _In_ uint8_t minute, _In_ uint8_t second, _In_ uint16_t millisecond) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> {</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> <span class="keywordflow">return</span> time_point(duration(</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> (<span class="keyword">static_cast&lt;</span>rep<span class="keyword">&gt;</span>(<a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a1aa2157912e935cf399833c2265628e0">aosn_date::from_dmy</a>(day, month, year).time_since_epoch().count()) * one_day) +</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> (<span class="keyword">static_cast&lt;</span>rep<span class="keyword">&gt;</span>(hour) * one_hour + <span class="keyword">static_cast&lt;</span>rep<span class="keyword">&gt;</span>(minute) * one_minute + <span class="keyword">static_cast&lt;</span>rep<span class="keyword">&gt;</span>(second) * one_second + millisecond)));</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> }</div>
</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> </div>
<div class="foldopen" id="foldopen00400" data-start="{" data-end="}">
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"><a class="line" href="structstdex_1_1chrono_1_1aosn__timestamp.html#ae20e512af8ec094253b5af13f1d2e9ad"> 400</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#ae20e512af8ec094253b5af13f1d2e9ad">to_dmy</a>(_In_ <span class="keyword">const</span> time_point tp,</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> _Out_opt_ uint8_t* day, _Out_opt_ uint8_t* month, _Out_opt_ int32_t* year,</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> _Out_opt_ uint8_t* hour, _Out_opt_ uint8_t* minute, _Out_opt_ uint8_t* second, _Out_opt_ uint16_t* millisecond) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> {</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> <a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__date.html#a1d7511309210a6766b8a7d5d792dbc62">aosn_date::to_dmy</a>(<a class="code hl_function" href="structstdex_1_1chrono_1_1aosn__timestamp.html#a805c2ab1855a554a0fc2be56fa234489">to_date</a>(tp), day, month, year);</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> int32_t u = <span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(tp.time_since_epoch().count() % one_day);</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> <span class="keywordflow">if</span> (millisecond) *millisecond = <span class="keyword">static_cast&lt;</span>uint16_t<span class="keyword">&gt;</span>(u % f_second);</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> u = u / f_second;</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">if</span> (second) *second = <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(u % f_minute);</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> u = u / f_minute;</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">if</span> (minute) *minute = <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(u % f_hour);</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> u = u / f_hour;</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">if</span> (hour) *hour = <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(u);</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> }</div>
</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> </div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> TR = std::<span class="keywordtype">char</span>_traits&lt;<span class="keywordtype">char</span>&gt;, <span class="keyword">class</span> AX = std::allocator&lt;<span class="keywordtype">char</span>&gt;&gt;</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> <span class="keyword">static</span> std::basic_string&lt;char, TR, AX&gt; to_str(_In_ <span class="keyword">const</span> time_point tp, _In_z_ <span class="keyword">const</span> <span class="keywordtype">char</span>* format, _In_opt_ locale_t <a class="code hl_class" href="classstdex_1_1locale.html">locale</a>)</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> {</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> <span class="keyword">struct </span>tm date;</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> to_system(tp, date);</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> std::basic_string&lt;char, TR, AX&gt; str;</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> <span class="keywordtype">char</span> stack_buffer[1024 / <span class="keyword">sizeof</span>(char)];</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> <span class="keywordtype">size_t</span> n;</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span><span class="preprocessor">#if _WIN32</span></div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> n = _strftime_l(stack_buffer, _countof(stack_buffer), format, &amp;date, <a class="code hl_class" href="classstdex_1_1locale.html">locale</a>);</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> n = strftime_l(stack_buffer, _countof(stack_buffer), format, &amp;date, <a class="code hl_class" href="classstdex_1_1locale.html">locale</a>);</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> <span class="keywordflow">if</span> (n) {</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> str.assign(stack_buffer, stack_buffer + n);</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">return</span> str;</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> }</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> <span class="keywordtype">size_t</span> num_chars = stdex::mul(_countof(stack_buffer), 2);</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">for</span> (;;) {</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> std::unique_ptr&lt;char&gt; buf(<span class="keyword">new</span> <span class="keywordtype">char</span>[num_chars]);</div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span><span class="preprocessor">#if _WIN32</span></div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> n = _strftime_l(buf.get(), num_chars, format, &amp;date, <a class="code hl_class" href="classstdex_1_1locale.html">locale</a>);</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> n = strftime_l(buf.get(), num_chars, format, &amp;date, <a class="code hl_class" href="classstdex_1_1locale.html">locale</a>);</div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">if</span> (n) {</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> str.assign(buf.get(), buf.get() + n);</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">return</span> str;</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> }</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> num_chars = stdex::mul(num_chars, 2);</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> }</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> }</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> </div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> TR = std::<span class="keywordtype">char</span>_traits&lt;<span class="keywordtype">wchar_t</span>&gt;, <span class="keyword">class</span> AX = std::allocator&lt;<span class="keywordtype">wchar_t</span>&gt;&gt;</div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> <span class="keyword">static</span> std::basic_string&lt;wchar_t, TR, AX&gt; to_str(_In_ <span class="keyword">const</span> time_point tp, _In_z_ <span class="keyword">const</span> <span class="keywordtype">wchar_t</span>* format, _In_opt_ locale_t locale)</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> {</div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> <span class="keyword">struct </span>tm date;</div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> to_system(tp, date);</div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> std::basic_string&lt;wchar_t, TR, AX&gt; str;</div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> <span class="keywordtype">wchar_t</span> stack_buffer[1024 / <span class="keyword">sizeof</span>(wchar_t)];</div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> <span class="keywordtype">size_t</span> n;</div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span><span class="preprocessor">#if _WIN32</span></div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> n = _wcsftime_l(stack_buffer, _countof(stack_buffer), format, &amp;date, locale);</div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> n = wcsftime_l(stack_buffer, _countof(stack_buffer), format, &amp;date, locale);</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> <span class="keywordflow">if</span> (n) {</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> str.assign(stack_buffer, stack_buffer + n);</div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> <span class="keywordflow">return</span> str;</div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> }</div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> <span class="keywordtype">size_t</span> num_chars = stdex::mul(_countof(stack_buffer), 2);</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">for</span> (;;) {</div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> std::unique_ptr&lt;wchar_t&gt; buf(<span class="keyword">new</span> <span class="keywordtype">wchar_t</span>[num_chars]);</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span><span class="preprocessor">#if _WIN32</span></div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> n = _wcsftime_l(buf.get(), num_chars, format, &amp;date, locale);</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> n = wcsftime_l(buf.get(), num_chars, format, &amp;date, locale);</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <span class="keywordflow">if</span> (n) {</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> str.assign(buf.get(), buf.get() + n);</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> <span class="keywordflow">return</span> str;</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> }</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> num_chars = stdex::mul(num_chars, 2);</div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> }</div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> }</div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> </div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> TR = std::<span class="keywordtype">char</span>_traits&lt;<span class="keywordtype">char</span>&gt;, <span class="keyword">class</span> AX = std::allocator&lt;<span class="keywordtype">char</span>&gt;&gt;</div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> <span class="keyword">static</span> std::basic_string&lt;char, TR, AX&gt; to_rfc822(_In_ <span class="keyword">const</span> time_point tp)</div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> {</div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">return</span> to_str(tp, <span class="stringliteral">&quot;%a, %d %b %Y %H:%M:%S GMT&quot;</span>, stdex::locale_C);</div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> }</div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> };</div>
</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> }</div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span>}</div>
<div class="ttc" id="aclassstdex_1_1locale_html"><div class="ttname"><a href="classstdex_1_1locale.html">stdex::locale</a></div><div class="ttdoc">locale_t helper class to free_locale when going out of scope.</div><div class="ttdef"><b>Definition</b> locale.hpp:74</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__date_html"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__date.html">stdex::chrono::aosn_date</a></div><div class="ttdoc">AOsn date.</div><div class="ttdef"><b>Definition</b> chrono.hpp:25</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__date_html_a1aa2157912e935cf399833c2265628e0"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__date.html#a1aa2157912e935cf399833c2265628e0">stdex::chrono::aosn_date::from_dmy</a></div><div class="ttdeci">static time_point from_dmy(uint8_t day, uint8_t month, int32_t year) noexcept</div><div class="ttdoc">Returns time point from calendar day, month and year.</div><div class="ttdef"><b>Definition</b> chrono.hpp:148</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__date_html_a1d7511309210a6766b8a7d5d792dbc62"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__date.html#a1d7511309210a6766b8a7d5d792dbc62">stdex::chrono::aosn_date::to_dmy</a></div><div class="ttdeci">static void to_dmy(const time_point tp, uint8_t *day, uint8_t *month, int32_t *year) noexcept</div><div class="ttdoc">Returns calendar day, month and year from time point.</div><div class="ttdef"><b>Definition</b> chrono.hpp:170</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__date_html_a22273e1d536ed78a67beef7be5d0ebd6"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__date.html#a22273e1d536ed78a67beef7be5d0ebd6">stdex::chrono::aosn_date::day_of_week</a></div><div class="ttdeci">static uint8_t day_of_week(const time_point tp)</div><div class="ttdoc">Returns day-of-week from time point (0 = Mon, 1 = Tue...)</div><div class="ttdef"><b>Definition</b> chrono.hpp:197</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__date_html_a27f6f9c4f44d9f874b9edb868afa264d"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__date.html#a27f6f9c4f44d9f874b9edb868afa264d">stdex::chrono::aosn_date::day_of_week</a></div><div class="ttdeci">static uint8_t day_of_week(uint8_t day, uint8_t month, int32_t year)</div><div class="ttdoc">Returns day-of-week from calendar day, month and year (0 = Mon, 1 = Tue...)</div><div class="ttdef"><b>Definition</b> chrono.hpp:205</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__date_html_a75edba9ce0fff5c322209ce7ce6617b9"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__date.html#a75edba9ce0fff5c322209ce7ce6617b9">stdex::chrono::aosn_date::to_time_t</a></div><div class="ttdeci">static std::time_t to_time_t(const time_point tp) noexcept</div><div class="ttdoc">Returns time_t from time point.</div><div class="ttdef"><b>Definition</b> chrono.hpp:51</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__date_html_aa049501abaf0ecce57864b258c6f77dc"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__date.html#aa049501abaf0ecce57864b258c6f77dc">stdex::chrono::aosn_date::from_system</a></div><div class="ttdeci">static time_point from_system(const struct timespec &amp;t) noexcept</div><div class="ttdoc">Returns time point from struct timespec.</div><div class="ttdef"><b>Definition</b> chrono.hpp:96</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__date_html_aa744054736b15a0d9b73fef541d271a4"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__date.html#aa744054736b15a0d9b73fef541d271a4">stdex::chrono::aosn_date::now</a></div><div class="ttdeci">static time_point now() noexcept</div><div class="ttdoc">Gets current date.</div><div class="ttdef"><b>Definition</b> chrono.hpp:35</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__date_html_aab52157db8e51600b11e36c5eee0b2d4"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__date.html#aab52157db8e51600b11e36c5eee0b2d4">stdex::chrono::aosn_date::from_time_t</a></div><div class="ttdeci">static time_point from_time_t(std::time_t t) noexcept</div><div class="ttdoc">Returns time point from time_t.</div><div class="ttdef"><b>Definition</b> chrono.hpp:59</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__timestamp_html"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__timestamp.html">stdex::chrono::aosn_timestamp</a></div><div class="ttdoc">AOsn timestamp.</div><div class="ttdef"><b>Definition</b> chrono.hpp:215</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__timestamp_html_a47f38a2cdf1525e44ac800311d9ab825"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__timestamp.html#a47f38a2cdf1525e44ac800311d9ab825">stdex::chrono::aosn_timestamp::from_date</a></div><div class="ttdeci">static time_point from_date(aosn_date::time_point date) noexcept</div><div class="ttdoc">Returns time point from aosn_date::time_point.</div><div class="ttdef"><b>Definition</b> chrono.hpp:380</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__timestamp_html_a4ec121890b0afd728ed42dc48d62d179"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__timestamp.html#a4ec121890b0afd728ed42dc48d62d179">stdex::chrono::aosn_timestamp::from_time_t</a></div><div class="ttdeci">static time_point from_time_t(std::time_t t) noexcept</div><div class="ttdoc">Returns time point from time_t.</div><div class="ttdef"><b>Definition</b> chrono.hpp:261</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__timestamp_html_a7bcfefab8b0263fd2c22dae2245a69c3"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__timestamp.html#a7bcfefab8b0263fd2c22dae2245a69c3">stdex::chrono::aosn_timestamp::from_dmy</a></div><div class="ttdeci">static time_point from_dmy(uint8_t day, uint8_t month, int32_t year, uint8_t hour, uint8_t minute, uint8_t second, uint16_t millisecond) noexcept</div><div class="ttdoc">Returns time point from calendar day, month, year and time.</div><div class="ttdef"><b>Definition</b> chrono.hpp:388</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__timestamp_html_a7e6d02fbb9bccc438528aaec62babbd8"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__timestamp.html#a7e6d02fbb9bccc438528aaec62babbd8">stdex::chrono::aosn_timestamp::to_time_t</a></div><div class="ttdeci">static std::time_t to_time_t(const time_point tp) noexcept</div><div class="ttdoc">Returns time_t from time point.</div><div class="ttdef"><b>Definition</b> chrono.hpp:253</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__timestamp_html_a805c2ab1855a554a0fc2be56fa234489"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__timestamp.html#a805c2ab1855a554a0fc2be56fa234489">stdex::chrono::aosn_timestamp::to_date</a></div><div class="ttdeci">static aosn_date::time_point to_date(time_point tp) noexcept</div><div class="ttdoc">Returns aosn_date::time_point from time point.</div><div class="ttdef"><b>Definition</b> chrono.hpp:372</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__timestamp_html_aa8da2be29dabc3fb0a5d46fb9075e830"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__timestamp.html#aa8da2be29dabc3fb0a5d46fb9075e830">stdex::chrono::aosn_timestamp::from_system</a></div><div class="ttdeci">static time_point from_system(const struct timespec &amp;t) noexcept</div><div class="ttdoc">Returns time point from struct timespec.</div><div class="ttdef"><b>Definition</b> chrono.hpp:300</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__timestamp_html_ac6cabfe2d28771397601920e08f79827"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__timestamp.html#ac6cabfe2d28771397601920e08f79827">stdex::chrono::aosn_timestamp::now</a></div><div class="ttdeci">static time_point now() noexcept</div><div class="ttdoc">Gets current timestamp.</div><div class="ttdef"><b>Definition</b> chrono.hpp:237</div></div>
<div class="ttc" id="astructstdex_1_1chrono_1_1aosn__timestamp_html_ae20e512af8ec094253b5af13f1d2e9ad"><div class="ttname"><a href="structstdex_1_1chrono_1_1aosn__timestamp.html#ae20e512af8ec094253b5af13f1d2e9ad">stdex::chrono::aosn_timestamp::to_dmy</a></div><div class="ttdeci">static void to_dmy(const time_point tp, uint8_t *day, uint8_t *month, int32_t *year, uint8_t *hour, uint8_t *minute, uint8_t *second, uint16_t *millisecond) noexcept</div><div class="ttdoc">Returns calendar day, month, year and time from time point.</div><div class="ttdef"><b>Definition</b> chrono.hpp:400</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:42 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

161
classes.html Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1aggregate__progress.html">aggregate_progress</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::aggregate_progress&lt; T &gt; Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html#ae832067bbc39765c8e53c2f6434f885a">aggregate_progress</a>(size_t num_workers, progress&lt; T &gt; *host=nullptr)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html#a4f41de4cbad813446edd060bea1e92f2">attach</a>(progress&lt; T &gt; *host)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html#acec6e7132735143aaee405948821803f">detach</a>()</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_end</b> (defined in <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_host</b> (defined in <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_mutex</b> (defined in <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_start</b> (defined in <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_value</b> (defined in <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_workers</b> (defined in <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html#a431650892bd6133b6c781cf33b1a5d24">operator[]</a>(size_t index)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:42 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,305 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::aggregate_progress&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1aggregate__progress.html">aggregate_progress</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1aggregate__progress-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::aggregate_progress&lt; T &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Aggregated progress indicator.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="progress_8hpp_source.html">stdex/progress.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">worker_progress</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Progress indicator for individual worker. <a href="classstdex_1_1aggregate__progress_1_1worker__progress.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae832067bbc39765c8e53c2f6434f885a" id="r_ae832067bbc39765c8e53c2f6434f885a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae832067bbc39765c8e53c2f6434f885a">aggregate_progress</a> (size_t num_workers, <a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; *host=nullptr)</td></tr>
<tr class="memdesc:ae832067bbc39765c8e53c2f6434f885a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a progress indicator. <br /></td></tr>
<tr class="separator:ae832067bbc39765c8e53c2f6434f885a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f41de4cbad813446edd060bea1e92f2" id="r_a4f41de4cbad813446edd060bea1e92f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4f41de4cbad813446edd060bea1e92f2">attach</a> (<a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; *host)</td></tr>
<tr class="memdesc:a4f41de4cbad813446edd060bea1e92f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach to a host progress indicator. <br /></td></tr>
<tr class="separator:a4f41de4cbad813446edd060bea1e92f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acec6e7132735143aaee405948821803f" id="r_acec6e7132735143aaee405948821803f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acec6e7132735143aaee405948821803f">detach</a> ()</td></tr>
<tr class="memdesc:acec6e7132735143aaee405948821803f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detach host progress indicator. <br /></td></tr>
<tr class="separator:acec6e7132735143aaee405948821803f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a431650892bd6133b6c781cf33b1a5d24" id="r_a431650892bd6133b6c781cf33b1a5d24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a431650892bd6133b6c781cf33b1a5d24">operator[]</a> (size_t index)</td></tr>
<tr class="memdesc:a431650892bd6133b6c781cf33b1a5d24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns progress indicator for specific worker. <br /></td></tr>
<tr class="separator:a431650892bd6133b6c781cf33b1a5d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a00a56087ed2f7cd94a3e8dfe2c1e42d5" id="r_a00a56087ed2f7cd94a3e8dfe2c1e42d5"><td class="memItemLeft" align="right" valign="top"><a id="a00a56087ed2f7cd94a3e8dfe2c1e42d5" name="a00a56087ed2f7cd94a3e8dfe2c1e42d5"></a>
<a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>m_host</b></td></tr>
<tr class="separator:a00a56087ed2f7cd94a3e8dfe2c1e42d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6ce9c164a861f96c3b297f1cb23138e" id="r_af6ce9c164a861f96c3b297f1cb23138e"><td class="memItemLeft" align="right" valign="top"><a id="af6ce9c164a861f96c3b297f1cb23138e" name="af6ce9c164a861f96c3b297f1cb23138e"></a>
std::atomic&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_start</b></td></tr>
<tr class="separator:af6ce9c164a861f96c3b297f1cb23138e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a3097047858bed0da70b0895f9e2a70" id="r_a7a3097047858bed0da70b0895f9e2a70"><td class="memItemLeft" align="right" valign="top"><a id="a7a3097047858bed0da70b0895f9e2a70" name="a7a3097047858bed0da70b0895f9e2a70"></a>
std::atomic&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_end</b></td></tr>
<tr class="separator:a7a3097047858bed0da70b0895f9e2a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5f44699c39950fa6024ac3ac75e7c1d" id="r_ac5f44699c39950fa6024ac3ac75e7c1d"><td class="memItemLeft" align="right" valign="top"><a id="ac5f44699c39950fa6024ac3ac75e7c1d" name="ac5f44699c39950fa6024ac3ac75e7c1d"></a>
std::atomic&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_value</b></td></tr>
<tr class="separator:ac5f44699c39950fa6024ac3ac75e7c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6269b00cc116b23533e9539745da838f" id="r_a6269b00cc116b23533e9539745da838f"><td class="memItemLeft" align="right" valign="top"><a id="a6269b00cc116b23533e9539745da838f" name="a6269b00cc116b23533e9539745da838f"></a>
std::vector&lt; <a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">worker_progress</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_workers</b></td></tr>
<tr class="separator:a6269b00cc116b23533e9539745da838f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d3c372abda00bccee89b5c9838a86cc" id="r_a8d3c372abda00bccee89b5c9838a86cc"><td class="memItemLeft" align="right" valign="top"><a id="a8d3c372abda00bccee89b5c9838a86cc" name="a8d3c372abda00bccee89b5c9838a86cc"></a>
std::shared_mutex&#160;</td><td class="memItemRight" valign="bottom"><b>m_mutex</b></td></tr>
<tr class="separator:a8d3c372abda00bccee89b5c9838a86cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;class T&gt;<br />
class stdex::aggregate_progress&lt; T &gt;</div><p>Aggregated progress indicator. </p>
<p>Use to report combined progress from multiple workers. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ae832067bbc39765c8e53c2f6434f885a" name="ae832067bbc39765c8e53c2f6434f885a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae832067bbc39765c8e53c2f6434f885a">&#9670;&#160;</a></span>aggregate_progress()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress</a>&lt; T &gt;::aggregate_progress </td>
<td>(</td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>num_workers</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; *</td> <td class="paramname"><span class="paramname"><em>host</em></span><span class="paramdefsep"> = </span><span class="paramdefval">nullptr</span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs a progress indicator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">num_workers</td><td>Total number of workers </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>Host progress indicator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a4f41de4cbad813446edd060bea1e92f2" name="a4f41de4cbad813446edd060bea1e92f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f41de4cbad813446edd060bea1e92f2">&#9670;&#160;</a></span>attach()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress</a>&lt; T &gt;::attach </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; *</td> <td class="paramname"><span class="paramname"><em>host</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Attach to a host progress indicator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>Host progress indicator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="acec6e7132735143aaee405948821803f" name="acec6e7132735143aaee405948821803f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acec6e7132735143aaee405948821803f">&#9670;&#160;</a></span>detach()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; * <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress</a>&lt; T &gt;::detach </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Detach host progress indicator. </p>
<dl class="section return"><dt>Returns</dt><dd>Old host progress indicator </dd></dl>
</div>
</div>
<a id="a431650892bd6133b6c781cf33b1a5d24" name="a431650892bd6133b6c781cf33b1a5d24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a431650892bd6133b6c781cf33b1a5d24">&#9670;&#160;</a></span>operator[]()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; &amp; <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress</a>&lt; T &gt;::operator[] </td>
<td>(</td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>index</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns progress indicator for specific worker. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of worker</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to specific worker progress indicator </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="progress_8hpp_source.html">progress.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:42 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,116 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1aggregate__progress.html">aggregate_progress</a></li><li class="navelem"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">worker_progress</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::aggregate_progress&lt; T &gt;::worker_progress Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html#a61defd3930ff3a62d56890c80f60086a">cancel</a>()</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_end</b> (defined in <a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a>)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_host</b> (defined in <a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a>)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_start</b> (defined in <a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a>)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_value</b> (defined in <a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a>)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html#a61a1f4accad5a1243e1bbf4084205bef">set</a>(T value)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html#ab11e34d7b3bb61db20f98379813f3ad6">set_range</a>(T start, T end)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html#ae84e8b08865cf05024e8a777d9a75711">set_text</a>(const char *msg)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html#aa48fb208c1bf38d041669e4b1d0b8a46">show</a>(bool show=true)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>worker_progress</b>(aggregate_progress&lt; T &gt; &amp;host) (defined in <a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a>)</td><td class="entry"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">stdex::aggregate_progress&lt; T &gt;::worker_progress</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~progress</b>() (defined in <a class="el" href="classstdex_1_1progress.html">stdex::progress&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1progress.html">stdex::progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:42 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,349 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::aggregate_progress&lt; T &gt;::worker_progress Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1aggregate__progress.html">aggregate_progress</a></li><li class="navelem"><a class="el" href="classstdex_1_1aggregate__progress_1_1worker__progress.html">worker_progress</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1aggregate__progress_1_1worker__progress-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::aggregate_progress&lt; T &gt;::worker_progress Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Progress indicator for individual worker.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="progress_8hpp_source.html">stdex/progress.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::aggregate_progress&lt; T &gt;::worker_progress:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1aggregate__progress_1_1worker__progress.png" usemap="#stdex::aggregate_5Fprogress_3C_20T_20_3E::worker_5Fprogress_map" alt=""/>
<map id="stdex::aggregate_5Fprogress_3C_20T_20_3E::worker_5Fprogress_map" name="stdex::aggregate_5Fprogress_3C_20T_20_3E::worker_5Fprogress_map">
<area href="classstdex_1_1progress.html" title="Progress indicator base class." alt="stdex::progress&lt; T &gt;" shape="rect" coords="0,0,294,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a455d70012c0d9cca29b9a9845a7ac4bb" id="r_a455d70012c0d9cca29b9a9845a7ac4bb"><td class="memItemLeft" align="right" valign="top"><a id="a455d70012c0d9cca29b9a9845a7ac4bb" name="a455d70012c0d9cca29b9a9845a7ac4bb"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>worker_progress</b> (<a class="el" href="classstdex_1_1aggregate__progress.html">aggregate_progress</a>&lt; T &gt; &amp;host)</td></tr>
<tr class="separator:a455d70012c0d9cca29b9a9845a7ac4bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae84e8b08865cf05024e8a777d9a75711" id="r_ae84e8b08865cf05024e8a777d9a75711"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae84e8b08865cf05024e8a777d9a75711">set_text</a> (const char *msg)</td></tr>
<tr class="memdesc:ae84e8b08865cf05024e8a777d9a75711"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set progress indicator text. <br /></td></tr>
<tr class="separator:ae84e8b08865cf05024e8a777d9a75711"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab11e34d7b3bb61db20f98379813f3ad6" id="r_ab11e34d7b3bb61db20f98379813f3ad6"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab11e34d7b3bb61db20f98379813f3ad6">set_range</a> (T start, T end)</td></tr>
<tr class="memdesc:ab11e34d7b3bb61db20f98379813f3ad6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set local extend of the progress indicator. <br /></td></tr>
<tr class="separator:ab11e34d7b3bb61db20f98379813f3ad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61a1f4accad5a1243e1bbf4084205bef" id="r_a61a1f4accad5a1243e1bbf4084205bef"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a61a1f4accad5a1243e1bbf4084205bef">set</a> (T value)</td></tr>
<tr class="memdesc:a61a1f4accad5a1243e1bbf4084205bef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set local current progress. <br /></td></tr>
<tr class="separator:a61a1f4accad5a1243e1bbf4084205bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa48fb208c1bf38d041669e4b1d0b8a46" id="r_aa48fb208c1bf38d041669e4b1d0b8a46"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa48fb208c1bf38d041669e4b1d0b8a46">show</a> (bool show=true)</td></tr>
<tr class="memdesc:aa48fb208c1bf38d041669e4b1d0b8a46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Show or hide progress. <br /></td></tr>
<tr class="separator:aa48fb208c1bf38d041669e4b1d0b8a46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61defd3930ff3a62d56890c80f60086a" id="r_a61defd3930ff3a62d56890c80f60086a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a61defd3930ff3a62d56890c80f60086a">cancel</a> ()</td></tr>
<tr class="memdesc:a61defd3930ff3a62d56890c80f60086a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query whether user requested abort. <br /></td></tr>
<tr class="separator:a61defd3930ff3a62d56890c80f60086a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classstdex_1_1progress"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classstdex_1_1progress')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classstdex_1_1progress.html">stdex::progress&lt; T &gt;</a></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a7b80322fe7bb65e4919d79fe79ed1a5a" id="r_a7b80322fe7bb65e4919d79fe79ed1a5a"><td class="memItemLeft" align="right" valign="top"><a id="a7b80322fe7bb65e4919d79fe79ed1a5a" name="a7b80322fe7bb65e4919d79fe79ed1a5a"></a>
<a class="el" href="classstdex_1_1aggregate__progress.html">aggregate_progress</a>&lt; T &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>m_host</b></td></tr>
<tr class="separator:a7b80322fe7bb65e4919d79fe79ed1a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd799957015233ceb25721f41ff655dd" id="r_afd799957015233ceb25721f41ff655dd"><td class="memItemLeft" align="right" valign="top"><a id="afd799957015233ceb25721f41ff655dd" name="afd799957015233ceb25721f41ff655dd"></a>
T&#160;</td><td class="memItemRight" valign="bottom"><b>m_start</b></td></tr>
<tr class="separator:afd799957015233ceb25721f41ff655dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e0458751548c7bf5da6aad6b4567bfc" id="r_a0e0458751548c7bf5da6aad6b4567bfc"><td class="memItemLeft" align="right" valign="top"><a id="a0e0458751548c7bf5da6aad6b4567bfc" name="a0e0458751548c7bf5da6aad6b4567bfc"></a>
T&#160;</td><td class="memItemRight" valign="bottom"><b>m_end</b></td></tr>
<tr class="separator:a0e0458751548c7bf5da6aad6b4567bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbb82e73517c18d25cf8e712d8723307" id="r_adbb82e73517c18d25cf8e712d8723307"><td class="memItemLeft" align="right" valign="top"><a id="adbb82e73517c18d25cf8e712d8723307" name="adbb82e73517c18d25cf8e712d8723307"></a>
T&#160;</td><td class="memItemRight" valign="bottom"><b>m_value</b></td></tr>
<tr class="separator:adbb82e73517c18d25cf8e712d8723307"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;class T&gt;<br />
class stdex::aggregate_progress&lt; T &gt;::worker_progress</div><p>Progress indicator for individual worker. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a61defd3930ff3a62d56890c80f60086a" name="a61defd3930ff3a62d56890c80f60086a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61defd3930ff3a62d56890c80f60086a">&#9670;&#160;</a></span>cancel()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress</a>&lt; T &gt;::worker_progress::cancel </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Query whether user requested abort. </p>
<p>Reimplemented from <a class="el" href="classstdex_1_1progress.html#a03380c822297092b3bb9867deee26202">stdex::progress&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a61a1f4accad5a1243e1bbf4084205bef" name="a61a1f4accad5a1243e1bbf4084205bef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61a1f4accad5a1243e1bbf4084205bef">&#9670;&#160;</a></span>set()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress</a>&lt; T &gt;::worker_progress::set </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>value</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set local current progress. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Current value of the progress. Must be between start and end parameters provided in <a class="el" href="#ab11e34d7b3bb61db20f98379813f3ad6" title="Set local extend of the progress indicator.">set_range()</a> call. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classstdex_1_1progress.html#acf3a29daf22709bf7e94e864c8be95a1">stdex::progress&lt; T &gt;</a>.</p>
</div>
</div>
<a id="ab11e34d7b3bb61db20f98379813f3ad6" name="ab11e34d7b3bb61db20f98379813f3ad6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab11e34d7b3bb61db20f98379813f3ad6">&#9670;&#160;</a></span>set_range()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress</a>&lt; T &gt;::worker_progress::set_range </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>start</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>end</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set local extend of the progress indicator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">start</td><td>Minimum value of the progress </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">end</td><td>Maximum value of the progress </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classstdex_1_1progress.html#afbb1513bdb20340ebb21bd988f4e424a">stdex::progress&lt; T &gt;</a>.</p>
</div>
</div>
<a id="ae84e8b08865cf05024e8a777d9a75711" name="ae84e8b08865cf05024e8a777d9a75711"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae84e8b08865cf05024e8a777d9a75711">&#9670;&#160;</a></span>set_text()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress</a>&lt; T &gt;::worker_progress::set_text </td>
<td>(</td>
<td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>msg</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set progress indicator text. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Text to display </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classstdex_1_1progress.html#a2cab8b5ac137d16fced31ee205264b01">stdex::progress&lt; T &gt;</a>.</p>
</div>
</div>
<a id="aa48fb208c1bf38d041669e4b1d0b8a46" name="aa48fb208c1bf38d041669e4b1d0b8a46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa48fb208c1bf38d041669e4b1d0b8a46">&#9670;&#160;</a></span>show()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1aggregate__progress.html">stdex::aggregate_progress</a>&lt; T &gt;::worker_progress::show </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>show</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Show or hide progress. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">show</td><td>Shows or hides progress indicator </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classstdex_1_1progress.html#ab6e57aed9e7a18a501e8a63cef199d8e">stdex::progress&lt; T &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="progress_8hpp_source.html">progress.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:42 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 968 B

View File

@ -0,0 +1,112 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1base64__dec.html">base64_dec</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::base64_dec Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#a17d956a883e99d8d884d2cb2edade8c5">base64_dec</a>() noexcept</td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#a94738b63789489022e0c16063b732305">clear</a>() noexcept</td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#a203f2afa5839242c1230cb22e0a65b25">dec_size</a>(size_t size) const noexcept</td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#a94b0860b19c61f53208b79fcfd1ac32f">decode</a>(std::vector&lt; T_to, AX &gt; &amp;out, bool &amp;is_last, const T_from *data, size_t size)</td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#a07976a85f83981a29f9e1395d883a36d">decode</a>(std::vector&lt; T, AX &gt; &amp;out)</td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a></td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a></td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:42 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,251 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::base64_dec Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1base64__dec.html">base64_dec</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1base64__dec-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::base64_dec Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Base64 decoding session.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="base64_8hpp_source.html">stdex/base64.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::base64_dec:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1base64__dec.png" usemap="#stdex::base64_5Fdec_map" alt=""/>
<map id="stdex::base64_5Fdec_map" name="stdex::base64_5Fdec_map">
<area href="classstdex_1_1base64__reader.html" title="Converts from Base64 when reading from a stream." alt="stdex::base64_reader" shape="rect" coords="0,56,133,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a17d956a883e99d8d884d2cb2edade8c5" id="r_a17d956a883e99d8d884d2cb2edade8c5"><td class="memItemLeft" align="right" valign="top"><a id="a17d956a883e99d8d884d2cb2edade8c5" name="a17d956a883e99d8d884d2cb2edade8c5"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>base64_dec</b> () noexcept</td></tr>
<tr class="memdesc:a17d956a883e99d8d884d2cb2edade8c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs blank decoding session. <br /></td></tr>
<tr class="separator:a17d956a883e99d8d884d2cb2edade8c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94b0860b19c61f53208b79fcfd1ac32f" id="r_a94b0860b19c61f53208b79fcfd1ac32f"><td class="memTemplParams" colspan="2">template&lt;class T_to , class AX , class T_from &gt; </td></tr>
<tr class="memitem:a94b0860b19c61f53208b79fcfd1ac32f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a94b0860b19c61f53208b79fcfd1ac32f">decode</a> (std::vector&lt; T_to, AX &gt; &amp;out, bool &amp;is_last, const T_from *data, size_t size)</td></tr>
<tr class="memdesc:a94b0860b19c61f53208b79fcfd1ac32f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes one block of information, and <em>appends</em> it to the output. <br /></td></tr>
<tr class="separator:a94b0860b19c61f53208b79fcfd1ac32f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94738b63789489022e0c16063b732305" id="r_a94738b63789489022e0c16063b732305"><td class="memItemLeft" align="right" valign="top"><a id="a94738b63789489022e0c16063b732305" name="a94738b63789489022e0c16063b732305"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> () noexcept</td></tr>
<tr class="memdesc:a94738b63789489022e0c16063b732305"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets decoding session. <br /></td></tr>
<tr class="separator:a94738b63789489022e0c16063b732305"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a203f2afa5839242c1230cb22e0a65b25" id="r_a203f2afa5839242c1230cb22e0a65b25"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a203f2afa5839242c1230cb22e0a65b25">dec_size</a> (size_t size) const noexcept</td></tr>
<tr class="memdesc:a203f2afa5839242c1230cb22e0a65b25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns maximum decoded size. <br /></td></tr>
<tr class="separator:a203f2afa5839242c1230cb22e0a65b25"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a07976a85f83981a29f9e1395d883a36d" id="r_a07976a85f83981a29f9e1395d883a36d"><td class="memTemplParams" colspan="2"><a id="a07976a85f83981a29f9e1395d883a36d" name="a07976a85f83981a29f9e1395d883a36d"></a>
template&lt;class T , class AX &gt; </td></tr>
<tr class="memitem:a07976a85f83981a29f9e1395d883a36d"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><b>decode</b> (std::vector&lt; T, AX &gt; &amp;out)</td></tr>
<tr class="memdesc:a07976a85f83981a29f9e1395d883a36d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes one complete internal buffer of data. <br /></td></tr>
<tr class="separator:a07976a85f83981a29f9e1395d883a36d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ab618ef5b21f33c5ed577669091c4b103" id="r_ab618ef5b21f33c5ed577669091c4b103"><td class="memItemLeft" align="right" valign="top"><a id="ab618ef5b21f33c5ed577669091c4b103" name="ab618ef5b21f33c5ed577669091c4b103"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_buf</b> [4]</td></tr>
<tr class="memdesc:ab618ef5b21f33c5ed577669091c4b103"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal buffer. <br /></td></tr>
<tr class="separator:ab618ef5b21f33c5ed577669091c4b103"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04ab92bcef2c304bc7a5d8d2a03c7905" id="r_a04ab92bcef2c304bc7a5d8d2a03c7905"><td class="memItemLeft" align="right" valign="top"><a id="a04ab92bcef2c304bc7a5d8d2a03c7905" name="a04ab92bcef2c304bc7a5d8d2a03c7905"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_num</b></td></tr>
<tr class="memdesc:a04ab92bcef2c304bc7a5d8d2a03c7905"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of bytes used in <code>m_buf</code> <br /></td></tr>
<tr class="separator:a04ab92bcef2c304bc7a5d8d2a03c7905"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base64 decoding session. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a203f2afa5839242c1230cb22e0a65b25" name="a203f2afa5839242c1230cb22e0a65b25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a203f2afa5839242c1230cb22e0a65b25">&#9670;&#160;</a></span>dec_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t stdex::base64_dec::dec_size </td>
<td>(</td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>size</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns maximum decoded size. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of bytes to decode</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Maximum number of bytes for the decoded data of <code>size</code> length </dd></dl>
</div>
</div>
<a id="a94b0860b19c61f53208b79fcfd1ac32f" name="a94b0860b19c61f53208b79fcfd1ac32f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94b0860b19c61f53208b79fcfd1ac32f">&#9670;&#160;</a></span>decode()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T_to , class AX , class T_from &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void stdex::base64_dec::decode </td>
<td>(</td>
<td class="paramtype">std::vector&lt; T_to, AX &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool &amp;</td> <td class="paramname"><span class="paramname"><em>is_last</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T_from *</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>size</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Decodes one block of information, and <em>appends</em> it to the output. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">out</td><td>Output </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">is_last</td><td>Was this the last block of data? </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Data to decode </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Length of <code>data</code> in bytes </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="base64_8hpp_source.html">base64.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:42 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 B

View File

@ -0,0 +1,113 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1base64__enc.html">base64_enc</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::base64_enc Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#abc6c72530634c3fea8168710ab5b1a28">base64_enc</a>() noexcept</td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#afb6a85176589d9ce1f65ce6355592fe7">clear</a>() noexcept</td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#afbae8f49a0948ea7bb23d0faa8f67f21">enc_size</a>(size_t size) const noexcept</td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#a3f2a19f9afe1fb83200c4f7623d62a80">encode</a>(std::basic_string&lt; T, TR, AX &gt; &amp;out, const void *data, size_t size, bool is_last=true)</td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#a2f43e0f7787bdbea112f7eb52880d898">encode</a>(std::basic_string&lt; T, TR, AX &gt; &amp;out)</td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#a2a64b6a49d89ddc4ca79a217faa41962">encode</a>(std::basic_string&lt; T, TR, AX &gt; &amp;out, size_t size)</td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a></td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a></td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:42 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,256 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::base64_enc Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1base64__enc.html">base64_enc</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1base64__enc-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::base64_enc Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Base64 encoding session.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="base64_8hpp_source.html">stdex/base64.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::base64_enc:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1base64__enc.png" usemap="#stdex::base64_5Fenc_map" alt=""/>
<map id="stdex::base64_5Fenc_map" name="stdex::base64_5Fenc_map">
<area href="classstdex_1_1base64__writer.html" title="Converts to Base64 when writing to a stream." alt="stdex::base64_writer" shape="rect" coords="0,56,127,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:abc6c72530634c3fea8168710ab5b1a28" id="r_abc6c72530634c3fea8168710ab5b1a28"><td class="memItemLeft" align="right" valign="top"><a id="abc6c72530634c3fea8168710ab5b1a28" name="abc6c72530634c3fea8168710ab5b1a28"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>base64_enc</b> () noexcept</td></tr>
<tr class="memdesc:abc6c72530634c3fea8168710ab5b1a28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs blank encoding session. <br /></td></tr>
<tr class="separator:abc6c72530634c3fea8168710ab5b1a28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f2a19f9afe1fb83200c4f7623d62a80" id="r_a3f2a19f9afe1fb83200c4f7623d62a80"><td class="memTemplParams" colspan="2">template&lt;class T , class TR , class AX &gt; </td></tr>
<tr class="memitem:a3f2a19f9afe1fb83200c4f7623d62a80"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a3f2a19f9afe1fb83200c4f7623d62a80">encode</a> (std::basic_string&lt; T, TR, AX &gt; &amp;out, const void *data, size_t size, bool is_last=true)</td></tr>
<tr class="memdesc:a3f2a19f9afe1fb83200c4f7623d62a80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes one block of information, and <em>appends</em> it to the output. <br /></td></tr>
<tr class="separator:a3f2a19f9afe1fb83200c4f7623d62a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb6a85176589d9ce1f65ce6355592fe7" id="r_afb6a85176589d9ce1f65ce6355592fe7"><td class="memItemLeft" align="right" valign="top"><a id="afb6a85176589d9ce1f65ce6355592fe7" name="afb6a85176589d9ce1f65ce6355592fe7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> () noexcept</td></tr>
<tr class="memdesc:afb6a85176589d9ce1f65ce6355592fe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets encoding session. <br /></td></tr>
<tr class="separator:afb6a85176589d9ce1f65ce6355592fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbae8f49a0948ea7bb23d0faa8f67f21" id="r_afbae8f49a0948ea7bb23d0faa8f67f21"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afbae8f49a0948ea7bb23d0faa8f67f21">enc_size</a> (size_t size) const noexcept</td></tr>
<tr class="memdesc:afbae8f49a0948ea7bb23d0faa8f67f21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns maximum encoded size. <br /></td></tr>
<tr class="separator:afbae8f49a0948ea7bb23d0faa8f67f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a2f43e0f7787bdbea112f7eb52880d898" id="r_a2f43e0f7787bdbea112f7eb52880d898"><td class="memTemplParams" colspan="2"><a id="a2f43e0f7787bdbea112f7eb52880d898" name="a2f43e0f7787bdbea112f7eb52880d898"></a>
template&lt;class T , class TR , class AX &gt; </td></tr>
<tr class="memitem:a2f43e0f7787bdbea112f7eb52880d898"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>encode</b> (std::basic_string&lt; T, TR, AX &gt; &amp;out)</td></tr>
<tr class="memdesc:a2f43e0f7787bdbea112f7eb52880d898"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes one complete internal buffer of data. <br /></td></tr>
<tr class="separator:a2f43e0f7787bdbea112f7eb52880d898"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a64b6a49d89ddc4ca79a217faa41962" id="r_a2a64b6a49d89ddc4ca79a217faa41962"><td class="memTemplParams" colspan="2"><a id="a2a64b6a49d89ddc4ca79a217faa41962" name="a2a64b6a49d89ddc4ca79a217faa41962"></a>
template&lt;class T , class TR , class AX &gt; </td></tr>
<tr class="memitem:a2a64b6a49d89ddc4ca79a217faa41962"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>encode</b> (std::basic_string&lt; T, TR, AX &gt; &amp;out, size_t size)</td></tr>
<tr class="memdesc:a2a64b6a49d89ddc4ca79a217faa41962"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes partial internal buffer of data. <br /></td></tr>
<tr class="separator:a2a64b6a49d89ddc4ca79a217faa41962"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a567a2a3aeda13b50e31d48ba32236adf" id="r_a567a2a3aeda13b50e31d48ba32236adf"><td class="memItemLeft" align="right" valign="top"><a id="a567a2a3aeda13b50e31d48ba32236adf" name="a567a2a3aeda13b50e31d48ba32236adf"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_buf</b> [3]</td></tr>
<tr class="memdesc:a567a2a3aeda13b50e31d48ba32236adf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal buffer. <br /></td></tr>
<tr class="separator:a567a2a3aeda13b50e31d48ba32236adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52f4cc4da6d7d7f4bad7c05a87ecd907" id="r_a52f4cc4da6d7d7f4bad7c05a87ecd907"><td class="memItemLeft" align="right" valign="top"><a id="a52f4cc4da6d7d7f4bad7c05a87ecd907" name="a52f4cc4da6d7d7f4bad7c05a87ecd907"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_num</b></td></tr>
<tr class="memdesc:a52f4cc4da6d7d7f4bad7c05a87ecd907"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of bytes used in <code>m_buf</code> <br /></td></tr>
<tr class="separator:a52f4cc4da6d7d7f4bad7c05a87ecd907"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base64 encoding session. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="afbae8f49a0948ea7bb23d0faa8f67f21" name="afbae8f49a0948ea7bb23d0faa8f67f21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbae8f49a0948ea7bb23d0faa8f67f21">&#9670;&#160;</a></span>enc_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t stdex::base64_enc::enc_size </td>
<td>(</td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>size</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns maximum encoded size. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of bytes to encode</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Maximum number of bytes for the encoded data of <code>size</code> length </dd></dl>
</div>
</div>
<a id="a3f2a19f9afe1fb83200c4f7623d62a80" name="a3f2a19f9afe1fb83200c4f7623d62a80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f2a19f9afe1fb83200c4f7623d62a80">&#9670;&#160;</a></span>encode()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class TR , class AX &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void stdex::base64_enc::encode </td>
<td>(</td>
<td class="paramtype">std::basic_string&lt; T, TR, AX &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>is_last</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Encodes one block of information, and <em>appends</em> it to the output. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">out</td><td>Output </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Data to encode </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Length of <code>data</code> in bytes </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">is_last</td><td>Is this the last block of data? </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="base64_8hpp_source.html">base64.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:42 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

View File

@ -0,0 +1,183 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1base64__reader.html">base64_reader</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::base64_reader Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1base64__reader.html">stdex::base64_reader</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#a17d956a883e99d8d884d2cb2edade8c5">base64_dec</a>() noexcept</td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>base64_reader</b>(stdex::stream::basic &amp;source) (defined in <a class="el" href="classstdex_1_1base64__reader.html">stdex::base64_reader</a>)</td><td class="entry"><a class="el" href="classstdex_1_1base64__reader.html">stdex::base64_reader</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic</b>(state_t state=state_t::ok) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#a94738b63789489022e0c16063b732305">clear</a>() noexcept</td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html#a96c368204acf32239318a026762cd22c">close</a>()</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>converter</b>(basic &amp;source) (defined in <a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#a203f2afa5839242c1230cb22e0a65b25">dec_size</a>(size_t size) const noexcept</td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__reader.html#a523ece0190b031882162c7e4edd33fbb">decode</a>()</td><td class="entry"><a class="el" href="classstdex_1_1base64__reader.html">stdex::base64_reader</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#a94b0860b19c61f53208b79fcfd1ac32f">stdex::base64_dec::decode</a>(std::vector&lt; T_to, AX &gt; &amp;out, bool &amp;is_last, const T_from *data, size_t size)</td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#a07976a85f83981a29f9e1395d883a36d">stdex::base64_dec::decode</a>(std::vector&lt; T, AX &gt; &amp;out)</td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html#a0d6af4c223625bc8ab677978b225d06e">flush</a>()</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#ab618ef5b21f33c5ed577669091c4b103">m_buf</a></td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html#a04ab92bcef2c304bc7a5d8d2a03c7905">m_num</a></td><td class="entry"><a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_source</b> (defined in <a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_state</b> (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__reader.html#ab92bc938edd01351e2639003f6679b99">m_temp</a></td><td class="entry"><a class="el" href="classstdex_1_1base64__reader.html">stdex::base64_reader</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__reader.html#ad631499f728824a166843effd7a5eedb">m_temp_len</a></td><td class="entry"><a class="el" href="classstdex_1_1base64__reader.html">stdex::base64_reader</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__reader.html#affd26a488ea1b5d8b23cc98be45b2535">m_temp_off</a></td><td class="entry"><a class="el" href="classstdex_1_1base64__reader.html">stdex::base64_reader</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a0295e4efe18eef2a8962680274957ac1">ok</a>() const</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const int8_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const int16_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const int32_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const int64_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const uint8_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const uint16_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const uint32_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const uint64_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const float data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const double data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const char data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const T *data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const std::basic_string&lt; T, TR, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const std::vector&lt; T, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const std::set&lt; KEY, PR, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const std::multiset&lt; KEY, PR, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(int8_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(int16_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(int32_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(int64_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(uint8_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(uint16_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(uint32_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(uint64_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(float &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(double &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(char &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(std::basic_string&lt; T, TR, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(std::vector&lt; T, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(std::set&lt; KEY, PR, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(std::multiset&lt; KEY, PR, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__reader.html#af93e15e15612233224b39fc7324cc5ee">read</a>(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)</td><td class="entry"><a class="el" href="classstdex_1_1base64__reader.html">stdex::base64_reader</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a7723ae23bc35c2ffb74380eab5b0a9ba">read_array</a>(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a600e123c10d6f0604d58ae0e9be95f0b">read_byte</a>()</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#afd5a1268365027ed8c5108183dc498df">read_data</a>(T &amp;data)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a6148810b1d873b9f5a3496b06b1aa90b">read_remainder</a>(size_t max_length=SIZE_MAX)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a7f77992f370a735df590aef4ba145fa6">read_str</a>(std::basic_string&lt; T, TR, AX &gt; &amp;data)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a7db58c8b49bc221607f2b44aab8fb39d">readln</a>(std::basic_string&lt; T, TR, AX &gt; &amp;str)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a696b3cd180c2cfa521dd022f8c1d277b">readln</a>(std::basic_string&lt; T_to, TR, AX &gt; &amp;str, charset_encoder&lt; T_from, T_to &gt; &amp;encoder)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a1238f88760b72e74275543f1b98bf86a">readln_and_attach</a>(std::basic_string&lt; T, TR, AX &gt; &amp;str)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#aa4d51843c45ef406a4de0bd07f5b6c77">readln_and_attach</a>(std::basic_string&lt; T_to, TR, AX &gt; &amp;str, charset_encoder&lt; T_from, T_to &gt; &amp;encoder)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a52ce3bdf28a9a7fc5a881616c8db2da4">skip</a>(fsize_t amount)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a2aa36b007017c2052a0118c1df4910d0">state</a>() const</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html#ae84a5c8d64942dbaa81ed54a181b3d7a">write</a>(_In_reads_bytes_opt_(length) const void *data, size_t length)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#af6c10ec4ab181b5ed5b061d115059b7a">write_array</a>(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a01492b8338bf435a5240897085720814">write_array</a>(const T_from *str, charset_encoder&lt; T_from, T_to &gt; &amp;encoder)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#aeee42cba3d0a542355783241412f3630">write_array</a>(_In_reads_or_z_opt_(num_chars) const T_from *str, size_t num_chars, charset_encoder&lt; T_from, T_to &gt; &amp;encoder)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#ad67e1587fa4b072fe858d39e1eff020a">write_array</a>(const std::basic_string&lt; T_from, TR, AX &gt; &amp;str, charset_encoder&lt; T_from, T_to &gt; &amp;encoder)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#af83cd6902f3f3bf18df2f08045570603">write_byte</a>(uint8_t byte, fsize_t amount=1)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#ab61abc19936554288ea929e0eb299144">write_charset</a>(charset_id charset)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#acabab42a910d149fec6ef60090a34aab">write_data</a>(const T data)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a63528d1cf030257c9d7f24d0d1d668f7">write_sprintf</a>(_Printf_format_string_params_(2) const char *format, locale_t locale,...)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a32f854944dc108d99c5ea5e87b19db7e">write_sprintf</a>(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a815369ef1a8ba07b289b8236fce018ac">write_str</a>(const T *data)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#aea03ce4ebc0ea6047dce9f18c900fcfa">write_str</a>(const std::basic_string&lt; T, TR, AX &gt; &amp;data)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#ad28b193e6afa1352a00864bd28193cc2">write_stream</a>(basic &amp;stream, fsize_t amount=fsize_max)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a14931af91db2bab8204d6352a59c1bf7">write_vsprintf</a>(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a3a7ac9211cd81b2203b55f1a2f131bc1">write_vsprintf</a>(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~basic</b>() noexcept(false) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,454 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::base64_reader Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1base64__reader.html">base64_reader</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1base64__reader-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::base64_reader Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Converts from Base64 when reading from a stream.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="base64_8hpp_source.html">stdex/base64.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::base64_reader:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1base64__reader.png" usemap="#stdex::base64_5Freader_map" alt=""/>
<map id="stdex::base64_5Freader_map" name="stdex::base64_5Freader_map">
<area href="classstdex_1_1stream_1_1converter.html" title="Modifies data on the fly when reading from/writing to a source stream. Could also be used to modify r..." alt="stdex::stream::converter" shape="rect" coords="0,56,145,80"/>
<area href="classstdex_1_1base64__dec.html" title="Base64 decoding session." alt="stdex::base64_dec" shape="rect" coords="155,56,300,80"/>
<area href="classstdex_1_1stream_1_1basic.html" title="Basic stream operations." alt="stdex::stream::basic" shape="rect" coords="0,0,145,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a56e1f0eb78d7ce6a62a9df339e30007e" id="r_a56e1f0eb78d7ce6a62a9df339e30007e"><td class="memItemLeft" align="right" valign="top"><a id="a56e1f0eb78d7ce6a62a9df339e30007e" name="a56e1f0eb78d7ce6a62a9df339e30007e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>base64_reader</b> (<a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a> &amp;source)</td></tr>
<tr class="separator:a56e1f0eb78d7ce6a62a9df339e30007e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af93e15e15612233224b39fc7324cc5ee" id="r_af93e15e15612233224b39fc7324cc5ee"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af93e15e15612233224b39fc7324cc5ee">read</a> (_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)</td></tr>
<tr class="memdesc:af93e15e15612233224b39fc7324cc5ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads block of data from the stream. <br /></td></tr>
<tr class="separator:af93e15e15612233224b39fc7324cc5ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classstdex_1_1stream_1_1converter"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classstdex_1_1stream_1_1converter')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td></tr>
<tr class="memitem:ab8914202483447e280577042a4519a92 inherit pub_methods_classstdex_1_1stream_1_1converter" id="r_ab8914202483447e280577042a4519a92"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>converter</b> (<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;source)</td></tr>
<tr class="separator:ab8914202483447e280577042a4519a92 inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae84a5c8d64942dbaa81ed54a181b3d7a inherit pub_methods_classstdex_1_1stream_1_1converter" id="r_ae84a5c8d64942dbaa81ed54a181b3d7a"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1converter.html#ae84a5c8d64942dbaa81ed54a181b3d7a">write</a> (_In_reads_bytes_opt_(length) const void *data, size_t length)</td></tr>
<tr class="memdesc:ae84a5c8d64942dbaa81ed54a181b3d7a inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes block of data to the stream. <br /></td></tr>
<tr class="separator:ae84a5c8d64942dbaa81ed54a181b3d7a inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96c368204acf32239318a026762cd22c inherit pub_methods_classstdex_1_1stream_1_1converter" id="r_a96c368204acf32239318a026762cd22c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1converter.html#a96c368204acf32239318a026762cd22c">close</a> ()</td></tr>
<tr class="memdesc:a96c368204acf32239318a026762cd22c inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the stream. <br /></td></tr>
<tr class="separator:a96c368204acf32239318a026762cd22c inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d6af4c223625bc8ab677978b225d06e inherit pub_methods_classstdex_1_1stream_1_1converter" id="r_a0d6af4c223625bc8ab677978b225d06e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1converter.html#a0d6af4c223625bc8ab677978b225d06e">flush</a> ()</td></tr>
<tr class="memdesc:a0d6af4c223625bc8ab677978b225d06e inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="mdescLeft">&#160;</td><td class="mdescRight">Persists volatile element data. <br /></td></tr>
<tr class="separator:a0d6af4c223625bc8ab677978b225d06e inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classstdex_1_1stream_1_1basic"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classstdex_1_1stream_1_1basic')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td></tr>
<tr class="memitem:a6083e72060acfc9edf707c833a3f7063 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a6083e72060acfc9edf707c833a3f7063"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>basic</b> (state_t <a class="el" href="classstdex_1_1stream_1_1basic.html#a2aa36b007017c2052a0118c1df4910d0">state</a>=state_t::ok)</td></tr>
<tr class="separator:a6083e72060acfc9edf707c833a3f7063 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52ce3bdf28a9a7fc5a881616c8db2da4 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a52ce3bdf28a9a7fc5a881616c8db2da4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a52ce3bdf28a9a7fc5a881616c8db2da4">skip</a> (fsize_t amount)</td></tr>
<tr class="memdesc:a52ce3bdf28a9a7fc5a881616c8db2da4 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skips given amount of bytes of data on the stream. <br /></td></tr>
<tr class="separator:a52ce3bdf28a9a7fc5a881616c8db2da4 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2aa36b007017c2052a0118c1df4910d0 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a2aa36b007017c2052a0118c1df4910d0"><td class="memItemLeft" align="right" valign="top">
state_t&#160;</td><td class="memItemRight" valign="bottom"><b>state</b> () const</td></tr>
<tr class="memdesc:a2aa36b007017c2052a0118c1df4910d0 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns stream state after last operation. <br /></td></tr>
<tr class="separator:a2aa36b007017c2052a0118c1df4910d0 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0295e4efe18eef2a8962680274957ac1 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a0295e4efe18eef2a8962680274957ac1"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>ok</b> () const</td></tr>
<tr class="memdesc:a0295e4efe18eef2a8962680274957ac1 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the stream state is clean i.e. previous operation was successful. <br /></td></tr>
<tr class="separator:a0295e4efe18eef2a8962680274957ac1 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6148810b1d873b9f5a3496b06b1aa90b inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a6148810b1d873b9f5a3496b06b1aa90b"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a6148810b1d873b9f5a3496b06b1aa90b">read_remainder</a> (size_t max_length=SIZE_MAX)</td></tr>
<tr class="memdesc:a6148810b1d873b9f5a3496b06b1aa90b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads and returns remainder of the stream. <br /></td></tr>
<tr class="separator:a6148810b1d873b9f5a3496b06b1aa90b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a600e123c10d6f0604d58ae0e9be95f0b inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a600e123c10d6f0604d58ae0e9be95f0b"><td class="memItemLeft" align="right" valign="top">
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>read_byte</b> ()</td></tr>
<tr class="memdesc:a600e123c10d6f0604d58ae0e9be95f0b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads one byte of data. <br /></td></tr>
<tr class="separator:a600e123c10d6f0604d58ae0e9be95f0b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af83cd6902f3f3bf18df2f08045570603 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_af83cd6902f3f3bf18df2f08045570603"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>write_byte</b> (uint8_t byte, fsize_t amount=1)</td></tr>
<tr class="memdesc:af83cd6902f3f3bf18df2f08045570603 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a byte of data. <br /></td></tr>
<tr class="separator:af83cd6902f3f3bf18df2f08045570603 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd5a1268365027ed8c5108183dc498df inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_afd5a1268365027ed8c5108183dc498df"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:afd5a1268365027ed8c5108183dc498df inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#afd5a1268365027ed8c5108183dc498df">read_data</a> (T &amp;data)</td></tr>
<tr class="memdesc:afd5a1268365027ed8c5108183dc498df inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads one primitive data type. <br /></td></tr>
<tr class="separator:afd5a1268365027ed8c5108183dc498df inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acabab42a910d149fec6ef60090a34aab inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_acabab42a910d149fec6ef60090a34aab"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:acabab42a910d149fec6ef60090a34aab inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#acabab42a910d149fec6ef60090a34aab">write_data</a> (const T data)</td></tr>
<tr class="memdesc:acabab42a910d149fec6ef60090a34aab inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes one primitive data type. <br /></td></tr>
<tr class="separator:acabab42a910d149fec6ef60090a34aab inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7db58c8b49bc221607f2b44aab8fb39d inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a7db58c8b49bc221607f2b44aab8fb39d"><td class="memTemplParams" colspan="2">template&lt;class T , class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a7db58c8b49bc221607f2b44aab8fb39d inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a7db58c8b49bc221607f2b44aab8fb39d">readln</a> (std::basic_string&lt; T, TR, AX &gt; &amp;str)</td></tr>
<tr class="memdesc:a7db58c8b49bc221607f2b44aab8fb39d inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads stream to the end-of-line or end-of-file. <br /></td></tr>
<tr class="separator:a7db58c8b49bc221607f2b44aab8fb39d inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a696b3cd180c2cfa521dd022f8c1d277b inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a696b3cd180c2cfa521dd022f8c1d277b"><td class="memTemplParams" colspan="2">template&lt;class T_from , class T_to , class TR = std::char_traits&lt;T_to&gt;, class AX = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:a696b3cd180c2cfa521dd022f8c1d277b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a696b3cd180c2cfa521dd022f8c1d277b">readln</a> (std::basic_string&lt; T_to, TR, AX &gt; &amp;str, <a class="el" href="classstdex_1_1charset__encoder.html">charset_encoder</a>&lt; T_from, T_to &gt; &amp;encoder)</td></tr>
<tr class="memdesc:a696b3cd180c2cfa521dd022f8c1d277b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads stream to the end-of-line or end-of-file. <br /></td></tr>
<tr class="separator:a696b3cd180c2cfa521dd022f8c1d277b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1238f88760b72e74275543f1b98bf86a inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a1238f88760b72e74275543f1b98bf86a"><td class="memTemplParams" colspan="2">template&lt;class T , class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a1238f88760b72e74275543f1b98bf86a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a1238f88760b72e74275543f1b98bf86a">readln_and_attach</a> (std::basic_string&lt; T, TR, AX &gt; &amp;str)</td></tr>
<tr class="memdesc:a1238f88760b72e74275543f1b98bf86a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads stream to the end-of-line or end-of-file and append to str. <br /></td></tr>
<tr class="separator:a1238f88760b72e74275543f1b98bf86a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4d51843c45ef406a4de0bd07f5b6c77 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_aa4d51843c45ef406a4de0bd07f5b6c77"><td class="memTemplParams" colspan="2">template&lt;class T_from , class T_to , class TR = std::char_traits&lt;T_to&gt;, class AX = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:aa4d51843c45ef406a4de0bd07f5b6c77 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#aa4d51843c45ef406a4de0bd07f5b6c77">readln_and_attach</a> (std::basic_string&lt; T_to, TR, AX &gt; &amp;str, <a class="el" href="classstdex_1_1charset__encoder.html">charset_encoder</a>&lt; T_from, T_to &gt; &amp;encoder)</td></tr>
<tr class="memdesc:aa4d51843c45ef406a4de0bd07f5b6c77 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads stream to the end-of-line or end-of-file and append to str. <br /></td></tr>
<tr class="separator:aa4d51843c45ef406a4de0bd07f5b6c77 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7723ae23bc35c2ffb74380eab5b0a9ba inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a7723ae23bc35c2ffb74380eab5b0a9ba"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a7723ae23bc35c2ffb74380eab5b0a9ba">read_array</a> (_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)</td></tr>
<tr class="memdesc:a7723ae23bc35c2ffb74380eab5b0a9ba inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an array of data from the stream. <br /></td></tr>
<tr class="separator:a7723ae23bc35c2ffb74380eab5b0a9ba inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6c10ec4ab181b5ed5b061d115059b7a inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_af6c10ec4ab181b5ed5b061d115059b7a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#af6c10ec4ab181b5ed5b061d115059b7a">write_array</a> (_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)</td></tr>
<tr class="memdesc:af6c10ec4ab181b5ed5b061d115059b7a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes an array of data to the stream. <br /></td></tr>
<tr class="separator:af6c10ec4ab181b5ed5b061d115059b7a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01492b8338bf435a5240897085720814 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a01492b8338bf435a5240897085720814"><td class="memTemplParams" colspan="2">template&lt;class T_from , class T_to &gt; </td></tr>
<tr class="memitem:a01492b8338bf435a5240897085720814 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a01492b8338bf435a5240897085720814">write_array</a> (const T_from *str, <a class="el" href="classstdex_1_1charset__encoder.html">charset_encoder</a>&lt; T_from, T_to &gt; &amp;encoder)</td></tr>
<tr class="memdesc:a01492b8338bf435a5240897085720814 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes array of characters to the stream. <br /></td></tr>
<tr class="separator:a01492b8338bf435a5240897085720814 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeee42cba3d0a542355783241412f3630 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_aeee42cba3d0a542355783241412f3630"><td class="memTemplParams" colspan="2">template&lt;class T_from , class T_to &gt; </td></tr>
<tr class="memitem:aeee42cba3d0a542355783241412f3630 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#aeee42cba3d0a542355783241412f3630">write_array</a> (_In_reads_or_z_opt_(num_chars) const T_from *str, size_t num_chars, <a class="el" href="classstdex_1_1charset__encoder.html">charset_encoder</a>&lt; T_from, T_to &gt; &amp;encoder)</td></tr>
<tr class="memdesc:aeee42cba3d0a542355783241412f3630 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes array of characters to the stream. <br /></td></tr>
<tr class="separator:aeee42cba3d0a542355783241412f3630 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad67e1587fa4b072fe858d39e1eff020a inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad67e1587fa4b072fe858d39e1eff020a"><td class="memTemplParams" colspan="2">template&lt;class T_from , class T_to , class TR = std::char_traits&lt;T_from&gt;, class AX = std::allocator&lt;T_from&gt;&gt; </td></tr>
<tr class="memitem:ad67e1587fa4b072fe858d39e1eff020a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#ad67e1587fa4b072fe858d39e1eff020a">write_array</a> (const std::basic_string&lt; T_from, TR, AX &gt; &amp;str, <a class="el" href="classstdex_1_1charset__encoder.html">charset_encoder</a>&lt; T_from, T_to &gt; &amp;encoder)</td></tr>
<tr class="memdesc:ad67e1587fa4b072fe858d39e1eff020a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes array of characters to the stream. <br /></td></tr>
<tr class="separator:ad67e1587fa4b072fe858d39e1eff020a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f77992f370a735df590aef4ba145fa6 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a7f77992f370a735df590aef4ba145fa6"><td class="memTemplParams" colspan="2">template&lt;class T , class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a7f77992f370a735df590aef4ba145fa6 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a7f77992f370a735df590aef4ba145fa6">read_str</a> (std::basic_string&lt; T, TR, AX &gt; &amp;data)</td></tr>
<tr class="memdesc:a7f77992f370a735df590aef4ba145fa6 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads length-prefixed string from the stream. <br /></td></tr>
<tr class="separator:a7f77992f370a735df590aef4ba145fa6 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a815369ef1a8ba07b289b8236fce018ac inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a815369ef1a8ba07b289b8236fce018ac"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a815369ef1a8ba07b289b8236fce018ac inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a815369ef1a8ba07b289b8236fce018ac">write_str</a> (const T *data)</td></tr>
<tr class="memdesc:a815369ef1a8ba07b289b8236fce018ac inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes string to the stream length-prefixed. <br /></td></tr>
<tr class="separator:a815369ef1a8ba07b289b8236fce018ac inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea03ce4ebc0ea6047dce9f18c900fcfa inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_aea03ce4ebc0ea6047dce9f18c900fcfa"><td class="memTemplParams" colspan="2">template&lt;class T , class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:aea03ce4ebc0ea6047dce9f18c900fcfa inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#aea03ce4ebc0ea6047dce9f18c900fcfa">write_str</a> (const std::basic_string&lt; T, TR, AX &gt; &amp;data)</td></tr>
<tr class="memdesc:aea03ce4ebc0ea6047dce9f18c900fcfa inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes string to the stream length-prefixed. <br /></td></tr>
<tr class="separator:aea03ce4ebc0ea6047dce9f18c900fcfa inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad28b193e6afa1352a00864bd28193cc2 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad28b193e6afa1352a00864bd28193cc2"><td class="memItemLeft" align="right" valign="top">fsize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#ad28b193e6afa1352a00864bd28193cc2">write_stream</a> (<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;stream, fsize_t amount=fsize_max)</td></tr>
<tr class="memdesc:ad28b193e6afa1352a00864bd28193cc2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes content of another stream. <br /></td></tr>
<tr class="separator:ad28b193e6afa1352a00864bd28193cc2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab61abc19936554288ea929e0eb299144 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ab61abc19936554288ea929e0eb299144"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>write_charset</b> (charset_id charset)</td></tr>
<tr class="memdesc:ab61abc19936554288ea929e0eb299144 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes UTF8, UTF-16 or UTF-32 byte-order-mark. <br /></td></tr>
<tr class="separator:ab61abc19936554288ea929e0eb299144 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63528d1cf030257c9d7f24d0d1d668f7 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a63528d1cf030257c9d7f24d0d1d668f7"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a63528d1cf030257c9d7f24d0d1d668f7">write_sprintf</a> (_Printf_format_string_params_(2) const char *format, locale_t <a class="el" href="classstdex_1_1locale.html">locale</a>,...)</td></tr>
<tr class="memdesc:a63528d1cf030257c9d7f24d0d1d668f7 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes formatted string to the stream. <br /></td></tr>
<tr class="separator:a63528d1cf030257c9d7f24d0d1d668f7 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32f854944dc108d99c5ea5e87b19db7e inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a32f854944dc108d99c5ea5e87b19db7e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a32f854944dc108d99c5ea5e87b19db7e">write_sprintf</a> (_Printf_format_string_params_(2) const wchar_t *format, locale_t <a class="el" href="classstdex_1_1locale.html">locale</a>,...)</td></tr>
<tr class="memdesc:a32f854944dc108d99c5ea5e87b19db7e inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes formatted string to the stream. <br /></td></tr>
<tr class="separator:a32f854944dc108d99c5ea5e87b19db7e inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14931af91db2bab8204d6352a59c1bf7 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a14931af91db2bab8204d6352a59c1bf7"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a14931af91db2bab8204d6352a59c1bf7">write_vsprintf</a> (_Printf_format_string_params_(2) const char *format, locale_t <a class="el" href="classstdex_1_1locale.html">locale</a>, va_list params)</td></tr>
<tr class="memdesc:a14931af91db2bab8204d6352a59c1bf7 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes formatted string to the stream. <br /></td></tr>
<tr class="separator:a14931af91db2bab8204d6352a59c1bf7 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a7ac9211cd81b2203b55f1a2f131bc1 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a3a7ac9211cd81b2203b55f1a2f131bc1"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a3a7ac9211cd81b2203b55f1a2f131bc1">write_vsprintf</a> (_Printf_format_string_params_(2) const wchar_t *format, locale_t <a class="el" href="classstdex_1_1locale.html">locale</a>, va_list params)</td></tr>
<tr class="memdesc:a3a7ac9211cd81b2203b55f1a2f131bc1 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes formatted string to the stream. <br /></td></tr>
<tr class="separator:a3a7ac9211cd81b2203b55f1a2f131bc1 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5daeb045a10919087a67e8d1966c79a1 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a5daeb045a10919087a67e8d1966c79a1"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (int8_t &amp;data)</td></tr>
<tr class="separator:a5daeb045a10919087a67e8d1966c79a1 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad444a7817c909d109ac605233148844c inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad444a7817c909d109ac605233148844c"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const int8_t data)</td></tr>
<tr class="separator:ad444a7817c909d109ac605233148844c inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f3359f359eb7f4c0ecd9f62970a3788 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a3f3359f359eb7f4c0ecd9f62970a3788"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (int16_t &amp;data)</td></tr>
<tr class="separator:a3f3359f359eb7f4c0ecd9f62970a3788 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08dca485ec4a8d2c8fe9aa5f0a969430 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a08dca485ec4a8d2c8fe9aa5f0a969430"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const int16_t data)</td></tr>
<tr class="separator:a08dca485ec4a8d2c8fe9aa5f0a969430 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a9e4a9472dee6dcb03989d6af80b5cb inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a0a9e4a9472dee6dcb03989d6af80b5cb"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (int32_t &amp;data)</td></tr>
<tr class="separator:a0a9e4a9472dee6dcb03989d6af80b5cb inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7dbc5c34f646e6b51f832117a3184cc inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_af7dbc5c34f646e6b51f832117a3184cc"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const int32_t data)</td></tr>
<tr class="separator:af7dbc5c34f646e6b51f832117a3184cc inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe1017a8f473318153560dfc4ca3fc6e inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_abe1017a8f473318153560dfc4ca3fc6e"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (int64_t &amp;data)</td></tr>
<tr class="separator:abe1017a8f473318153560dfc4ca3fc6e inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ecca9815a77910cca507f4c50bb32a0 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a7ecca9815a77910cca507f4c50bb32a0"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const int64_t data)</td></tr>
<tr class="separator:a7ecca9815a77910cca507f4c50bb32a0 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f544f133d4e68b413471a6281236851 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a5f544f133d4e68b413471a6281236851"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (uint8_t &amp;data)</td></tr>
<tr class="separator:a5f544f133d4e68b413471a6281236851 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd0e76d9b689a94b95ec86e22c143ad7 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_acd0e76d9b689a94b95ec86e22c143ad7"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const uint8_t data)</td></tr>
<tr class="separator:acd0e76d9b689a94b95ec86e22c143ad7 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad44d2f9e492f2c12cc4bf85f9f2a5276 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad44d2f9e492f2c12cc4bf85f9f2a5276"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (uint16_t &amp;data)</td></tr>
<tr class="separator:ad44d2f9e492f2c12cc4bf85f9f2a5276 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae09d77c86c473fdd4958f92a846cf9f9 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ae09d77c86c473fdd4958f92a846cf9f9"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const uint16_t data)</td></tr>
<tr class="separator:ae09d77c86c473fdd4958f92a846cf9f9 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a107ca4181c6ae339c55f01d2ec0d56f7 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a107ca4181c6ae339c55f01d2ec0d56f7"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (uint32_t &amp;data)</td></tr>
<tr class="separator:a107ca4181c6ae339c55f01d2ec0d56f7 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ae9646960ef24c4ffdd49150894cea3 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a1ae9646960ef24c4ffdd49150894cea3"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const uint32_t data)</td></tr>
<tr class="separator:a1ae9646960ef24c4ffdd49150894cea3 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5db3fcbd1562246375190388ec67c52 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ae5db3fcbd1562246375190388ec67c52"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (uint64_t &amp;data)</td></tr>
<tr class="separator:ae5db3fcbd1562246375190388ec67c52 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a397eaf8ee2a10618b8915bec7e5035b4 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a397eaf8ee2a10618b8915bec7e5035b4"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const uint64_t data)</td></tr>
<tr class="separator:a397eaf8ee2a10618b8915bec7e5035b4 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8a93df8d97bce40c7d43e067d353d67 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ab8a93df8d97bce40c7d43e067d353d67"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (float &amp;data)</td></tr>
<tr class="separator:ab8a93df8d97bce40c7d43e067d353d67 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74b78140b18f5ba87f6c08636a66f8f1 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a74b78140b18f5ba87f6c08636a66f8f1"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const float data)</td></tr>
<tr class="separator:a74b78140b18f5ba87f6c08636a66f8f1 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8feedfca51889d5f4a7d840052132650 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a8feedfca51889d5f4a7d840052132650"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (double &amp;data)</td></tr>
<tr class="separator:a8feedfca51889d5f4a7d840052132650 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad590413729942027a74ee7e958ee50fd inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad590413729942027a74ee7e958ee50fd"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const double data)</td></tr>
<tr class="separator:ad590413729942027a74ee7e958ee50fd inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad541bc0f9bbc6141f6116f882979d3a0 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad541bc0f9bbc6141f6116f882979d3a0"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (char &amp;data)</td></tr>
<tr class="separator:ad541bc0f9bbc6141f6116f882979d3a0 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d9399efb3f52ca2bb6bcde8be6677e9 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a8d9399efb3f52ca2bb6bcde8be6677e9"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const char data)</td></tr>
<tr class="separator:a8d9399efb3f52ca2bb6bcde8be6677e9 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76c84a9f2bd2ab459666eb69d3c88fe2 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a76c84a9f2bd2ab459666eb69d3c88fe2"><td class="memTemplParams" colspan="2">
template&lt;class T , class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a76c84a9f2bd2ab459666eb69d3c88fe2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&gt;&gt;</b> (std::basic_string&lt; T, TR, AX &gt; &amp;data)</td></tr>
<tr class="separator:a76c84a9f2bd2ab459666eb69d3c88fe2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c29727e2c211134c0249352bbd13ed6 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a8c29727e2c211134c0249352bbd13ed6"><td class="memTemplParams" colspan="2">
template&lt;class T &gt; </td></tr>
<tr class="memitem:a8c29727e2c211134c0249352bbd13ed6 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const T *data)</td></tr>
<tr class="separator:a8c29727e2c211134c0249352bbd13ed6 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfa61e7582dd4d7072bec8ff8cff12d9 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_acfa61e7582dd4d7072bec8ff8cff12d9"><td class="memTemplParams" colspan="2">
template&lt;class T , class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:acfa61e7582dd4d7072bec8ff8cff12d9 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const std::basic_string&lt; T, TR, AX &gt; &amp;data)</td></tr>
<tr class="separator:acfa61e7582dd4d7072bec8ff8cff12d9 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d443d9364c08fb388c8becd78203c03 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a9d443d9364c08fb388c8becd78203c03"><td class="memTemplParams" colspan="2">
template&lt;class T , class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a9d443d9364c08fb388c8becd78203c03 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const std::vector&lt; T, AX &gt; &amp;data)</td></tr>
<tr class="separator:a9d443d9364c08fb388c8becd78203c03 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bb89588045239dccfef576990feff75 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a4bb89588045239dccfef576990feff75"><td class="memTemplParams" colspan="2">
template&lt;class T , class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a4bb89588045239dccfef576990feff75 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&gt;&gt;</b> (std::vector&lt; T, AX &gt; &amp;data)</td></tr>
<tr class="separator:a4bb89588045239dccfef576990feff75 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b96325ad3755e8a3246232969d913ba inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a0b96325ad3755e8a3246232969d913ba"><td class="memTemplParams" colspan="2">
template&lt;class KEY , class PR = std::less&lt;KEY&gt;, class AX = std::allocator&lt;KEY&gt;&gt; </td></tr>
<tr class="memitem:a0b96325ad3755e8a3246232969d913ba inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const std::set&lt; KEY, PR, AX &gt; &amp;data)</td></tr>
<tr class="separator:a0b96325ad3755e8a3246232969d913ba inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbfbb8f9eecb3250d2dfd8c8edfbd01b inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_acbfbb8f9eecb3250d2dfd8c8edfbd01b"><td class="memTemplParams" colspan="2">
template&lt;class KEY , class PR = std::less&lt;KEY&gt;, class AX = std::allocator&lt;KEY&gt;&gt; </td></tr>
<tr class="memitem:acbfbb8f9eecb3250d2dfd8c8edfbd01b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&gt;&gt;</b> (std::set&lt; KEY, PR, AX &gt; &amp;data)</td></tr>
<tr class="separator:acbfbb8f9eecb3250d2dfd8c8edfbd01b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d732de0559f750c9196e3eae3038ce2 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a9d732de0559f750c9196e3eae3038ce2"><td class="memTemplParams" colspan="2">
template&lt;class KEY , class PR = std::less&lt;KEY&gt;, class AX = std::allocator&lt;KEY&gt;&gt; </td></tr>
<tr class="memitem:a9d732de0559f750c9196e3eae3038ce2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const std::multiset&lt; KEY, PR, AX &gt; &amp;data)</td></tr>
<tr class="separator:a9d732de0559f750c9196e3eae3038ce2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51c38b932ecf025fd335dda05551c28d inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a51c38b932ecf025fd335dda05551c28d"><td class="memTemplParams" colspan="2">
template&lt;class KEY , class PR = std::less&lt;KEY&gt;, class AX = std::allocator&lt;KEY&gt;&gt; </td></tr>
<tr class="memitem:a51c38b932ecf025fd335dda05551c28d inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&gt;&gt;</b> (std::multiset&lt; KEY, PR, AX &gt; &amp;data)</td></tr>
<tr class="separator:a51c38b932ecf025fd335dda05551c28d inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a523ece0190b031882162c7e4edd33fbb" id="r_a523ece0190b031882162c7e4edd33fbb"><td class="memItemLeft" align="right" valign="top"><a id="a523ece0190b031882162c7e4edd33fbb" name="a523ece0190b031882162c7e4edd33fbb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>decode</b> ()</td></tr>
<tr class="memdesc:a523ece0190b031882162c7e4edd33fbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes one complete internal buffer of data. <br /></td></tr>
<tr class="separator:a523ece0190b031882162c7e4edd33fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classstdex_1_1base64__dec"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_classstdex_1_1base64__dec')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td></tr>
<tr class="memitem:a07976a85f83981a29f9e1395d883a36d inherit pro_methods_classstdex_1_1base64__dec" id="r_a07976a85f83981a29f9e1395d883a36d"><td class="memTemplParams" colspan="2">
template&lt;class T , class AX &gt; </td></tr>
<tr class="memitem:a07976a85f83981a29f9e1395d883a36d inherit pro_methods_classstdex_1_1base64__dec"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><b>decode</b> (std::vector&lt; T, AX &gt; &amp;out)</td></tr>
<tr class="memdesc:a07976a85f83981a29f9e1395d883a36d inherit pro_methods_classstdex_1_1base64__dec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes one complete internal buffer of data. <br /></td></tr>
<tr class="separator:a07976a85f83981a29f9e1395d883a36d inherit pro_methods_classstdex_1_1base64__dec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17d956a883e99d8d884d2cb2edade8c5 inherit pro_methods_classstdex_1_1base64__dec" id="r_a17d956a883e99d8d884d2cb2edade8c5"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>base64_dec</b> () noexcept</td></tr>
<tr class="memdesc:a17d956a883e99d8d884d2cb2edade8c5 inherit pro_methods_classstdex_1_1base64__dec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs blank decoding session. <br /></td></tr>
<tr class="separator:a17d956a883e99d8d884d2cb2edade8c5 inherit pro_methods_classstdex_1_1base64__dec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94b0860b19c61f53208b79fcfd1ac32f inherit pro_methods_classstdex_1_1base64__dec" id="r_a94b0860b19c61f53208b79fcfd1ac32f"><td class="memTemplParams" colspan="2">template&lt;class T_to , class AX , class T_from &gt; </td></tr>
<tr class="memitem:a94b0860b19c61f53208b79fcfd1ac32f inherit pro_methods_classstdex_1_1base64__dec"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1base64__dec.html#a94b0860b19c61f53208b79fcfd1ac32f">decode</a> (std::vector&lt; T_to, AX &gt; &amp;out, bool &amp;is_last, const T_from *data, size_t size)</td></tr>
<tr class="memdesc:a94b0860b19c61f53208b79fcfd1ac32f inherit pro_methods_classstdex_1_1base64__dec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes one block of information, and <em>appends</em> it to the output. <br /></td></tr>
<tr class="separator:a94b0860b19c61f53208b79fcfd1ac32f inherit pro_methods_classstdex_1_1base64__dec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94738b63789489022e0c16063b732305 inherit pro_methods_classstdex_1_1base64__dec" id="r_a94738b63789489022e0c16063b732305"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> () noexcept</td></tr>
<tr class="memdesc:a94738b63789489022e0c16063b732305 inherit pro_methods_classstdex_1_1base64__dec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets decoding session. <br /></td></tr>
<tr class="separator:a94738b63789489022e0c16063b732305 inherit pro_methods_classstdex_1_1base64__dec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a203f2afa5839242c1230cb22e0a65b25 inherit pro_methods_classstdex_1_1base64__dec" id="r_a203f2afa5839242c1230cb22e0a65b25"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1base64__dec.html#a203f2afa5839242c1230cb22e0a65b25">dec_size</a> (size_t size) const noexcept</td></tr>
<tr class="memdesc:a203f2afa5839242c1230cb22e0a65b25 inherit pro_methods_classstdex_1_1base64__dec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns maximum decoded size. <br /></td></tr>
<tr class="separator:a203f2afa5839242c1230cb22e0a65b25 inherit pro_methods_classstdex_1_1base64__dec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ab92bc938edd01351e2639003f6679b99" id="r_ab92bc938edd01351e2639003f6679b99"><td class="memItemLeft" align="right" valign="top"><a id="ab92bc938edd01351e2639003f6679b99" name="ab92bc938edd01351e2639003f6679b99"></a>
char&#160;</td><td class="memItemRight" valign="bottom"><b>m_temp</b> [3]</td></tr>
<tr class="memdesc:ab92bc938edd01351e2639003f6679b99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Temporary buffer. <br /></td></tr>
<tr class="separator:ab92bc938edd01351e2639003f6679b99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affd26a488ea1b5d8b23cc98be45b2535" id="r_affd26a488ea1b5d8b23cc98be45b2535"><td class="memItemLeft" align="right" valign="top"><a id="affd26a488ea1b5d8b23cc98be45b2535" name="affd26a488ea1b5d8b23cc98be45b2535"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_temp_off</b></td></tr>
<tr class="memdesc:affd26a488ea1b5d8b23cc98be45b2535"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of data start in <code>m_temp</code> <br /></td></tr>
<tr class="separator:affd26a488ea1b5d8b23cc98be45b2535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad631499f728824a166843effd7a5eedb" id="r_ad631499f728824a166843effd7a5eedb"><td class="memItemLeft" align="right" valign="top"><a id="ad631499f728824a166843effd7a5eedb" name="ad631499f728824a166843effd7a5eedb"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_temp_len</b></td></tr>
<tr class="memdesc:ad631499f728824a166843effd7a5eedb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of bytes of data in <code>m_temp</code> <br /></td></tr>
<tr class="separator:ad631499f728824a166843effd7a5eedb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classstdex_1_1stream_1_1converter"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classstdex_1_1stream_1_1converter')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td></tr>
<tr class="memitem:a5d205a3409df3d98dd981d32069c31e4 inherit pro_attribs_classstdex_1_1stream_1_1converter" id="r_a5d205a3409df3d98dd981d32069c31e4"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_source</b></td></tr>
<tr class="separator:a5d205a3409df3d98dd981d32069c31e4 inherit pro_attribs_classstdex_1_1stream_1_1converter"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classstdex_1_1stream_1_1basic"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classstdex_1_1stream_1_1basic')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td></tr>
<tr class="memitem:afabd865667f92c3de8ef4ca0197f3615 inherit pro_attribs_classstdex_1_1stream_1_1basic" id="r_afabd865667f92c3de8ef4ca0197f3615"><td class="memItemLeft" align="right" valign="top">
state_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_state</b></td></tr>
<tr class="separator:afabd865667f92c3de8ef4ca0197f3615 inherit pro_attribs_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classstdex_1_1base64__dec"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classstdex_1_1base64__dec')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classstdex_1_1base64__dec.html">stdex::base64_dec</a></td></tr>
<tr class="memitem:ab618ef5b21f33c5ed577669091c4b103 inherit pro_attribs_classstdex_1_1base64__dec" id="r_ab618ef5b21f33c5ed577669091c4b103"><td class="memItemLeft" align="right" valign="top">
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_buf</b> [4]</td></tr>
<tr class="memdesc:ab618ef5b21f33c5ed577669091c4b103 inherit pro_attribs_classstdex_1_1base64__dec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal buffer. <br /></td></tr>
<tr class="separator:ab618ef5b21f33c5ed577669091c4b103 inherit pro_attribs_classstdex_1_1base64__dec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04ab92bcef2c304bc7a5d8d2a03c7905 inherit pro_attribs_classstdex_1_1base64__dec" id="r_a04ab92bcef2c304bc7a5d8d2a03c7905"><td class="memItemLeft" align="right" valign="top">
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_num</b></td></tr>
<tr class="memdesc:a04ab92bcef2c304bc7a5d8d2a03c7905 inherit pro_attribs_classstdex_1_1base64__dec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of bytes used in <code>m_buf</code> <br /></td></tr>
<tr class="separator:a04ab92bcef2c304bc7a5d8d2a03c7905 inherit pro_attribs_classstdex_1_1base64__dec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Converts from Base64 when reading from a stream. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="af93e15e15612233224b39fc7324cc5ee" name="af93e15e15612233224b39fc7324cc5ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af93e15e15612233224b39fc7324cc5ee">&#9670;&#160;</a></span>read()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual size_t stdex::base64_reader::read </td>
<td>(</td>
<td class="paramtype">_Out_writes_bytes_to_opt_(length, return) void *</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>length</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads block of data from the stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">data</td><td>Buffer to store read data </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Byte limit of data to read</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes successfully read. On EOF, 0 is returned and stream state is set to state_t::eof. On error, 0 is returned and stream state is set to state_t::fail. On null reads (length == 0), 0 is returned and stream state is set to state_t::ok. </dd></dl>
<p>Reimplemented from <a class="el" href="classstdex_1_1stream_1_1converter.html#abdca66af4847c6f8b6d87a0909fc061f">stdex::stream::converter</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="base64_8hpp_source.html">base64.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,185 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1base64__writer.html">base64_writer</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::base64_writer Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1base64__writer.html">stdex::base64_writer</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#abc6c72530634c3fea8168710ab5b1a28">base64_enc</a>() noexcept</td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>base64_writer</b>(stdex::stream::basic &amp;source, size_t max_blocks=19) (defined in <a class="el" href="classstdex_1_1base64__writer.html">stdex::base64_writer</a>)</td><td class="entry"><a class="el" href="classstdex_1_1base64__writer.html">stdex::base64_writer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic</b>(state_t state=state_t::ok) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#afb6a85176589d9ce1f65ce6355592fe7">clear</a>() noexcept</td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html#a96c368204acf32239318a026762cd22c">close</a>()</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>converter</b>(basic &amp;source) (defined in <a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#afbae8f49a0948ea7bb23d0faa8f67f21">enc_size</a>(size_t size) const noexcept</td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__writer.html#a54f0c38bb19f7757e42f5f76695c3a17">encode</a>()</td><td class="entry"><a class="el" href="classstdex_1_1base64__writer.html">stdex::base64_writer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__writer.html#a60b74be588c41f28c88ca0d49deb53af">encode</a>(size_t size)</td><td class="entry"><a class="el" href="classstdex_1_1base64__writer.html">stdex::base64_writer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#a3f2a19f9afe1fb83200c4f7623d62a80">stdex::base64_enc::encode</a>(std::basic_string&lt; T, TR, AX &gt; &amp;out, const void *data, size_t size, bool is_last=true)</td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#a2f43e0f7787bdbea112f7eb52880d898">stdex::base64_enc::encode</a>(std::basic_string&lt; T, TR, AX &gt; &amp;out)</td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#a2a64b6a49d89ddc4ca79a217faa41962">stdex::base64_enc::encode</a>(std::basic_string&lt; T, TR, AX &gt; &amp;out, size_t size)</td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html#a0d6af4c223625bc8ab677978b225d06e">flush</a>()</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#a567a2a3aeda13b50e31d48ba32236adf">m_buf</a></td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_max_blocks</b> (defined in <a class="el" href="classstdex_1_1base64__writer.html">stdex::base64_writer</a>)</td><td class="entry"><a class="el" href="classstdex_1_1base64__writer.html">stdex::base64_writer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html#a52f4cc4da6d7d7f4bad7c05a87ecd907">m_num</a></td><td class="entry"><a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1base64__writer.html#a2529c8798fa89be544b12690411e7125">m_num_blocks</a></td><td class="entry"><a class="el" href="classstdex_1_1base64__writer.html">stdex::base64_writer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_source</b> (defined in <a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_state</b> (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a0295e4efe18eef2a8962680274957ac1">ok</a>() const</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const int8_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const int16_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const int32_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const int64_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const uint8_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const uint16_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const uint32_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const uint64_t data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const float data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const double data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const char data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const T *data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const std::basic_string&lt; T, TR, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const std::vector&lt; T, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const std::set&lt; KEY, PR, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&lt;&lt;</b>(const std::multiset&lt; KEY, PR, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(int8_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(int16_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(int32_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(int64_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(uint8_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(uint16_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(uint32_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(uint64_t &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(float &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(double &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(char &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(std::basic_string&lt; T, TR, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(std::vector&lt; T, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator&gt;&gt;</b>(std::set&lt; KEY, PR, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;</b>(std::multiset&lt; KEY, PR, AX &gt; &amp;data) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html#abdca66af4847c6f8b6d87a0909fc061f">read</a>(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a7723ae23bc35c2ffb74380eab5b0a9ba">read_array</a>(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a600e123c10d6f0604d58ae0e9be95f0b">read_byte</a>()</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#afd5a1268365027ed8c5108183dc498df">read_data</a>(T &amp;data)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a6148810b1d873b9f5a3496b06b1aa90b">read_remainder</a>(size_t max_length=SIZE_MAX)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a7f77992f370a735df590aef4ba145fa6">read_str</a>(std::basic_string&lt; T, TR, AX &gt; &amp;data)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a7db58c8b49bc221607f2b44aab8fb39d">readln</a>(std::basic_string&lt; T, TR, AX &gt; &amp;str)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a696b3cd180c2cfa521dd022f8c1d277b">readln</a>(std::basic_string&lt; T_to, TR, AX &gt; &amp;str, charset_encoder&lt; T_from, T_to &gt; &amp;encoder)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a1238f88760b72e74275543f1b98bf86a">readln_and_attach</a>(std::basic_string&lt; T, TR, AX &gt; &amp;str)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#aa4d51843c45ef406a4de0bd07f5b6c77">readln_and_attach</a>(std::basic_string&lt; T_to, TR, AX &gt; &amp;str, charset_encoder&lt; T_from, T_to &gt; &amp;encoder)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a52ce3bdf28a9a7fc5a881616c8db2da4">skip</a>(fsize_t amount)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a2aa36b007017c2052a0118c1df4910d0">state</a>() const</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1base64__writer.html#aaca6933a48a0266e4e46cc93b03ef410">write</a>(_In_reads_bytes_opt_(length) const void *data, size_t length)</td><td class="entry"><a class="el" href="classstdex_1_1base64__writer.html">stdex::base64_writer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#af6c10ec4ab181b5ed5b061d115059b7a">write_array</a>(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a01492b8338bf435a5240897085720814">write_array</a>(const T_from *str, charset_encoder&lt; T_from, T_to &gt; &amp;encoder)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#aeee42cba3d0a542355783241412f3630">write_array</a>(_In_reads_or_z_opt_(num_chars) const T_from *str, size_t num_chars, charset_encoder&lt; T_from, T_to &gt; &amp;encoder)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#ad67e1587fa4b072fe858d39e1eff020a">write_array</a>(const std::basic_string&lt; T_from, TR, AX &gt; &amp;str, charset_encoder&lt; T_from, T_to &gt; &amp;encoder)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#af83cd6902f3f3bf18df2f08045570603">write_byte</a>(uint8_t byte, fsize_t amount=1)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#ab61abc19936554288ea929e0eb299144">write_charset</a>(charset_id charset)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#acabab42a910d149fec6ef60090a34aab">write_data</a>(const T data)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a63528d1cf030257c9d7f24d0d1d668f7">write_sprintf</a>(_Printf_format_string_params_(2) const char *format, locale_t locale,...)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a32f854944dc108d99c5ea5e87b19db7e">write_sprintf</a>(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a815369ef1a8ba07b289b8236fce018ac">write_str</a>(const T *data)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#aea03ce4ebc0ea6047dce9f18c900fcfa">write_str</a>(const std::basic_string&lt; T, TR, AX &gt; &amp;data)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#ad28b193e6afa1352a00864bd28193cc2">write_stream</a>(basic &amp;stream, fsize_t amount=fsize_max)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a14931af91db2bab8204d6352a59c1bf7">write_vsprintf</a>(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html#a3a7ac9211cd81b2203b55f1a2f131bc1">write_vsprintf</a>(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~base64_writer</b>() (defined in <a class="el" href="classstdex_1_1base64__writer.html">stdex::base64_writer</a>)</td><td class="entry"><a class="el" href="classstdex_1_1base64__writer.html">stdex::base64_writer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~basic</b>() noexcept(false) (defined in <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a>)</td><td class="entry"><a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,482 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::base64_writer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1base64__writer.html">base64_writer</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1base64__writer-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::base64_writer Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Converts to Base64 when writing to a stream.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="base64_8hpp_source.html">stdex/base64.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::base64_writer:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1base64__writer.png" usemap="#stdex::base64_5Fwriter_map" alt=""/>
<map id="stdex::base64_5Fwriter_map" name="stdex::base64_5Fwriter_map">
<area href="classstdex_1_1stream_1_1converter.html" title="Modifies data on the fly when reading from/writing to a source stream. Could also be used to modify r..." alt="stdex::stream::converter" shape="rect" coords="0,56,145,80"/>
<area href="classstdex_1_1base64__enc.html" title="Base64 encoding session." alt="stdex::base64_enc" shape="rect" coords="155,56,300,80"/>
<area href="classstdex_1_1stream_1_1basic.html" title="Basic stream operations." alt="stdex::stream::basic" shape="rect" coords="0,0,145,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac08584d54cebb26bb1e714a646176768" id="r_ac08584d54cebb26bb1e714a646176768"><td class="memItemLeft" align="right" valign="top"><a id="ac08584d54cebb26bb1e714a646176768" name="ac08584d54cebb26bb1e714a646176768"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>base64_writer</b> (<a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a> &amp;source, size_t max_blocks=19)</td></tr>
<tr class="separator:ac08584d54cebb26bb1e714a646176768"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaca6933a48a0266e4e46cc93b03ef410" id="r_aaca6933a48a0266e4e46cc93b03ef410"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaca6933a48a0266e4e46cc93b03ef410">write</a> (_In_reads_bytes_opt_(length) const void *data, size_t length)</td></tr>
<tr class="memdesc:aaca6933a48a0266e4e46cc93b03ef410"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes block of data to the stream. <br /></td></tr>
<tr class="separator:aaca6933a48a0266e4e46cc93b03ef410"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classstdex_1_1stream_1_1converter"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classstdex_1_1stream_1_1converter')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td></tr>
<tr class="memitem:ab8914202483447e280577042a4519a92 inherit pub_methods_classstdex_1_1stream_1_1converter" id="r_ab8914202483447e280577042a4519a92"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>converter</b> (<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;source)</td></tr>
<tr class="separator:ab8914202483447e280577042a4519a92 inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdca66af4847c6f8b6d87a0909fc061f inherit pub_methods_classstdex_1_1stream_1_1converter" id="r_abdca66af4847c6f8b6d87a0909fc061f"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1converter.html#abdca66af4847c6f8b6d87a0909fc061f">read</a> (_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)</td></tr>
<tr class="memdesc:abdca66af4847c6f8b6d87a0909fc061f inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads block of data from the stream. <br /></td></tr>
<tr class="separator:abdca66af4847c6f8b6d87a0909fc061f inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96c368204acf32239318a026762cd22c inherit pub_methods_classstdex_1_1stream_1_1converter" id="r_a96c368204acf32239318a026762cd22c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1converter.html#a96c368204acf32239318a026762cd22c">close</a> ()</td></tr>
<tr class="memdesc:a96c368204acf32239318a026762cd22c inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the stream. <br /></td></tr>
<tr class="separator:a96c368204acf32239318a026762cd22c inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d6af4c223625bc8ab677978b225d06e inherit pub_methods_classstdex_1_1stream_1_1converter" id="r_a0d6af4c223625bc8ab677978b225d06e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1converter.html#a0d6af4c223625bc8ab677978b225d06e">flush</a> ()</td></tr>
<tr class="memdesc:a0d6af4c223625bc8ab677978b225d06e inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="mdescLeft">&#160;</td><td class="mdescRight">Persists volatile element data. <br /></td></tr>
<tr class="separator:a0d6af4c223625bc8ab677978b225d06e inherit pub_methods_classstdex_1_1stream_1_1converter"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classstdex_1_1stream_1_1basic"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classstdex_1_1stream_1_1basic')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td></tr>
<tr class="memitem:a6083e72060acfc9edf707c833a3f7063 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a6083e72060acfc9edf707c833a3f7063"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>basic</b> (state_t <a class="el" href="classstdex_1_1stream_1_1basic.html#a2aa36b007017c2052a0118c1df4910d0">state</a>=state_t::ok)</td></tr>
<tr class="separator:a6083e72060acfc9edf707c833a3f7063 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52ce3bdf28a9a7fc5a881616c8db2da4 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a52ce3bdf28a9a7fc5a881616c8db2da4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a52ce3bdf28a9a7fc5a881616c8db2da4">skip</a> (fsize_t amount)</td></tr>
<tr class="memdesc:a52ce3bdf28a9a7fc5a881616c8db2da4 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skips given amount of bytes of data on the stream. <br /></td></tr>
<tr class="separator:a52ce3bdf28a9a7fc5a881616c8db2da4 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2aa36b007017c2052a0118c1df4910d0 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a2aa36b007017c2052a0118c1df4910d0"><td class="memItemLeft" align="right" valign="top">
state_t&#160;</td><td class="memItemRight" valign="bottom"><b>state</b> () const</td></tr>
<tr class="memdesc:a2aa36b007017c2052a0118c1df4910d0 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns stream state after last operation. <br /></td></tr>
<tr class="separator:a2aa36b007017c2052a0118c1df4910d0 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0295e4efe18eef2a8962680274957ac1 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a0295e4efe18eef2a8962680274957ac1"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>ok</b> () const</td></tr>
<tr class="memdesc:a0295e4efe18eef2a8962680274957ac1 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the stream state is clean i.e. previous operation was successful. <br /></td></tr>
<tr class="separator:a0295e4efe18eef2a8962680274957ac1 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6148810b1d873b9f5a3496b06b1aa90b inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a6148810b1d873b9f5a3496b06b1aa90b"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a6148810b1d873b9f5a3496b06b1aa90b">read_remainder</a> (size_t max_length=SIZE_MAX)</td></tr>
<tr class="memdesc:a6148810b1d873b9f5a3496b06b1aa90b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads and returns remainder of the stream. <br /></td></tr>
<tr class="separator:a6148810b1d873b9f5a3496b06b1aa90b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a600e123c10d6f0604d58ae0e9be95f0b inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a600e123c10d6f0604d58ae0e9be95f0b"><td class="memItemLeft" align="right" valign="top">
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>read_byte</b> ()</td></tr>
<tr class="memdesc:a600e123c10d6f0604d58ae0e9be95f0b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads one byte of data. <br /></td></tr>
<tr class="separator:a600e123c10d6f0604d58ae0e9be95f0b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af83cd6902f3f3bf18df2f08045570603 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_af83cd6902f3f3bf18df2f08045570603"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>write_byte</b> (uint8_t byte, fsize_t amount=1)</td></tr>
<tr class="memdesc:af83cd6902f3f3bf18df2f08045570603 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a byte of data. <br /></td></tr>
<tr class="separator:af83cd6902f3f3bf18df2f08045570603 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd5a1268365027ed8c5108183dc498df inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_afd5a1268365027ed8c5108183dc498df"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:afd5a1268365027ed8c5108183dc498df inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#afd5a1268365027ed8c5108183dc498df">read_data</a> (T &amp;data)</td></tr>
<tr class="memdesc:afd5a1268365027ed8c5108183dc498df inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads one primitive data type. <br /></td></tr>
<tr class="separator:afd5a1268365027ed8c5108183dc498df inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acabab42a910d149fec6ef60090a34aab inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_acabab42a910d149fec6ef60090a34aab"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:acabab42a910d149fec6ef60090a34aab inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#acabab42a910d149fec6ef60090a34aab">write_data</a> (const T data)</td></tr>
<tr class="memdesc:acabab42a910d149fec6ef60090a34aab inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes one primitive data type. <br /></td></tr>
<tr class="separator:acabab42a910d149fec6ef60090a34aab inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7db58c8b49bc221607f2b44aab8fb39d inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a7db58c8b49bc221607f2b44aab8fb39d"><td class="memTemplParams" colspan="2">template&lt;class T , class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a7db58c8b49bc221607f2b44aab8fb39d inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a7db58c8b49bc221607f2b44aab8fb39d">readln</a> (std::basic_string&lt; T, TR, AX &gt; &amp;str)</td></tr>
<tr class="memdesc:a7db58c8b49bc221607f2b44aab8fb39d inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads stream to the end-of-line or end-of-file. <br /></td></tr>
<tr class="separator:a7db58c8b49bc221607f2b44aab8fb39d inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a696b3cd180c2cfa521dd022f8c1d277b inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a696b3cd180c2cfa521dd022f8c1d277b"><td class="memTemplParams" colspan="2">template&lt;class T_from , class T_to , class TR = std::char_traits&lt;T_to&gt;, class AX = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:a696b3cd180c2cfa521dd022f8c1d277b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a696b3cd180c2cfa521dd022f8c1d277b">readln</a> (std::basic_string&lt; T_to, TR, AX &gt; &amp;str, <a class="el" href="classstdex_1_1charset__encoder.html">charset_encoder</a>&lt; T_from, T_to &gt; &amp;encoder)</td></tr>
<tr class="memdesc:a696b3cd180c2cfa521dd022f8c1d277b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads stream to the end-of-line or end-of-file. <br /></td></tr>
<tr class="separator:a696b3cd180c2cfa521dd022f8c1d277b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1238f88760b72e74275543f1b98bf86a inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a1238f88760b72e74275543f1b98bf86a"><td class="memTemplParams" colspan="2">template&lt;class T , class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a1238f88760b72e74275543f1b98bf86a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a1238f88760b72e74275543f1b98bf86a">readln_and_attach</a> (std::basic_string&lt; T, TR, AX &gt; &amp;str)</td></tr>
<tr class="memdesc:a1238f88760b72e74275543f1b98bf86a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads stream to the end-of-line or end-of-file and append to str. <br /></td></tr>
<tr class="separator:a1238f88760b72e74275543f1b98bf86a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4d51843c45ef406a4de0bd07f5b6c77 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_aa4d51843c45ef406a4de0bd07f5b6c77"><td class="memTemplParams" colspan="2">template&lt;class T_from , class T_to , class TR = std::char_traits&lt;T_to&gt;, class AX = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:aa4d51843c45ef406a4de0bd07f5b6c77 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#aa4d51843c45ef406a4de0bd07f5b6c77">readln_and_attach</a> (std::basic_string&lt; T_to, TR, AX &gt; &amp;str, <a class="el" href="classstdex_1_1charset__encoder.html">charset_encoder</a>&lt; T_from, T_to &gt; &amp;encoder)</td></tr>
<tr class="memdesc:aa4d51843c45ef406a4de0bd07f5b6c77 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads stream to the end-of-line or end-of-file and append to str. <br /></td></tr>
<tr class="separator:aa4d51843c45ef406a4de0bd07f5b6c77 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7723ae23bc35c2ffb74380eab5b0a9ba inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a7723ae23bc35c2ffb74380eab5b0a9ba"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a7723ae23bc35c2ffb74380eab5b0a9ba">read_array</a> (_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)</td></tr>
<tr class="memdesc:a7723ae23bc35c2ffb74380eab5b0a9ba inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an array of data from the stream. <br /></td></tr>
<tr class="separator:a7723ae23bc35c2ffb74380eab5b0a9ba inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6c10ec4ab181b5ed5b061d115059b7a inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_af6c10ec4ab181b5ed5b061d115059b7a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#af6c10ec4ab181b5ed5b061d115059b7a">write_array</a> (_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)</td></tr>
<tr class="memdesc:af6c10ec4ab181b5ed5b061d115059b7a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes an array of data to the stream. <br /></td></tr>
<tr class="separator:af6c10ec4ab181b5ed5b061d115059b7a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01492b8338bf435a5240897085720814 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a01492b8338bf435a5240897085720814"><td class="memTemplParams" colspan="2">template&lt;class T_from , class T_to &gt; </td></tr>
<tr class="memitem:a01492b8338bf435a5240897085720814 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a01492b8338bf435a5240897085720814">write_array</a> (const T_from *str, <a class="el" href="classstdex_1_1charset__encoder.html">charset_encoder</a>&lt; T_from, T_to &gt; &amp;encoder)</td></tr>
<tr class="memdesc:a01492b8338bf435a5240897085720814 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes array of characters to the stream. <br /></td></tr>
<tr class="separator:a01492b8338bf435a5240897085720814 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeee42cba3d0a542355783241412f3630 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_aeee42cba3d0a542355783241412f3630"><td class="memTemplParams" colspan="2">template&lt;class T_from , class T_to &gt; </td></tr>
<tr class="memitem:aeee42cba3d0a542355783241412f3630 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#aeee42cba3d0a542355783241412f3630">write_array</a> (_In_reads_or_z_opt_(num_chars) const T_from *str, size_t num_chars, <a class="el" href="classstdex_1_1charset__encoder.html">charset_encoder</a>&lt; T_from, T_to &gt; &amp;encoder)</td></tr>
<tr class="memdesc:aeee42cba3d0a542355783241412f3630 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes array of characters to the stream. <br /></td></tr>
<tr class="separator:aeee42cba3d0a542355783241412f3630 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad67e1587fa4b072fe858d39e1eff020a inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad67e1587fa4b072fe858d39e1eff020a"><td class="memTemplParams" colspan="2">template&lt;class T_from , class T_to , class TR = std::char_traits&lt;T_from&gt;, class AX = std::allocator&lt;T_from&gt;&gt; </td></tr>
<tr class="memitem:ad67e1587fa4b072fe858d39e1eff020a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#ad67e1587fa4b072fe858d39e1eff020a">write_array</a> (const std::basic_string&lt; T_from, TR, AX &gt; &amp;str, <a class="el" href="classstdex_1_1charset__encoder.html">charset_encoder</a>&lt; T_from, T_to &gt; &amp;encoder)</td></tr>
<tr class="memdesc:ad67e1587fa4b072fe858d39e1eff020a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes array of characters to the stream. <br /></td></tr>
<tr class="separator:ad67e1587fa4b072fe858d39e1eff020a inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f77992f370a735df590aef4ba145fa6 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a7f77992f370a735df590aef4ba145fa6"><td class="memTemplParams" colspan="2">template&lt;class T , class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a7f77992f370a735df590aef4ba145fa6 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a7f77992f370a735df590aef4ba145fa6">read_str</a> (std::basic_string&lt; T, TR, AX &gt; &amp;data)</td></tr>
<tr class="memdesc:a7f77992f370a735df590aef4ba145fa6 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads length-prefixed string from the stream. <br /></td></tr>
<tr class="separator:a7f77992f370a735df590aef4ba145fa6 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a815369ef1a8ba07b289b8236fce018ac inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a815369ef1a8ba07b289b8236fce018ac"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a815369ef1a8ba07b289b8236fce018ac inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a815369ef1a8ba07b289b8236fce018ac">write_str</a> (const T *data)</td></tr>
<tr class="memdesc:a815369ef1a8ba07b289b8236fce018ac inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes string to the stream length-prefixed. <br /></td></tr>
<tr class="separator:a815369ef1a8ba07b289b8236fce018ac inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea03ce4ebc0ea6047dce9f18c900fcfa inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_aea03ce4ebc0ea6047dce9f18c900fcfa"><td class="memTemplParams" colspan="2">template&lt;class T , class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:aea03ce4ebc0ea6047dce9f18c900fcfa inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#aea03ce4ebc0ea6047dce9f18c900fcfa">write_str</a> (const std::basic_string&lt; T, TR, AX &gt; &amp;data)</td></tr>
<tr class="memdesc:aea03ce4ebc0ea6047dce9f18c900fcfa inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes string to the stream length-prefixed. <br /></td></tr>
<tr class="separator:aea03ce4ebc0ea6047dce9f18c900fcfa inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad28b193e6afa1352a00864bd28193cc2 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad28b193e6afa1352a00864bd28193cc2"><td class="memItemLeft" align="right" valign="top">fsize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#ad28b193e6afa1352a00864bd28193cc2">write_stream</a> (<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;stream, fsize_t amount=fsize_max)</td></tr>
<tr class="memdesc:ad28b193e6afa1352a00864bd28193cc2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes content of another stream. <br /></td></tr>
<tr class="separator:ad28b193e6afa1352a00864bd28193cc2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab61abc19936554288ea929e0eb299144 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ab61abc19936554288ea929e0eb299144"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>write_charset</b> (charset_id charset)</td></tr>
<tr class="memdesc:ab61abc19936554288ea929e0eb299144 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes UTF8, UTF-16 or UTF-32 byte-order-mark. <br /></td></tr>
<tr class="separator:ab61abc19936554288ea929e0eb299144 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63528d1cf030257c9d7f24d0d1d668f7 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a63528d1cf030257c9d7f24d0d1d668f7"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a63528d1cf030257c9d7f24d0d1d668f7">write_sprintf</a> (_Printf_format_string_params_(2) const char *format, locale_t <a class="el" href="classstdex_1_1locale.html">locale</a>,...)</td></tr>
<tr class="memdesc:a63528d1cf030257c9d7f24d0d1d668f7 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes formatted string to the stream. <br /></td></tr>
<tr class="separator:a63528d1cf030257c9d7f24d0d1d668f7 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32f854944dc108d99c5ea5e87b19db7e inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a32f854944dc108d99c5ea5e87b19db7e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a32f854944dc108d99c5ea5e87b19db7e">write_sprintf</a> (_Printf_format_string_params_(2) const wchar_t *format, locale_t <a class="el" href="classstdex_1_1locale.html">locale</a>,...)</td></tr>
<tr class="memdesc:a32f854944dc108d99c5ea5e87b19db7e inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes formatted string to the stream. <br /></td></tr>
<tr class="separator:a32f854944dc108d99c5ea5e87b19db7e inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14931af91db2bab8204d6352a59c1bf7 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a14931af91db2bab8204d6352a59c1bf7"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a14931af91db2bab8204d6352a59c1bf7">write_vsprintf</a> (_Printf_format_string_params_(2) const char *format, locale_t <a class="el" href="classstdex_1_1locale.html">locale</a>, va_list params)</td></tr>
<tr class="memdesc:a14931af91db2bab8204d6352a59c1bf7 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes formatted string to the stream. <br /></td></tr>
<tr class="separator:a14931af91db2bab8204d6352a59c1bf7 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a7ac9211cd81b2203b55f1a2f131bc1 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a3a7ac9211cd81b2203b55f1a2f131bc1"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a3a7ac9211cd81b2203b55f1a2f131bc1">write_vsprintf</a> (_Printf_format_string_params_(2) const wchar_t *format, locale_t <a class="el" href="classstdex_1_1locale.html">locale</a>, va_list params)</td></tr>
<tr class="memdesc:a3a7ac9211cd81b2203b55f1a2f131bc1 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes formatted string to the stream. <br /></td></tr>
<tr class="separator:a3a7ac9211cd81b2203b55f1a2f131bc1 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5daeb045a10919087a67e8d1966c79a1 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a5daeb045a10919087a67e8d1966c79a1"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (int8_t &amp;data)</td></tr>
<tr class="separator:a5daeb045a10919087a67e8d1966c79a1 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad444a7817c909d109ac605233148844c inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad444a7817c909d109ac605233148844c"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const int8_t data)</td></tr>
<tr class="separator:ad444a7817c909d109ac605233148844c inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f3359f359eb7f4c0ecd9f62970a3788 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a3f3359f359eb7f4c0ecd9f62970a3788"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (int16_t &amp;data)</td></tr>
<tr class="separator:a3f3359f359eb7f4c0ecd9f62970a3788 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08dca485ec4a8d2c8fe9aa5f0a969430 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a08dca485ec4a8d2c8fe9aa5f0a969430"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const int16_t data)</td></tr>
<tr class="separator:a08dca485ec4a8d2c8fe9aa5f0a969430 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a9e4a9472dee6dcb03989d6af80b5cb inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a0a9e4a9472dee6dcb03989d6af80b5cb"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (int32_t &amp;data)</td></tr>
<tr class="separator:a0a9e4a9472dee6dcb03989d6af80b5cb inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7dbc5c34f646e6b51f832117a3184cc inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_af7dbc5c34f646e6b51f832117a3184cc"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const int32_t data)</td></tr>
<tr class="separator:af7dbc5c34f646e6b51f832117a3184cc inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe1017a8f473318153560dfc4ca3fc6e inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_abe1017a8f473318153560dfc4ca3fc6e"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (int64_t &amp;data)</td></tr>
<tr class="separator:abe1017a8f473318153560dfc4ca3fc6e inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ecca9815a77910cca507f4c50bb32a0 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a7ecca9815a77910cca507f4c50bb32a0"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const int64_t data)</td></tr>
<tr class="separator:a7ecca9815a77910cca507f4c50bb32a0 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f544f133d4e68b413471a6281236851 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a5f544f133d4e68b413471a6281236851"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (uint8_t &amp;data)</td></tr>
<tr class="separator:a5f544f133d4e68b413471a6281236851 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd0e76d9b689a94b95ec86e22c143ad7 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_acd0e76d9b689a94b95ec86e22c143ad7"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const uint8_t data)</td></tr>
<tr class="separator:acd0e76d9b689a94b95ec86e22c143ad7 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad44d2f9e492f2c12cc4bf85f9f2a5276 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad44d2f9e492f2c12cc4bf85f9f2a5276"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (uint16_t &amp;data)</td></tr>
<tr class="separator:ad44d2f9e492f2c12cc4bf85f9f2a5276 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae09d77c86c473fdd4958f92a846cf9f9 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ae09d77c86c473fdd4958f92a846cf9f9"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const uint16_t data)</td></tr>
<tr class="separator:ae09d77c86c473fdd4958f92a846cf9f9 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a107ca4181c6ae339c55f01d2ec0d56f7 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a107ca4181c6ae339c55f01d2ec0d56f7"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (uint32_t &amp;data)</td></tr>
<tr class="separator:a107ca4181c6ae339c55f01d2ec0d56f7 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ae9646960ef24c4ffdd49150894cea3 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a1ae9646960ef24c4ffdd49150894cea3"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const uint32_t data)</td></tr>
<tr class="separator:a1ae9646960ef24c4ffdd49150894cea3 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5db3fcbd1562246375190388ec67c52 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ae5db3fcbd1562246375190388ec67c52"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (uint64_t &amp;data)</td></tr>
<tr class="separator:ae5db3fcbd1562246375190388ec67c52 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a397eaf8ee2a10618b8915bec7e5035b4 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a397eaf8ee2a10618b8915bec7e5035b4"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const uint64_t data)</td></tr>
<tr class="separator:a397eaf8ee2a10618b8915bec7e5035b4 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8a93df8d97bce40c7d43e067d353d67 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ab8a93df8d97bce40c7d43e067d353d67"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (float &amp;data)</td></tr>
<tr class="separator:ab8a93df8d97bce40c7d43e067d353d67 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74b78140b18f5ba87f6c08636a66f8f1 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a74b78140b18f5ba87f6c08636a66f8f1"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const float data)</td></tr>
<tr class="separator:a74b78140b18f5ba87f6c08636a66f8f1 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8feedfca51889d5f4a7d840052132650 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a8feedfca51889d5f4a7d840052132650"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (double &amp;data)</td></tr>
<tr class="separator:a8feedfca51889d5f4a7d840052132650 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad590413729942027a74ee7e958ee50fd inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad590413729942027a74ee7e958ee50fd"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const double data)</td></tr>
<tr class="separator:ad590413729942027a74ee7e958ee50fd inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad541bc0f9bbc6141f6116f882979d3a0 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad541bc0f9bbc6141f6116f882979d3a0"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (char &amp;data)</td></tr>
<tr class="separator:ad541bc0f9bbc6141f6116f882979d3a0 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d9399efb3f52ca2bb6bcde8be6677e9 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a8d9399efb3f52ca2bb6bcde8be6677e9"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const char data)</td></tr>
<tr class="separator:a8d9399efb3f52ca2bb6bcde8be6677e9 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76c84a9f2bd2ab459666eb69d3c88fe2 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a76c84a9f2bd2ab459666eb69d3c88fe2"><td class="memTemplParams" colspan="2">
template&lt;class T , class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a76c84a9f2bd2ab459666eb69d3c88fe2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&gt;&gt;</b> (std::basic_string&lt; T, TR, AX &gt; &amp;data)</td></tr>
<tr class="separator:a76c84a9f2bd2ab459666eb69d3c88fe2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c29727e2c211134c0249352bbd13ed6 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a8c29727e2c211134c0249352bbd13ed6"><td class="memTemplParams" colspan="2">
template&lt;class T &gt; </td></tr>
<tr class="memitem:a8c29727e2c211134c0249352bbd13ed6 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const T *data)</td></tr>
<tr class="separator:a8c29727e2c211134c0249352bbd13ed6 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfa61e7582dd4d7072bec8ff8cff12d9 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_acfa61e7582dd4d7072bec8ff8cff12d9"><td class="memTemplParams" colspan="2">
template&lt;class T , class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:acfa61e7582dd4d7072bec8ff8cff12d9 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const std::basic_string&lt; T, TR, AX &gt; &amp;data)</td></tr>
<tr class="separator:acfa61e7582dd4d7072bec8ff8cff12d9 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d443d9364c08fb388c8becd78203c03 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a9d443d9364c08fb388c8becd78203c03"><td class="memTemplParams" colspan="2">
template&lt;class T , class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a9d443d9364c08fb388c8becd78203c03 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const std::vector&lt; T, AX &gt; &amp;data)</td></tr>
<tr class="separator:a9d443d9364c08fb388c8becd78203c03 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bb89588045239dccfef576990feff75 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a4bb89588045239dccfef576990feff75"><td class="memTemplParams" colspan="2">
template&lt;class T , class AX = std::allocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a4bb89588045239dccfef576990feff75 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&gt;&gt;</b> (std::vector&lt; T, AX &gt; &amp;data)</td></tr>
<tr class="separator:a4bb89588045239dccfef576990feff75 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b96325ad3755e8a3246232969d913ba inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a0b96325ad3755e8a3246232969d913ba"><td class="memTemplParams" colspan="2">
template&lt;class KEY , class PR = std::less&lt;KEY&gt;, class AX = std::allocator&lt;KEY&gt;&gt; </td></tr>
<tr class="memitem:a0b96325ad3755e8a3246232969d913ba inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const std::set&lt; KEY, PR, AX &gt; &amp;data)</td></tr>
<tr class="separator:a0b96325ad3755e8a3246232969d913ba inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbfbb8f9eecb3250d2dfd8c8edfbd01b inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_acbfbb8f9eecb3250d2dfd8c8edfbd01b"><td class="memTemplParams" colspan="2">
template&lt;class KEY , class PR = std::less&lt;KEY&gt;, class AX = std::allocator&lt;KEY&gt;&gt; </td></tr>
<tr class="memitem:acbfbb8f9eecb3250d2dfd8c8edfbd01b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&gt;&gt;</b> (std::set&lt; KEY, PR, AX &gt; &amp;data)</td></tr>
<tr class="separator:acbfbb8f9eecb3250d2dfd8c8edfbd01b inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d732de0559f750c9196e3eae3038ce2 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a9d732de0559f750c9196e3eae3038ce2"><td class="memTemplParams" colspan="2">
template&lt;class KEY , class PR = std::less&lt;KEY&gt;, class AX = std::allocator&lt;KEY&gt;&gt; </td></tr>
<tr class="memitem:a9d732de0559f750c9196e3eae3038ce2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const std::multiset&lt; KEY, PR, AX &gt; &amp;data)</td></tr>
<tr class="separator:a9d732de0559f750c9196e3eae3038ce2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51c38b932ecf025fd335dda05551c28d inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a51c38b932ecf025fd335dda05551c28d"><td class="memTemplParams" colspan="2">
template&lt;class KEY , class PR = std::less&lt;KEY&gt;, class AX = std::allocator&lt;KEY&gt;&gt; </td></tr>
<tr class="memitem:a51c38b932ecf025fd335dda05551c28d inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&gt;&gt;</b> (std::multiset&lt; KEY, PR, AX &gt; &amp;data)</td></tr>
<tr class="separator:a51c38b932ecf025fd335dda05551c28d inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a54f0c38bb19f7757e42f5f76695c3a17" id="r_a54f0c38bb19f7757e42f5f76695c3a17"><td class="memItemLeft" align="right" valign="top"><a id="a54f0c38bb19f7757e42f5f76695c3a17" name="a54f0c38bb19f7757e42f5f76695c3a17"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>encode</b> ()</td></tr>
<tr class="memdesc:a54f0c38bb19f7757e42f5f76695c3a17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes one complete internal buffer of data. <br /></td></tr>
<tr class="separator:a54f0c38bb19f7757e42f5f76695c3a17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60b74be588c41f28c88ca0d49deb53af" id="r_a60b74be588c41f28c88ca0d49deb53af"><td class="memItemLeft" align="right" valign="top"><a id="a60b74be588c41f28c88ca0d49deb53af" name="a60b74be588c41f28c88ca0d49deb53af"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>encode</b> (size_t size)</td></tr>
<tr class="memdesc:a60b74be588c41f28c88ca0d49deb53af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes partial internal buffer of data. <br /></td></tr>
<tr class="separator:a60b74be588c41f28c88ca0d49deb53af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classstdex_1_1base64__enc"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_classstdex_1_1base64__enc')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td></tr>
<tr class="memitem:a2f43e0f7787bdbea112f7eb52880d898 inherit pro_methods_classstdex_1_1base64__enc" id="r_a2f43e0f7787bdbea112f7eb52880d898"><td class="memTemplParams" colspan="2">
template&lt;class T , class TR , class AX &gt; </td></tr>
<tr class="memitem:a2f43e0f7787bdbea112f7eb52880d898 inherit pro_methods_classstdex_1_1base64__enc"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>encode</b> (std::basic_string&lt; T, TR, AX &gt; &amp;out)</td></tr>
<tr class="memdesc:a2f43e0f7787bdbea112f7eb52880d898 inherit pro_methods_classstdex_1_1base64__enc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes one complete internal buffer of data. <br /></td></tr>
<tr class="separator:a2f43e0f7787bdbea112f7eb52880d898 inherit pro_methods_classstdex_1_1base64__enc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a64b6a49d89ddc4ca79a217faa41962 inherit pro_methods_classstdex_1_1base64__enc" id="r_a2a64b6a49d89ddc4ca79a217faa41962"><td class="memTemplParams" colspan="2">
template&lt;class T , class TR , class AX &gt; </td></tr>
<tr class="memitem:a2a64b6a49d89ddc4ca79a217faa41962 inherit pro_methods_classstdex_1_1base64__enc"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>encode</b> (std::basic_string&lt; T, TR, AX &gt; &amp;out, size_t size)</td></tr>
<tr class="memdesc:a2a64b6a49d89ddc4ca79a217faa41962 inherit pro_methods_classstdex_1_1base64__enc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes partial internal buffer of data. <br /></td></tr>
<tr class="separator:a2a64b6a49d89ddc4ca79a217faa41962 inherit pro_methods_classstdex_1_1base64__enc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc6c72530634c3fea8168710ab5b1a28 inherit pro_methods_classstdex_1_1base64__enc" id="r_abc6c72530634c3fea8168710ab5b1a28"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>base64_enc</b> () noexcept</td></tr>
<tr class="memdesc:abc6c72530634c3fea8168710ab5b1a28 inherit pro_methods_classstdex_1_1base64__enc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs blank encoding session. <br /></td></tr>
<tr class="separator:abc6c72530634c3fea8168710ab5b1a28 inherit pro_methods_classstdex_1_1base64__enc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f2a19f9afe1fb83200c4f7623d62a80 inherit pro_methods_classstdex_1_1base64__enc" id="r_a3f2a19f9afe1fb83200c4f7623d62a80"><td class="memTemplParams" colspan="2">template&lt;class T , class TR , class AX &gt; </td></tr>
<tr class="memitem:a3f2a19f9afe1fb83200c4f7623d62a80 inherit pro_methods_classstdex_1_1base64__enc"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1base64__enc.html#a3f2a19f9afe1fb83200c4f7623d62a80">encode</a> (std::basic_string&lt; T, TR, AX &gt; &amp;out, const void *data, size_t size, bool is_last=true)</td></tr>
<tr class="memdesc:a3f2a19f9afe1fb83200c4f7623d62a80 inherit pro_methods_classstdex_1_1base64__enc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes one block of information, and <em>appends</em> it to the output. <br /></td></tr>
<tr class="separator:a3f2a19f9afe1fb83200c4f7623d62a80 inherit pro_methods_classstdex_1_1base64__enc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb6a85176589d9ce1f65ce6355592fe7 inherit pro_methods_classstdex_1_1base64__enc" id="r_afb6a85176589d9ce1f65ce6355592fe7"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> () noexcept</td></tr>
<tr class="memdesc:afb6a85176589d9ce1f65ce6355592fe7 inherit pro_methods_classstdex_1_1base64__enc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets encoding session. <br /></td></tr>
<tr class="separator:afb6a85176589d9ce1f65ce6355592fe7 inherit pro_methods_classstdex_1_1base64__enc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbae8f49a0948ea7bb23d0faa8f67f21 inherit pro_methods_classstdex_1_1base64__enc" id="r_afbae8f49a0948ea7bb23d0faa8f67f21"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1base64__enc.html#afbae8f49a0948ea7bb23d0faa8f67f21">enc_size</a> (size_t size) const noexcept</td></tr>
<tr class="memdesc:afbae8f49a0948ea7bb23d0faa8f67f21 inherit pro_methods_classstdex_1_1base64__enc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns maximum encoded size. <br /></td></tr>
<tr class="separator:afbae8f49a0948ea7bb23d0faa8f67f21 inherit pro_methods_classstdex_1_1base64__enc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a49958d8fcf9bd6a8e3b49386a8fc8797" id="r_a49958d8fcf9bd6a8e3b49386a8fc8797"><td class="memItemLeft" align="right" valign="top"><a id="a49958d8fcf9bd6a8e3b49386a8fc8797" name="a49958d8fcf9bd6a8e3b49386a8fc8797"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_max_blocks</b></td></tr>
<tr class="separator:a49958d8fcf9bd6a8e3b49386a8fc8797"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2529c8798fa89be544b12690411e7125" id="r_a2529c8798fa89be544b12690411e7125"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2529c8798fa89be544b12690411e7125">m_num_blocks</a></td></tr>
<tr class="separator:a2529c8798fa89be544b12690411e7125"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classstdex_1_1stream_1_1converter"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classstdex_1_1stream_1_1converter')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classstdex_1_1stream_1_1converter.html">stdex::stream::converter</a></td></tr>
<tr class="memitem:a5d205a3409df3d98dd981d32069c31e4 inherit pro_attribs_classstdex_1_1stream_1_1converter" id="r_a5d205a3409df3d98dd981d32069c31e4"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_source</b></td></tr>
<tr class="separator:a5d205a3409df3d98dd981d32069c31e4 inherit pro_attribs_classstdex_1_1stream_1_1converter"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classstdex_1_1stream_1_1basic"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classstdex_1_1stream_1_1basic')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a></td></tr>
<tr class="memitem:afabd865667f92c3de8ef4ca0197f3615 inherit pro_attribs_classstdex_1_1stream_1_1basic" id="r_afabd865667f92c3de8ef4ca0197f3615"><td class="memItemLeft" align="right" valign="top">
state_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_state</b></td></tr>
<tr class="separator:afabd865667f92c3de8ef4ca0197f3615 inherit pro_attribs_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classstdex_1_1base64__enc"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classstdex_1_1base64__enc')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classstdex_1_1base64__enc.html">stdex::base64_enc</a></td></tr>
<tr class="memitem:a567a2a3aeda13b50e31d48ba32236adf inherit pro_attribs_classstdex_1_1base64__enc" id="r_a567a2a3aeda13b50e31d48ba32236adf"><td class="memItemLeft" align="right" valign="top">
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_buf</b> [3]</td></tr>
<tr class="memdesc:a567a2a3aeda13b50e31d48ba32236adf inherit pro_attribs_classstdex_1_1base64__enc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal buffer. <br /></td></tr>
<tr class="separator:a567a2a3aeda13b50e31d48ba32236adf inherit pro_attribs_classstdex_1_1base64__enc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52f4cc4da6d7d7f4bad7c05a87ecd907 inherit pro_attribs_classstdex_1_1base64__enc" id="r_a52f4cc4da6d7d7f4bad7c05a87ecd907"><td class="memItemLeft" align="right" valign="top">
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_num</b></td></tr>
<tr class="memdesc:a52f4cc4da6d7d7f4bad7c05a87ecd907 inherit pro_attribs_classstdex_1_1base64__enc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of bytes used in <code>m_buf</code> <br /></td></tr>
<tr class="separator:a52f4cc4da6d7d7f4bad7c05a87ecd907 inherit pro_attribs_classstdex_1_1base64__enc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Converts to Base64 when writing to a stream. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aaca6933a48a0266e4e46cc93b03ef410" name="aaca6933a48a0266e4e46cc93b03ef410"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaca6933a48a0266e4e46cc93b03ef410">&#9670;&#160;</a></span>write()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual size_t stdex::base64_writer::write </td>
<td>(</td>
<td class="paramtype">_In_reads_bytes_opt_(length) const void *</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>length</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Writes block of data to the stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Buffer to write data from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Number of bytes to write</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes successfully written. On error, stream state is set to state_t::fail. </dd></dl>
<p>Reimplemented from <a class="el" href="classstdex_1_1stream_1_1converter.html#ae84a5c8d64942dbaa81ed54a181b3d7a">stdex::stream::converter</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a2529c8798fa89be544b12690411e7125" name="a2529c8798fa89be544b12690411e7125"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2529c8798fa89be544b12690411e7125">&#9670;&#160;</a></span>m_num_blocks</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t stdex::base64_writer::m_num_blocks</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<blockquote class="doxtable">
<p>&zwj;Maximum number of Base64 blocks (4 chars) to write without a line break (SIZE_MAX no line breaks) </p>
</blockquote>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="base64_8hpp_source.html">base64.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,113 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1basic__hash.html">basic_hash</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::basic_hash&lt; T &gt; Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#af5e2ff7b83da5a663fa3c9766734b771">clear</a>()=0</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#a00c5ecc12bc29e5381743fa2239a1dc3">data</a>()</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#ab2f4729c60bbb2ce12d5100be26108cf">finalize</a>()=0</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#a198a7f9e606ac26dbd5a345108e5efc9">hash</a>(_In_reads_bytes_opt_(length) const void *data, size_t length)=0</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_value</b> (defined in <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#a7cacac78cdfbf561da8d9f1a5841c5cb">operator const T &amp;</a>() const</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#a9b8b5f91873e5d2cfe93533832318b5a">size</a>()</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~basic_hash</b>() (defined in <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,266 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::basic_hash&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1basic__hash.html">basic_hash</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1basic__hash-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::basic_hash&lt; T &gt; Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">
<p>Basic hashing operations.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="hash_8hpp_source.html">stdex/hash.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::basic_hash&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1basic__hash.png" usemap="#stdex::basic_5Fhash_3C_20T_20_3E_map" alt=""/>
<map id="stdex::basic_5Fhash_3C_20T_20_3E_map" name="stdex::basic_5Fhash_3C_20T_20_3E_map">
<area href="classstdex_1_1block__hash.html" title="Hashing in blocks." alt="stdex::block_hash&lt; T &gt;" shape="rect" coords="0,56,142,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af5e2ff7b83da5a663fa3c9766734b771" id="r_af5e2ff7b83da5a663fa3c9766734b771"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af5e2ff7b83da5a663fa3c9766734b771">clear</a> ()=0</td></tr>
<tr class="memdesc:af5e2ff7b83da5a663fa3c9766734b771"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes hash value and internal state. <br /></td></tr>
<tr class="separator:af5e2ff7b83da5a663fa3c9766734b771"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a198a7f9e606ac26dbd5a345108e5efc9" id="r_a198a7f9e606ac26dbd5a345108e5efc9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a198a7f9e606ac26dbd5a345108e5efc9">hash</a> (_In_reads_bytes_opt_(length) const void *<a class="el" href="#a00c5ecc12bc29e5381743fa2239a1dc3">data</a>, size_t length)=0</td></tr>
<tr class="memdesc:a198a7f9e606ac26dbd5a345108e5efc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hashes block of data. <br /></td></tr>
<tr class="separator:a198a7f9e606ac26dbd5a345108e5efc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2f4729c60bbb2ce12d5100be26108cf" id="r_ab2f4729c60bbb2ce12d5100be26108cf"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab2f4729c60bbb2ce12d5100be26108cf">finalize</a> ()=0</td></tr>
<tr class="memdesc:ab2f4729c60bbb2ce12d5100be26108cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalizes hash value. <br /></td></tr>
<tr class="separator:ab2f4729c60bbb2ce12d5100be26108cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00c5ecc12bc29e5381743fa2239a1dc3" id="r_a00c5ecc12bc29e5381743fa2239a1dc3"><td class="memItemLeft" align="right" valign="top"><a id="a00c5ecc12bc29e5381743fa2239a1dc3" name="a00c5ecc12bc29e5381743fa2239a1dc3"></a>
const T &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>data</b> ()</td></tr>
<tr class="memdesc:a00c5ecc12bc29e5381743fa2239a1dc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns hash value. <br /></td></tr>
<tr class="separator:a00c5ecc12bc29e5381743fa2239a1dc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cacac78cdfbf561da8d9f1a5841c5cb" id="r_a7cacac78cdfbf561da8d9f1a5841c5cb"><td class="memItemLeft" align="right" valign="top"><a id="a7cacac78cdfbf561da8d9f1a5841c5cb" name="a7cacac78cdfbf561da8d9f1a5841c5cb"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>operator const T &amp;</b> () const</td></tr>
<tr class="memdesc:a7cacac78cdfbf561da8d9f1a5841c5cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns hash value. <br /></td></tr>
<tr class="separator:a7cacac78cdfbf561da8d9f1a5841c5cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a9b8b5f91873e5d2cfe93533832318b5a" id="r_a9b8b5f91873e5d2cfe93533832318b5a"><td class="memItemLeft" align="right" valign="top"><a id="a9b8b5f91873e5d2cfe93533832318b5a" name="a9b8b5f91873e5d2cfe93533832318b5a"></a>
static size_t&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> ()</td></tr>
<tr class="memdesc:a9b8b5f91873e5d2cfe93533832318b5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns size of the hash value in bytes. <br /></td></tr>
<tr class="separator:a9b8b5f91873e5d2cfe93533832318b5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:abc45b9744ef54b261e16d795479fd0ec" id="r_abc45b9744ef54b261e16d795479fd0ec"><td class="memItemLeft" align="right" valign="top"><a id="abc45b9744ef54b261e16d795479fd0ec" name="abc45b9744ef54b261e16d795479fd0ec"></a>
T&#160;</td><td class="memItemRight" valign="bottom"><b>m_value</b></td></tr>
<tr class="separator:abc45b9744ef54b261e16d795479fd0ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;class T&gt;<br />
class stdex::basic_hash&lt; T &gt;</div><p>Basic hashing operations. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="af5e2ff7b83da5a663fa3c9766734b771" name="af5e2ff7b83da5a663fa3c9766734b771"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5e2ff7b83da5a663fa3c9766734b771">&#9670;&#160;</a></span>clear()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash</a>&lt; T &gt;::clear </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes hash value and internal state. </p>
<p>Implemented in <a class="el" href="classstdex_1_1block__hash.html#a8750f9c24cd22bd879dc638256534aec">stdex::block_hash&lt; T &gt;</a>, <a class="el" href="classstdex_1_1block__hash.html#a8750f9c24cd22bd879dc638256534aec">stdex::block_hash&lt; md5_t &gt;</a>, <a class="el" href="classstdex_1_1block__hash.html#a8750f9c24cd22bd879dc638256534aec">stdex::block_hash&lt; sha1_t &gt;</a>, <a class="el" href="classstdex_1_1crc32__hash.html#addf745566fe5a1ba3f947a70603ea235">stdex::crc32_hash</a>, <a class="el" href="classstdex_1_1md5__hash.html#a0952042043c10e184d9ee8a79421cc0f">stdex::md5_hash</a>, and <a class="el" href="classstdex_1_1sha1__hash.html#a36f38887f8e90f88df0a420f0011b9b3">stdex::sha1_hash</a>.</p>
</div>
</div>
<a id="ab2f4729c60bbb2ce12d5100be26108cf" name="ab2f4729c60bbb2ce12d5100be26108cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2f4729c60bbb2ce12d5100be26108cf">&#9670;&#160;</a></span>finalize()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash</a>&lt; T &gt;::finalize </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Finalizes hash value. </p>
<p>Implemented in <a class="el" href="classstdex_1_1crc32__hash.html#a04aeb2009f5e615481752757b9ec0731">stdex::crc32_hash</a>, <a class="el" href="classstdex_1_1md5__hash.html#ab72e50dfa280696db29143b063fccbcb">stdex::md5_hash</a>, and <a class="el" href="classstdex_1_1sha1__hash.html#aaf5f58e8b62d19d1fcc80b4f73f9ca8d">stdex::sha1_hash</a>.</p>
</div>
</div>
<a id="a198a7f9e606ac26dbd5a345108e5efc9" name="a198a7f9e606ac26dbd5a345108e5efc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a198a7f9e606ac26dbd5a345108e5efc9">&#9670;&#160;</a></span>hash()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash</a>&lt; T &gt;::hash </td>
<td>(</td>
<td class="paramtype">_In_reads_bytes_opt_(length) const void *</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>length</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Hashes block of data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Pointer to data </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Amount of data in bytes </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classstdex_1_1block__hash.html#a463399ef0ec15ec0be0040ffa16afbbb">stdex::block_hash&lt; T &gt;</a>, <a class="el" href="classstdex_1_1block__hash.html#a463399ef0ec15ec0be0040ffa16afbbb">stdex::block_hash&lt; md5_t &gt;</a>, <a class="el" href="classstdex_1_1block__hash.html#a463399ef0ec15ec0be0040ffa16afbbb">stdex::block_hash&lt; sha1_t &gt;</a>, and <a class="el" href="classstdex_1_1crc32__hash.html#a682468b5c1e7fe3405e960c7d85daa8c">stdex::crc32_hash</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="hash_8hpp_source.html">hash.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

View File

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1basic__sys__object.html">basic_sys_object</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::basic_sys_object&lt; T, TR &gt; Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic_sys_object</b>(T h=TR::invalid_handle) (defined in <a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>basic_sys_object</b>(const basic_sys_object&lt; T, TR &gt; &amp;other) (defined in <a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic_sys_object</b>(basic_sys_object&lt; T, TR &gt; &amp;&amp;other) noexcept (defined in <a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html#a09e44076695b4134e877c3e6f1f29844">close</a>()</td><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html#acc3efba439fefd090e2926be86236453">get</a>() const noexcept</td><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_h</b> (defined in <a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html#a88e048c0a2cc8221818e8761f7905018">operator bool</a>() const noexcept</td><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator=</b>(const basic_sys_object&lt; T, TR &gt; &amp;other) (defined in <a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(basic_sys_object&lt; T, TR &gt; &amp;&amp;other) noexcept (defined in <a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~basic_sys_object</b>() noexcept(false) (defined in <a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object&lt; T, TR &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,195 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::basic_sys_object&lt; T, TR &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1basic__sys__object.html">basic_sys_object</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1basic__sys__object-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::basic_sys_object&lt; T, TR &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Operating system object base class.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="system_8hpp_source.html">stdex/system.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::basic_sys_object&lt; T, TR &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1basic__sys__object.png" usemap="#stdex::basic_5Fsys_5Fobject_3C_20T_2C_20TR_20_3E_map" alt=""/>
<map id="stdex::basic_5Fsys_5Fobject_3C_20T_2C_20TR_20_3E_map" name="stdex::basic_5Fsys_5Fobject_3C_20T_2C_20TR_20_3E_map">
<area href="classstdex_1_1stream_1_1basic__sys.html" title="OS data stream (file, pipe, socket...)" alt="stdex::stream::basic_sys" shape="rect" coords="0,56,199,80"/>
<area href="classstdex_1_1stream_1_1file.html" title="File-system file." alt="stdex::stream::file" shape="rect" coords="0,112,199,136"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a75094a060f53be5b399922bfd5171f43" id="r_a75094a060f53be5b399922bfd5171f43"><td class="memItemLeft" align="right" valign="top"><a id="a75094a060f53be5b399922bfd5171f43" name="a75094a060f53be5b399922bfd5171f43"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>basic_sys_object</b> (T h=TR::invalid_handle)</td></tr>
<tr class="separator:a75094a060f53be5b399922bfd5171f43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a159ba70af60396569fb2837128eeab98" id="r_a159ba70af60396569fb2837128eeab98"><td class="memItemLeft" align="right" valign="top"><a id="a159ba70af60396569fb2837128eeab98" name="a159ba70af60396569fb2837128eeab98"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>basic_sys_object</b> (const <a class="el" href="classstdex_1_1basic__sys__object.html">basic_sys_object</a>&lt; T, TR &gt; &amp;other)</td></tr>
<tr class="separator:a159ba70af60396569fb2837128eeab98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d2e0813abb0360c436754b9d2d4e4ea" id="r_a4d2e0813abb0360c436754b9d2d4e4ea"><td class="memItemLeft" align="right" valign="top"><a id="a4d2e0813abb0360c436754b9d2d4e4ea" name="a4d2e0813abb0360c436754b9d2d4e4ea"></a>
<a class="el" href="classstdex_1_1basic__sys__object.html">basic_sys_object</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classstdex_1_1basic__sys__object.html">basic_sys_object</a>&lt; T, TR &gt; &amp;other)</td></tr>
<tr class="separator:a4d2e0813abb0360c436754b9d2d4e4ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc7871f1a0ee93f76f8936a842653635" id="r_adc7871f1a0ee93f76f8936a842653635"><td class="memItemLeft" align="right" valign="top"><a id="adc7871f1a0ee93f76f8936a842653635" name="adc7871f1a0ee93f76f8936a842653635"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>basic_sys_object</b> (<a class="el" href="classstdex_1_1basic__sys__object.html">basic_sys_object</a>&lt; T, TR &gt; &amp;&amp;other) noexcept</td></tr>
<tr class="separator:adc7871f1a0ee93f76f8936a842653635"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e4b0c70abe440d0a1f11a6b6d5a61ac" id="r_a5e4b0c70abe440d0a1f11a6b6d5a61ac"><td class="memItemLeft" align="right" valign="top"><a id="a5e4b0c70abe440d0a1f11a6b6d5a61ac" name="a5e4b0c70abe440d0a1f11a6b6d5a61ac"></a>
<a class="el" href="classstdex_1_1basic__sys__object.html">basic_sys_object</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classstdex_1_1basic__sys__object.html">basic_sys_object</a>&lt; T, TR &gt; &amp;&amp;other) noexcept</td></tr>
<tr class="separator:a5e4b0c70abe440d0a1f11a6b6d5a61ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09e44076695b4134e877c3e6f1f29844" id="r_a09e44076695b4134e877c3e6f1f29844"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a09e44076695b4134e877c3e6f1f29844">close</a> ()</td></tr>
<tr class="memdesc:a09e44076695b4134e877c3e6f1f29844"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes object. <br /></td></tr>
<tr class="separator:a09e44076695b4134e877c3e6f1f29844"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88e048c0a2cc8221818e8761f7905018" id="r_a88e048c0a2cc8221818e8761f7905018"><td class="memItemLeft" align="right" valign="top"><a id="a88e048c0a2cc8221818e8761f7905018" name="a88e048c0a2cc8221818e8761f7905018"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>operator bool</b> () const noexcept</td></tr>
<tr class="memdesc:a88e048c0a2cc8221818e8761f7905018"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if object has a valid handle. <br /></td></tr>
<tr class="separator:a88e048c0a2cc8221818e8761f7905018"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc3efba439fefd090e2926be86236453" id="r_acc3efba439fefd090e2926be86236453"><td class="memItemLeft" align="right" valign="top"><a id="acc3efba439fefd090e2926be86236453" name="acc3efba439fefd090e2926be86236453"></a>
T&#160;</td><td class="memItemRight" valign="bottom"><b>get</b> () const noexcept</td></tr>
<tr class="memdesc:acc3efba439fefd090e2926be86236453"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns object handle. <br /></td></tr>
<tr class="separator:acc3efba439fefd090e2926be86236453"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:adb819c5c60f3ab8d0dc90e8f97508066" id="r_adb819c5c60f3ab8d0dc90e8f97508066"><td class="memItemLeft" align="right" valign="top"><a id="adb819c5c60f3ab8d0dc90e8f97508066" name="adb819c5c60f3ab8d0dc90e8f97508066"></a>
T&#160;</td><td class="memItemRight" valign="bottom"><b>m_h</b></td></tr>
<tr class="separator:adb819c5c60f3ab8d0dc90e8f97508066"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;class T = sys_handle, class TR = sys_object_traits&gt;<br />
class stdex::basic_sys_object&lt; T, TR &gt;</div><p>Operating system object base class. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a09e44076695b4134e877c3e6f1f29844" name="a09e44076695b4134e877c3e6f1f29844"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09e44076695b4134e877c3e6f1f29844">&#9670;&#160;</a></span>close()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T = sys_handle, class TR = sys_object_traits&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object</a>&lt; T, TR &gt;::close </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Closes object. </p>
<p>Reimplemented in <a class="el" href="classstdex_1_1stream_1_1basic__sys.html#aee56fbeb8b576a4337cb205ae865fafc">stdex::stream::basic_sys</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="system_8hpp_source.html">system.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,109 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1benchmark.html">benchmark</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::benchmark Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1benchmark.html">stdex::benchmark</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1benchmark.html#a004f16b1c20325b8fbb578f250c406c4">benchmark</a>(const char *task_name)</td><td class="entry"><a class="el" href="classstdex_1_1benchmark.html">stdex::benchmark</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_start</b> (defined in <a class="el" href="classstdex_1_1benchmark.html">stdex::benchmark</a>)</td><td class="entry"><a class="el" href="classstdex_1_1benchmark.html">stdex::benchmark</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_task_name</b> (defined in <a class="el" href="classstdex_1_1benchmark.html">stdex::benchmark</a>)</td><td class="entry"><a class="el" href="classstdex_1_1benchmark.html">stdex::benchmark</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1benchmark.html#ad84dd386789e370b4a8113d7bc39f663">~benchmark</a>()</td><td class="entry"><a class="el" href="classstdex_1_1benchmark.html">stdex::benchmark</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,170 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::benchmark Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1benchmark.html">benchmark</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1benchmark-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::benchmark Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Measures time between initialization and going out of scope.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="debug_8hpp_source.html">stdex/debug.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a004f16b1c20325b8fbb578f250c406c4" id="r_a004f16b1c20325b8fbb578f250c406c4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a004f16b1c20325b8fbb578f250c406c4">benchmark</a> (const char *task_name)</td></tr>
<tr class="memdesc:a004f16b1c20325b8fbb578f250c406c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the measurement. <br /></td></tr>
<tr class="separator:a004f16b1c20325b8fbb578f250c406c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad84dd386789e370b4a8113d7bc39f663" id="r_ad84dd386789e370b4a8113d7bc39f663"><td class="memItemLeft" align="right" valign="top"><a id="ad84dd386789e370b4a8113d7bc39f663" name="ad84dd386789e370b4a8113d7bc39f663"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>~benchmark</b> ()</td></tr>
<tr class="memdesc:ad84dd386789e370b4a8113d7bc39f663"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops the measurement and outputs the result to the diagnostic console. <br /></td></tr>
<tr class="separator:ad84dd386789e370b4a8113d7bc39f663"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a549e0186c4750f65e27a993fa373482e" id="r_a549e0186c4750f65e27a993fa373482e"><td class="memItemLeft" align="right" valign="top"><a id="a549e0186c4750f65e27a993fa373482e" name="a549e0186c4750f65e27a993fa373482e"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>m_task_name</b></td></tr>
<tr class="separator:a549e0186c4750f65e27a993fa373482e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75fe38445fa41c71f47c0676eae7494c" id="r_a75fe38445fa41c71f47c0676eae7494c"><td class="memItemLeft" align="right" valign="top"><a id="a75fe38445fa41c71f47c0676eae7494c" name="a75fe38445fa41c71f47c0676eae7494c"></a>
std::chrono::time_point&lt; std::chrono::high_resolution_clock &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_start</b></td></tr>
<tr class="separator:a75fe38445fa41c71f47c0676eae7494c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Measures time between initialization and going out of scope. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a004f16b1c20325b8fbb578f250c406c4" name="a004f16b1c20325b8fbb578f250c406c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a004f16b1c20325b8fbb578f250c406c4">&#9670;&#160;</a></span>benchmark()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">stdex::benchmark::benchmark </td>
<td>(</td>
<td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>task_name</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Starts the measurement. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">task_name</td><td>Name of the task. The string must remain resident for the lifetime of this object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="debug_8hpp_source.html">debug.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,117 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1block__hash.html">block_hash</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::block_hash&lt; T &gt; Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash&lt; T &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1block__hash.html#a8750f9c24cd22bd879dc638256534aec">clear</a>()</td><td class="entry"><a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#a00c5ecc12bc29e5381743fa2239a1dc3">data</a>()</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#ab2f4729c60bbb2ce12d5100be26108cf">finalize</a>()=0</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1block__hash.html#a463399ef0ec15ec0be0040ffa16afbbb">hash</a>(_In_reads_bytes_opt_(length) const void *data, size_t length)</td><td class="entry"><a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hash_block</b>()=0 (defined in <a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_counter</b> (defined in <a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_queue</b> (defined in <a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash&lt; T &gt;</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_temp</b> (defined in <a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash&lt; T &gt;</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_value</b> (defined in <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#a7cacac78cdfbf561da8d9f1a5841c5cb">operator const T &amp;</a>() const</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#a9b8b5f91873e5d2cfe93533832318b5a">size</a>()</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~basic_hash</b>() (defined in <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,260 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::block_hash&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1block__hash.html">block_hash</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1block__hash-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::block_hash&lt; T &gt; Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">
<p>Hashing in blocks.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="hash_8hpp_source.html">stdex/hash.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::block_hash&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1block__hash.png" usemap="#stdex::block_5Fhash_3C_20T_20_3E_map" alt=""/>
<map id="stdex::block_5Fhash_3C_20T_20_3E_map" name="stdex::block_5Fhash_3C_20T_20_3E_map">
<area href="classstdex_1_1basic__hash.html" title="Basic hashing operations." alt="stdex::basic_hash&lt; T &gt;" shape="rect" coords="0,0,142,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8750f9c24cd22bd879dc638256534aec" id="r_a8750f9c24cd22bd879dc638256534aec"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8750f9c24cd22bd879dc638256534aec">clear</a> ()</td></tr>
<tr class="memdesc:a8750f9c24cd22bd879dc638256534aec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes hash value and internal state. <br /></td></tr>
<tr class="separator:a8750f9c24cd22bd879dc638256534aec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a463399ef0ec15ec0be0040ffa16afbbb" id="r_a463399ef0ec15ec0be0040ffa16afbbb"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a463399ef0ec15ec0be0040ffa16afbbb">hash</a> (_In_reads_bytes_opt_(length) const void *<a class="el" href="classstdex_1_1basic__hash.html#a00c5ecc12bc29e5381743fa2239a1dc3">data</a>, size_t length)</td></tr>
<tr class="memdesc:a463399ef0ec15ec0be0040ffa16afbbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hashes block of data. <br /></td></tr>
<tr class="separator:a463399ef0ec15ec0be0040ffa16afbbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classstdex_1_1basic__hash"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classstdex_1_1basic__hash')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td></tr>
<tr class="memitem:ab2f4729c60bbb2ce12d5100be26108cf inherit pub_methods_classstdex_1_1basic__hash" id="r_ab2f4729c60bbb2ce12d5100be26108cf"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1basic__hash.html#ab2f4729c60bbb2ce12d5100be26108cf">finalize</a> ()=0</td></tr>
<tr class="memdesc:ab2f4729c60bbb2ce12d5100be26108cf inherit pub_methods_classstdex_1_1basic__hash"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalizes hash value. <br /></td></tr>
<tr class="separator:ab2f4729c60bbb2ce12d5100be26108cf inherit pub_methods_classstdex_1_1basic__hash"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00c5ecc12bc29e5381743fa2239a1dc3 inherit pub_methods_classstdex_1_1basic__hash" id="r_a00c5ecc12bc29e5381743fa2239a1dc3"><td class="memItemLeft" align="right" valign="top">
const T &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>data</b> ()</td></tr>
<tr class="memdesc:a00c5ecc12bc29e5381743fa2239a1dc3 inherit pub_methods_classstdex_1_1basic__hash"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns hash value. <br /></td></tr>
<tr class="separator:a00c5ecc12bc29e5381743fa2239a1dc3 inherit pub_methods_classstdex_1_1basic__hash"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cacac78cdfbf561da8d9f1a5841c5cb inherit pub_methods_classstdex_1_1basic__hash" id="r_a7cacac78cdfbf561da8d9f1a5841c5cb"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>operator const T &amp;</b> () const</td></tr>
<tr class="memdesc:a7cacac78cdfbf561da8d9f1a5841c5cb inherit pub_methods_classstdex_1_1basic__hash"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns hash value. <br /></td></tr>
<tr class="separator:a7cacac78cdfbf561da8d9f1a5841c5cb inherit pub_methods_classstdex_1_1basic__hash"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a08d2c8251a332fc1b93d3eff34c745d7" id="r_a08d2c8251a332fc1b93d3eff34c745d7"><td class="memItemLeft" align="right" valign="top"><a id="a08d2c8251a332fc1b93d3eff34c745d7" name="a08d2c8251a332fc1b93d3eff34c745d7"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>hash_block</b> ()=0</td></tr>
<tr class="separator:a08d2c8251a332fc1b93d3eff34c745d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a1a80ef9a9f9eb775615b555563caafbf" id="r_a1a80ef9a9f9eb775615b555563caafbf"><td class="memItemLeft" align="right" valign="top"><a id="a1a80ef9a9f9eb775615b555563caafbf" name="a1a80ef9a9f9eb775615b555563caafbf"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_counter</b> [2]</td></tr>
<tr class="separator:a1a80ef9a9f9eb775615b555563caafbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0f0ca8b14f44c4b8d630aa62d472e14" id="r_ab0f0ca8b14f44c4b8d630aa62d472e14"><td class="memItemLeft" ><a id="ab0f0ca8b14f44c4b8d630aa62d472e14" name="ab0f0ca8b14f44c4b8d630aa62d472e14"></a>
union {&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbbb72ed2113f4a319e1788d7576000f" id="r_acbbb72ed2113f4a319e1788d7576000f"><td class="memItemLeft" >
&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>m_queue</b> [64]&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="separator:acbbb72ed2113f4a319e1788d7576000f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e498c8339ace515126003d2af958a80" id="r_a3e498c8339ace515126003d2af958a80"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>m_temp</b> [16]&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="separator:a3e498c8339ace515126003d2af958a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0f0ca8b14f44c4b8d630aa62d472e14" id="r_ab0f0ca8b14f44c4b8d630aa62d472e14"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom">&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="separator:ab0f0ca8b14f44c4b8d630aa62d472e14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classstdex_1_1basic__hash"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classstdex_1_1basic__hash')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td></tr>
<tr class="memitem:abc45b9744ef54b261e16d795479fd0ec inherit pro_attribs_classstdex_1_1basic__hash" id="r_abc45b9744ef54b261e16d795479fd0ec"><td class="memItemLeft" align="right" valign="top">
T&#160;</td><td class="memItemRight" valign="bottom"><b>m_value</b></td></tr>
<tr class="separator:abc45b9744ef54b261e16d795479fd0ec inherit pro_attribs_classstdex_1_1basic__hash"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classstdex_1_1basic__hash"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_static_methods_classstdex_1_1basic__hash')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; T &gt;</a></td></tr>
<tr class="memitem:a9b8b5f91873e5d2cfe93533832318b5a inherit pub_static_methods_classstdex_1_1basic__hash" id="r_a9b8b5f91873e5d2cfe93533832318b5a"><td class="memItemLeft" align="right" valign="top">
static size_t&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> ()</td></tr>
<tr class="memdesc:a9b8b5f91873e5d2cfe93533832318b5a inherit pub_static_methods_classstdex_1_1basic__hash"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns size of the hash value in bytes. <br /></td></tr>
<tr class="separator:a9b8b5f91873e5d2cfe93533832318b5a inherit pub_static_methods_classstdex_1_1basic__hash"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;class T&gt;<br />
class stdex::block_hash&lt; T &gt;</div><p>Hashing in blocks. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a8750f9c24cd22bd879dc638256534aec" name="a8750f9c24cd22bd879dc638256534aec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8750f9c24cd22bd879dc638256534aec">&#9670;&#160;</a></span>clear()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash</a>&lt; T &gt;::clear </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes hash value and internal state. </p>
<p>Implements <a class="el" href="classstdex_1_1basic__hash.html#af5e2ff7b83da5a663fa3c9766734b771">stdex::basic_hash&lt; T &gt;</a>.</p>
<p>Reimplemented in <a class="el" href="classstdex_1_1md5__hash.html#a0952042043c10e184d9ee8a79421cc0f">stdex::md5_hash</a>, and <a class="el" href="classstdex_1_1sha1__hash.html#a36f38887f8e90f88df0a420f0011b9b3">stdex::sha1_hash</a>.</p>
</div>
</div>
<a id="a463399ef0ec15ec0be0040ffa16afbbb" name="a463399ef0ec15ec0be0040ffa16afbbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a463399ef0ec15ec0be0040ffa16afbbb">&#9670;&#160;</a></span>hash()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1block__hash.html">stdex::block_hash</a>&lt; T &gt;::hash </td>
<td>(</td>
<td class="paramtype">_In_reads_bytes_opt_(length) const void *</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>length</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Hashes block of data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Pointer to data </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Amount of data in bytes </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classstdex_1_1basic__hash.html#a198a7f9e606ac26dbd5a345108e5efc9">stdex::basic_hash&lt; T &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="hash_8hpp_source.html">hash.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

View File

@ -0,0 +1,124 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1charset__encoder.html">charset_encoder</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::charset_encoder&lt; T_from, T_to &gt; Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>charset_encoder</b>(charset_id from, charset_id to) (defined in <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>clear</b>() (defined in <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html#acf89b5fd8a42786a2f94edcff24364c6">convert</a>(_In_reads_or_z_opt_(count_src) const T_from *src, size_t count_src)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html#a80f781d783dde0261fe272e193a3d03a">convert</a>(const T_from *src)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html#ab8fc27f43dceed7530ae9ee05c2b2ebc">convert</a>(const std::basic_string_view&lt; T_from, std::char_traits&lt; T_from &gt; &gt; src)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>from_encoding</b>() const (defined in <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_from</b> (defined in <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_handle</b> (defined in <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_to</b> (defined in <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html#a19c0243f3831a20f80f6d8dd616a4537">strcat</a>(std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;dst, _In_reads_or_z_opt_(count_src) const T_from *src, size_t count_src)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html#a5c70488ff34e8770684fe6b451eca169">strcat</a>(std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;dst, const T_from *src)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html#a1e70c3268f878f5c3896c18a7950103d">strcat</a>(std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;dst, const std::basic_string_view&lt; T_from, std::char_traits&lt; T_from &gt; &gt; src)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html#a7dea211fc0eac2bb1d3fc09f05e128a5">strcpy</a>(std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;dst, _In_reads_or_z_opt_(count_src) const T_from *src, size_t count_src)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html#a3fee8c32b4a1a82826bdb5677d2008ed">strcpy</a>(std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;dst, const T_from *src)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html#ab4ad655bc166194f48cad397669f4f46">strcpy</a>(std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;dst, const std::basic_string_view&lt; T_from, std::char_traits&lt; T_from &gt; &gt; src)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>system_charset</b>() (defined in <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>to_encoding</b>() const (defined in <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>to_encoding</b>(charset_id charset) (defined in <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~charset_encoder</b>() (defined in <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder&lt; T_from, T_to &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,576 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::charset_encoder&lt; T_from, T_to &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1charset__encoder.html">charset_encoder</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1charset__encoder-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::charset_encoder&lt; T_from, T_to &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Encoding converter context.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="unicode_8hpp_source.html">stdex/unicode.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2d2352d872c02d96ce6ab3adc1bdd011" id="r_a2d2352d872c02d96ce6ab3adc1bdd011"><td class="memItemLeft" align="right" valign="top"><a id="a2d2352d872c02d96ce6ab3adc1bdd011" name="a2d2352d872c02d96ce6ab3adc1bdd011"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>charset_encoder</b> (charset_id from, charset_id to)</td></tr>
<tr class="separator:a2d2352d872c02d96ce6ab3adc1bdd011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab520e41fd0cb5abeace73219a37683f6" id="r_ab520e41fd0cb5abeace73219a37683f6"><td class="memItemLeft" align="right" valign="top"><a id="ab520e41fd0cb5abeace73219a37683f6" name="ab520e41fd0cb5abeace73219a37683f6"></a>
charset_id&#160;</td><td class="memItemRight" valign="bottom"><b>from_encoding</b> () const</td></tr>
<tr class="separator:ab520e41fd0cb5abeace73219a37683f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcc25821db1b707a9048448baea1bb57" id="r_adcc25821db1b707a9048448baea1bb57"><td class="memItemLeft" align="right" valign="top"><a id="adcc25821db1b707a9048448baea1bb57" name="adcc25821db1b707a9048448baea1bb57"></a>
charset_id&#160;</td><td class="memItemRight" valign="bottom"><b>to_encoding</b> () const</td></tr>
<tr class="separator:adcc25821db1b707a9048448baea1bb57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19c0243f3831a20f80f6d8dd616a4537" id="r_a19c0243f3831a20f80f6d8dd616a4537"><td class="memTemplParams" colspan="2">template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:a19c0243f3831a20f80f6d8dd616a4537"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a19c0243f3831a20f80f6d8dd616a4537">strcat</a> (std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;dst, _In_reads_or_z_opt_(count_src) const T_from *src, size_t count_src)</td></tr>
<tr class="memdesc:a19c0243f3831a20f80f6d8dd616a4537"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert string and append to string. <br /></td></tr>
<tr class="separator:a19c0243f3831a20f80f6d8dd616a4537"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c70488ff34e8770684fe6b451eca169" id="r_a5c70488ff34e8770684fe6b451eca169"><td class="memTemplParams" colspan="2">template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:a5c70488ff34e8770684fe6b451eca169"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a5c70488ff34e8770684fe6b451eca169">strcat</a> (std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;dst, const T_from *src)</td></tr>
<tr class="memdesc:a5c70488ff34e8770684fe6b451eca169"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert string and append to string. <br /></td></tr>
<tr class="separator:a5c70488ff34e8770684fe6b451eca169"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e70c3268f878f5c3896c18a7950103d" id="r_a1e70c3268f878f5c3896c18a7950103d"><td class="memTemplParams" colspan="2">template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:a1e70c3268f878f5c3896c18a7950103d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a1e70c3268f878f5c3896c18a7950103d">strcat</a> (std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;dst, const std::basic_string_view&lt; T_from, std::char_traits&lt; T_from &gt; &gt; src)</td></tr>
<tr class="memdesc:a1e70c3268f878f5c3896c18a7950103d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert string and append to string. <br /></td></tr>
<tr class="separator:a1e70c3268f878f5c3896c18a7950103d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dea211fc0eac2bb1d3fc09f05e128a5" id="r_a7dea211fc0eac2bb1d3fc09f05e128a5"><td class="memTemplParams" colspan="2">template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:a7dea211fc0eac2bb1d3fc09f05e128a5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a7dea211fc0eac2bb1d3fc09f05e128a5">strcpy</a> (std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;dst, _In_reads_or_z_opt_(count_src) const T_from *src, size_t count_src)</td></tr>
<tr class="memdesc:a7dea211fc0eac2bb1d3fc09f05e128a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert string. <br /></td></tr>
<tr class="separator:a7dea211fc0eac2bb1d3fc09f05e128a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fee8c32b4a1a82826bdb5677d2008ed" id="r_a3fee8c32b4a1a82826bdb5677d2008ed"><td class="memTemplParams" colspan="2">template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:a3fee8c32b4a1a82826bdb5677d2008ed"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a3fee8c32b4a1a82826bdb5677d2008ed">strcpy</a> (std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;dst, const T_from *src)</td></tr>
<tr class="memdesc:a3fee8c32b4a1a82826bdb5677d2008ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert string. <br /></td></tr>
<tr class="separator:a3fee8c32b4a1a82826bdb5677d2008ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4ad655bc166194f48cad397669f4f46" id="r_ab4ad655bc166194f48cad397669f4f46"><td class="memTemplParams" colspan="2">template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:ab4ad655bc166194f48cad397669f4f46"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#ab4ad655bc166194f48cad397669f4f46">strcpy</a> (std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;dst, const std::basic_string_view&lt; T_from, std::char_traits&lt; T_from &gt; &gt; src)</td></tr>
<tr class="memdesc:ab4ad655bc166194f48cad397669f4f46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert string. <br /></td></tr>
<tr class="separator:ab4ad655bc166194f48cad397669f4f46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf89b5fd8a42786a2f94edcff24364c6" id="r_acf89b5fd8a42786a2f94edcff24364c6"><td class="memTemplParams" colspan="2">template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:acf89b5fd8a42786a2f94edcff24364c6"><td class="memTemplItemLeft" align="right" valign="top">std::basic_string&lt; T_to, TR_to, AX_to &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#acf89b5fd8a42786a2f94edcff24364c6">convert</a> (_In_reads_or_z_opt_(count_src) const T_from *src, size_t count_src)</td></tr>
<tr class="memdesc:acf89b5fd8a42786a2f94edcff24364c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return converted string. <br /></td></tr>
<tr class="separator:acf89b5fd8a42786a2f94edcff24364c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80f781d783dde0261fe272e193a3d03a" id="r_a80f781d783dde0261fe272e193a3d03a"><td class="memTemplParams" colspan="2">template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:a80f781d783dde0261fe272e193a3d03a"><td class="memTemplItemLeft" align="right" valign="top">std::basic_string&lt; T_to, TR_to, AX_to &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a80f781d783dde0261fe272e193a3d03a">convert</a> (const T_from *src)</td></tr>
<tr class="memdesc:a80f781d783dde0261fe272e193a3d03a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return converted string. <br /></td></tr>
<tr class="separator:a80f781d783dde0261fe272e193a3d03a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8fc27f43dceed7530ae9ee05c2b2ebc" id="r_ab8fc27f43dceed7530ae9ee05c2b2ebc"><td class="memTemplParams" colspan="2">template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </td></tr>
<tr class="memitem:ab8fc27f43dceed7530ae9ee05c2b2ebc"><td class="memTemplItemLeft" align="right" valign="top">std::basic_string&lt; T_to, TR_to, AX_to &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#ab8fc27f43dceed7530ae9ee05c2b2ebc">convert</a> (const std::basic_string_view&lt; T_from, std::char_traits&lt; T_from &gt; &gt; src)</td></tr>
<tr class="memdesc:ab8fc27f43dceed7530ae9ee05c2b2ebc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return converted string. <br /></td></tr>
<tr class="separator:ab8fc27f43dceed7530ae9ee05c2b2ebc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72fdd4203641572777f47400e5e066c1" id="r_a72fdd4203641572777f47400e5e066c1"><td class="memItemLeft" align="right" valign="top"><a id="a72fdd4203641572777f47400e5e066c1" name="a72fdd4203641572777f47400e5e066c1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
<tr class="separator:a72fdd4203641572777f47400e5e066c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:aaef9f22ae64d24eb6354187bfb6a9fd3" id="r_aaef9f22ae64d24eb6354187bfb6a9fd3"><td class="memItemLeft" align="right" valign="top"><a id="aaef9f22ae64d24eb6354187bfb6a9fd3" name="aaef9f22ae64d24eb6354187bfb6a9fd3"></a>
static charset_id&#160;</td><td class="memItemRight" valign="bottom"><b>system_charset</b> ()</td></tr>
<tr class="separator:aaef9f22ae64d24eb6354187bfb6a9fd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-methods" name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:a449d5f3a8d2a8fd0ce9abe1d834542d5" id="r_a449d5f3a8d2a8fd0ce9abe1d834542d5"><td class="memItemLeft" align="right" valign="top"><a id="a449d5f3a8d2a8fd0ce9abe1d834542d5" name="a449d5f3a8d2a8fd0ce9abe1d834542d5"></a>
static const char *&#160;</td><td class="memItemRight" valign="bottom"><b>to_encoding</b> (charset_id charset)</td></tr>
<tr class="separator:a449d5f3a8d2a8fd0ce9abe1d834542d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a4422edbe45d21b9055d104bdc6537cb4" id="r_a4422edbe45d21b9055d104bdc6537cb4"><td class="memItemLeft" align="right" valign="top"><a id="a4422edbe45d21b9055d104bdc6537cb4" name="a4422edbe45d21b9055d104bdc6537cb4"></a>
charset_id&#160;</td><td class="memItemRight" valign="bottom"><b>m_from</b></td></tr>
<tr class="separator:a4422edbe45d21b9055d104bdc6537cb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06e8d3b65f7604cef96ba8846837b288" id="r_a06e8d3b65f7604cef96ba8846837b288"><td class="memItemLeft" align="right" valign="top"><a id="a06e8d3b65f7604cef96ba8846837b288" name="a06e8d3b65f7604cef96ba8846837b288"></a>
charset_id&#160;</td><td class="memItemRight" valign="bottom"><b>m_to</b></td></tr>
<tr class="separator:a06e8d3b65f7604cef96ba8846837b288"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03689f4cdf50cdf783920f76ef5392ed" id="r_a03689f4cdf50cdf783920f76ef5392ed"><td class="memItemLeft" align="right" valign="top"><a id="a03689f4cdf50cdf783920f76ef5392ed" name="a03689f4cdf50cdf783920f76ef5392ed"></a>
iconv_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_handle</b></td></tr>
<tr class="separator:a03689f4cdf50cdf783920f76ef5392ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;typename T_from, typename T_to&gt;<br />
class stdex::charset_encoder&lt; T_from, T_to &gt;</div><p>Encoding converter context. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="acf89b5fd8a42786a2f94edcff24364c6" name="acf89b5fd8a42786a2f94edcff24364c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf89b5fd8a42786a2f94edcff24364c6">&#9670;&#160;</a></span>convert() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_from , typename T_to &gt; </div>
<div class="memtemplate">
template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::basic_string&lt; T_to, TR_to, AX_to &gt; <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder</a>&lt; T_from, T_to &gt;::convert </td>
<td>(</td>
<td class="paramtype">_In_reads_or_z_opt_(count_src) const T_from *</td> <td class="paramname"><span class="paramname"><em>src</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>count_src</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return converted string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>String to convert </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">count_src</td><td>String to convert code unit limit </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab8fc27f43dceed7530ae9ee05c2b2ebc" name="ab8fc27f43dceed7530ae9ee05c2b2ebc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8fc27f43dceed7530ae9ee05c2b2ebc">&#9670;&#160;</a></span>convert() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_from , typename T_to &gt; </div>
<div class="memtemplate">
template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::basic_string&lt; T_to, TR_to, AX_to &gt; <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder</a>&lt; T_from, T_to &gt;::convert </td>
<td>(</td>
<td class="paramtype">const std::basic_string_view&lt; T_from, std::char_traits&lt; T_from &gt; &gt;</td> <td class="paramname"><span class="paramname"><em>src</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return converted string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>String to convert </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a80f781d783dde0261fe272e193a3d03a" name="a80f781d783dde0261fe272e193a3d03a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80f781d783dde0261fe272e193a3d03a">&#9670;&#160;</a></span>convert() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_from , typename T_to &gt; </div>
<div class="memtemplate">
template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::basic_string&lt; T_to, TR_to, AX_to &gt; <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder</a>&lt; T_from, T_to &gt;::convert </td>
<td>(</td>
<td class="paramtype">const T_from *</td> <td class="paramname"><span class="paramname"><em>src</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return converted string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Zero-terminated string to convert </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a19c0243f3831a20f80f6d8dd616a4537" name="a19c0243f3831a20f80f6d8dd616a4537"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19c0243f3831a20f80f6d8dd616a4537">&#9670;&#160;</a></span>strcat() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_from , typename T_to &gt; </div>
<div class="memtemplate">
template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder</a>&lt; T_from, T_to &gt;::strcat </td>
<td>(</td>
<td class="paramtype">std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>dst</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">_In_reads_or_z_opt_(count_src) const T_from *</td> <td class="paramname"><span class="paramname"><em>src</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>count_src</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert string and append to string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">dst</td><td>String to append converted string to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>String to convert </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">count_src</td><td>String to convert code unit limit </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1e70c3268f878f5c3896c18a7950103d" name="a1e70c3268f878f5c3896c18a7950103d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e70c3268f878f5c3896c18a7950103d">&#9670;&#160;</a></span>strcat() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_from , typename T_to &gt; </div>
<div class="memtemplate">
template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder</a>&lt; T_from, T_to &gt;::strcat </td>
<td>(</td>
<td class="paramtype">std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>dst</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::basic_string_view&lt; T_from, std::char_traits&lt; T_from &gt; &gt;</td> <td class="paramname"><span class="paramname"><em>src</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert string and append to string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">dst</td><td>String to append converted string to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>String to convert </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5c70488ff34e8770684fe6b451eca169" name="a5c70488ff34e8770684fe6b451eca169"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c70488ff34e8770684fe6b451eca169">&#9670;&#160;</a></span>strcat() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_from , typename T_to &gt; </div>
<div class="memtemplate">
template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder</a>&lt; T_from, T_to &gt;::strcat </td>
<td>(</td>
<td class="paramtype">std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>dst</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T_from *</td> <td class="paramname"><span class="paramname"><em>src</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert string and append to string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">dst</td><td>String to append converted string to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Zero-terminated string to convert </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7dea211fc0eac2bb1d3fc09f05e128a5" name="a7dea211fc0eac2bb1d3fc09f05e128a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7dea211fc0eac2bb1d3fc09f05e128a5">&#9670;&#160;</a></span>strcpy() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_from , typename T_to &gt; </div>
<div class="memtemplate">
template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder</a>&lt; T_from, T_to &gt;::strcpy </td>
<td>(</td>
<td class="paramtype">std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>dst</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">_In_reads_or_z_opt_(count_src) const T_from *</td> <td class="paramname"><span class="paramname"><em>src</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>count_src</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">dst</td><td>String to write converted string to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>String to convert </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">count_src</td><td>String to convert code unit limit </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab4ad655bc166194f48cad397669f4f46" name="ab4ad655bc166194f48cad397669f4f46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4ad655bc166194f48cad397669f4f46">&#9670;&#160;</a></span>strcpy() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_from , typename T_to &gt; </div>
<div class="memtemplate">
template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder</a>&lt; T_from, T_to &gt;::strcpy </td>
<td>(</td>
<td class="paramtype">std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>dst</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::basic_string_view&lt; T_from, std::char_traits&lt; T_from &gt; &gt;</td> <td class="paramname"><span class="paramname"><em>src</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">dst</td><td>String to write converted string to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>String to convert </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3fee8c32b4a1a82826bdb5677d2008ed" name="a3fee8c32b4a1a82826bdb5677d2008ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fee8c32b4a1a82826bdb5677d2008ed">&#9670;&#160;</a></span>strcpy() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_from , typename T_to &gt; </div>
<div class="memtemplate">
template&lt;class TR_to = std::char_traits&lt;T_to&gt;, class AX_to = std::allocator&lt;T_to&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstdex_1_1charset__encoder.html">stdex::charset_encoder</a>&lt; T_from, T_to &gt;::strcpy </td>
<td>(</td>
<td class="paramtype">std::basic_string&lt; T_to, TR_to, AX_to &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>dst</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T_from *</td> <td class="paramname"><span class="paramname"><em>src</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">dst</td><td>String to write converted string to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Zero-terminated string to convert </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="unicode_8hpp_source.html">unicode.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,112 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1crc32__hash.html">crc32_hash</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::crc32_hash Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1crc32__hash.html">stdex::crc32_hash</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1crc32__hash.html#addf745566fe5a1ba3f947a70603ea235">clear</a>()</td><td class="entry"><a class="el" href="classstdex_1_1crc32__hash.html">stdex::crc32_hash</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>crc32_hash</b>(crc32_t crc=0) (defined in <a class="el" href="classstdex_1_1crc32__hash.html">stdex::crc32_hash</a>)</td><td class="entry"><a class="el" href="classstdex_1_1crc32__hash.html">stdex::crc32_hash</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#a00c5ecc12bc29e5381743fa2239a1dc3">data</a>()</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; crc32_t &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1crc32__hash.html#a04aeb2009f5e615481752757b9ec0731">finalize</a>()</td><td class="entry"><a class="el" href="classstdex_1_1crc32__hash.html">stdex::crc32_hash</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1crc32__hash.html#a682468b5c1e7fe3405e960c7d85daa8c">hash</a>(_In_reads_bytes_opt_(length) const void *data, size_t length)</td><td class="entry"><a class="el" href="classstdex_1_1crc32__hash.html">stdex::crc32_hash</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#a7cacac78cdfbf561da8d9f1a5841c5cb">operator const crc32_t &amp;</a>() const</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; crc32_t &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html#a9b8b5f91873e5d2cfe93533832318b5a">size</a>()</td><td class="entry"><a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; crc32_t &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,260 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::crc32_hash Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1crc32__hash.html">crc32_hash</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classstdex_1_1crc32__hash-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::crc32_hash Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Hashes as CRC32.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="hash_8hpp_source.html">stdex/hash.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::crc32_hash:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1crc32__hash.png" usemap="#stdex::crc32_5Fhash_map" alt=""/>
<map id="stdex::crc32_5Fhash_map" name="stdex::crc32_5Fhash_map">
<area href="classstdex_1_1basic__hash.html" alt="stdex::basic_hash&lt; crc32_t &gt;" shape="rect" coords="0,0,178,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1ac63bf4ae3551f6514b506e36d3c6fb" id="r_a1ac63bf4ae3551f6514b506e36d3c6fb"><td class="memItemLeft" align="right" valign="top"><a id="a1ac63bf4ae3551f6514b506e36d3c6fb" name="a1ac63bf4ae3551f6514b506e36d3c6fb"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>crc32_hash</b> (crc32_t crc=0)</td></tr>
<tr class="separator:a1ac63bf4ae3551f6514b506e36d3c6fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addf745566fe5a1ba3f947a70603ea235" id="r_addf745566fe5a1ba3f947a70603ea235"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#addf745566fe5a1ba3f947a70603ea235">clear</a> ()</td></tr>
<tr class="memdesc:addf745566fe5a1ba3f947a70603ea235"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes hash value and internal state. <br /></td></tr>
<tr class="separator:addf745566fe5a1ba3f947a70603ea235"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a682468b5c1e7fe3405e960c7d85daa8c" id="r_a682468b5c1e7fe3405e960c7d85daa8c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a682468b5c1e7fe3405e960c7d85daa8c">hash</a> (_In_reads_bytes_opt_(length) const void *<a class="el" href="classstdex_1_1basic__hash.html#a00c5ecc12bc29e5381743fa2239a1dc3">data</a>, size_t length)</td></tr>
<tr class="memdesc:a682468b5c1e7fe3405e960c7d85daa8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hashes block of data. <br /></td></tr>
<tr class="separator:a682468b5c1e7fe3405e960c7d85daa8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04aeb2009f5e615481752757b9ec0731" id="r_a04aeb2009f5e615481752757b9ec0731"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a04aeb2009f5e615481752757b9ec0731">finalize</a> ()</td></tr>
<tr class="memdesc:a04aeb2009f5e615481752757b9ec0731"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalizes hash value. <br /></td></tr>
<tr class="separator:a04aeb2009f5e615481752757b9ec0731"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classstdex_1_1basic__hash"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classstdex_1_1basic__hash')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; crc32_t &gt;</a></td></tr>
<tr class="memitem:a00c5ecc12bc29e5381743fa2239a1dc3 inherit pub_methods_classstdex_1_1basic__hash" id="r_a00c5ecc12bc29e5381743fa2239a1dc3"><td class="memItemLeft" align="right" valign="top">
const crc32_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>data</b> ()</td></tr>
<tr class="memdesc:a00c5ecc12bc29e5381743fa2239a1dc3 inherit pub_methods_classstdex_1_1basic__hash"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns hash value. <br /></td></tr>
<tr class="separator:a00c5ecc12bc29e5381743fa2239a1dc3 inherit pub_methods_classstdex_1_1basic__hash"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cacac78cdfbf561da8d9f1a5841c5cb inherit pub_methods_classstdex_1_1basic__hash" id="r_a7cacac78cdfbf561da8d9f1a5841c5cb"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>operator const crc32_t &amp;</b> () const</td></tr>
<tr class="memdesc:a7cacac78cdfbf561da8d9f1a5841c5cb inherit pub_methods_classstdex_1_1basic__hash"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns hash value. <br /></td></tr>
<tr class="separator:a7cacac78cdfbf561da8d9f1a5841c5cb inherit pub_methods_classstdex_1_1basic__hash"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classstdex_1_1basic__hash"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_static_methods_classstdex_1_1basic__hash')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; crc32_t &gt;</a></td></tr>
<tr class="memitem:a9b8b5f91873e5d2cfe93533832318b5a inherit pub_static_methods_classstdex_1_1basic__hash" id="r_a9b8b5f91873e5d2cfe93533832318b5a"><td class="memItemLeft" align="right" valign="top">
static size_t&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> ()</td></tr>
<tr class="memdesc:a9b8b5f91873e5d2cfe93533832318b5a inherit pub_static_methods_classstdex_1_1basic__hash"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns size of the hash value in bytes. <br /></td></tr>
<tr class="separator:a9b8b5f91873e5d2cfe93533832318b5a inherit pub_static_methods_classstdex_1_1basic__hash"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classstdex_1_1basic__hash"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classstdex_1_1basic__hash')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classstdex_1_1basic__hash.html">stdex::basic_hash&lt; crc32_t &gt;</a></td></tr>
<tr class="memitem:abc45b9744ef54b261e16d795479fd0ec inherit pro_attribs_classstdex_1_1basic__hash" id="r_abc45b9744ef54b261e16d795479fd0ec"><td class="memItemLeft" align="right" valign="top">
crc32_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_value</b></td></tr>
<tr class="separator:abc45b9744ef54b261e16d795479fd0ec inherit pro_attribs_classstdex_1_1basic__hash"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Hashes as CRC32. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="addf745566fe5a1ba3f947a70603ea235" name="addf745566fe5a1ba3f947a70603ea235"></a>
<h2 class="memtitle"><span class="permalink"><a href="#addf745566fe5a1ba3f947a70603ea235">&#9670;&#160;</a></span>clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void stdex::crc32_hash::clear </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes hash value and internal state. </p>
<p>Implements <a class="el" href="classstdex_1_1basic__hash.html#af5e2ff7b83da5a663fa3c9766734b771">stdex::basic_hash&lt; crc32_t &gt;</a>.</p>
</div>
</div>
<a id="a04aeb2009f5e615481752757b9ec0731" name="a04aeb2009f5e615481752757b9ec0731"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04aeb2009f5e615481752757b9ec0731">&#9670;&#160;</a></span>finalize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void stdex::crc32_hash::finalize </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Finalizes hash value. </p>
<p>Implements <a class="el" href="classstdex_1_1basic__hash.html#ab2f4729c60bbb2ce12d5100be26108cf">stdex::basic_hash&lt; crc32_t &gt;</a>.</p>
</div>
</div>
<a id="a682468b5c1e7fe3405e960c7d85daa8c" name="a682468b5c1e7fe3405e960c7d85daa8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a682468b5c1e7fe3405e960c7d85daa8c">&#9670;&#160;</a></span>hash()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void stdex::crc32_hash::hash </td>
<td>(</td>
<td class="paramtype">_In_reads_bytes_opt_(length) const void *</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>length</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Hashes block of data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Pointer to data </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Amount of data in bytes </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classstdex_1_1basic__hash.html#a198a7f9e606ac26dbd5a345108e5efc9">stdex::basic_hash&lt; crc32_t &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="hash_8hpp_source.html">hash.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

View File

@ -0,0 +1,107 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1curl__initializer.html">curl_initializer</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::curl_initializer Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1curl__initializer.html">stdex::curl_initializer</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1curl__initializer.html#a94a9121ac766b67ab0cde5d9d9003b67">curl_initializer</a>(long flags)</td><td class="entry"><a class="el" href="classstdex_1_1curl__initializer.html">stdex::curl_initializer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1curl__initializer.html#a29c30397ff5541fc05e5ed55dcc8d1c6">~curl_initializer</a>()</td><td class="entry"><a class="el" href="classstdex_1_1curl__initializer.html">stdex::curl_initializer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,182 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::curl_initializer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1curl__initializer.html">curl_initializer</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classstdex_1_1curl__initializer-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::curl_initializer Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Context scope automatic CURL (un)initialization.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="curl_8hpp_source.html">stdex/curl.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a94a9121ac766b67ab0cde5d9d9003b67" id="r_a94a9121ac766b67ab0cde5d9d9003b67"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a94a9121ac766b67ab0cde5d9d9003b67">curl_initializer</a> (long flags)</td></tr>
<tr class="memdesc:a94a9121ac766b67ab0cde5d9d9003b67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the CURL library. <br /></td></tr>
<tr class="separator:a94a9121ac766b67ab0cde5d9d9003b67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29c30397ff5541fc05e5ed55dcc8d1c6" id="r_a29c30397ff5541fc05e5ed55dcc8d1c6"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a29c30397ff5541fc05e5ed55dcc8d1c6">~curl_initializer</a> ()</td></tr>
<tr class="memdesc:a29c30397ff5541fc05e5ed55dcc8d1c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uninitializes CURL. <br /></td></tr>
<tr class="separator:a29c30397ff5541fc05e5ed55dcc8d1c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Context scope automatic CURL (un)initialization. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a94a9121ac766b67ab0cde5d9d9003b67" name="a94a9121ac766b67ab0cde5d9d9003b67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94a9121ac766b67ab0cde5d9d9003b67">&#9670;&#160;</a></span>curl_initializer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">stdex::curl_initializer::curl_initializer </td>
<td>(</td>
<td class="paramtype">long</td> <td class="paramname"><span class="paramname"><em>flags</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes the CURL library. </p>
<dl class="section see"><dt>See also</dt><dd><a href="https://curl.se/libcurl/c/curl_global_init.html">curl_global_init function</a> </dd></dl>
</div>
</div>
<a id="a29c30397ff5541fc05e5ed55dcc8d1c6" name="a29c30397ff5541fc05e5ed55dcc8d1c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29c30397ff5541fc05e5ed55dcc8d1c6">&#9670;&#160;</a></span>~curl_initializer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual stdex::curl_initializer::~curl_initializer </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Uninitializes CURL. </p>
<dl class="section see"><dt>See also</dt><dd><a href="https://curl.se/libcurl/c/curl_global_cleanup.html">curl_global_cleanup function</a> </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="curl_8hpp_source.html">curl.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,110 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1curl__runtime__error.html">curl_runtime_error</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::curl_runtime_error Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1curl__runtime__error.html">stdex::curl_runtime_error</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1curl__runtime__error.html#a25e6a0ec9d460cf68788123cd79bed00">curl_runtime_error</a>(CURLcode num)</td><td class="entry"><a class="el" href="classstdex_1_1curl__runtime__error.html">stdex::curl_runtime_error</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1curl__runtime__error.html#a842af1dd88c6ee61ce8f1ad55de5ac74">curl_runtime_error</a>(CURLcode num, const std::string &amp;msg)</td><td class="entry"><a class="el" href="classstdex_1_1curl__runtime__error.html">stdex::curl_runtime_error</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1curl__runtime__error.html#a0425ff3642de58bb34da4b84377f15a1">curl_runtime_error</a>(CURLcode num, const char *msg)</td><td class="entry"><a class="el" href="classstdex_1_1curl__runtime__error.html">stdex::curl_runtime_error</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1curl__runtime__error.html#a3faf5976646b11fa76e22a9e9044ef65">m_num</a></td><td class="entry"><a class="el" href="classstdex_1_1curl__runtime__error.html">stdex::curl_runtime_error</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1curl__runtime__error.html#a7152abee9deb5b39cf89318b14653e48">number</a>() const</td><td class="entry"><a class="el" href="classstdex_1_1curl__runtime__error.html">stdex::curl_runtime_error</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,256 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::curl_runtime_error Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1curl__runtime__error.html">curl_runtime_error</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1curl__runtime__error-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::curl_runtime_error Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>CURL runtime error.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="curl_8hpp_source.html">stdex/curl.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::curl_runtime_error:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1curl__runtime__error.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a25e6a0ec9d460cf68788123cd79bed00" id="r_a25e6a0ec9d460cf68788123cd79bed00"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a25e6a0ec9d460cf68788123cd79bed00">curl_runtime_error</a> (CURLcode num)</td></tr>
<tr class="memdesc:a25e6a0ec9d460cf68788123cd79bed00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an exception. <br /></td></tr>
<tr class="separator:a25e6a0ec9d460cf68788123cd79bed00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a842af1dd88c6ee61ce8f1ad55de5ac74" id="r_a842af1dd88c6ee61ce8f1ad55de5ac74"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a842af1dd88c6ee61ce8f1ad55de5ac74">curl_runtime_error</a> (CURLcode num, const std::string &amp;msg)</td></tr>
<tr class="memdesc:a842af1dd88c6ee61ce8f1ad55de5ac74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an exception. <br /></td></tr>
<tr class="separator:a842af1dd88c6ee61ce8f1ad55de5ac74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0425ff3642de58bb34da4b84377f15a1" id="r_a0425ff3642de58bb34da4b84377f15a1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0425ff3642de58bb34da4b84377f15a1">curl_runtime_error</a> (CURLcode num, const char *msg)</td></tr>
<tr class="memdesc:a0425ff3642de58bb34da4b84377f15a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an exception. <br /></td></tr>
<tr class="separator:a0425ff3642de58bb34da4b84377f15a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7152abee9deb5b39cf89318b14653e48" id="r_a7152abee9deb5b39cf89318b14653e48"><td class="memItemLeft" align="right" valign="top"><a id="a7152abee9deb5b39cf89318b14653e48" name="a7152abee9deb5b39cf89318b14653e48"></a>
CURLcode&#160;</td><td class="memItemRight" valign="bottom"><b>number</b> () const</td></tr>
<tr class="memdesc:a7152abee9deb5b39cf89318b14653e48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the error number. <br /></td></tr>
<tr class="separator:a7152abee9deb5b39cf89318b14653e48"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a3faf5976646b11fa76e22a9e9044ef65" id="r_a3faf5976646b11fa76e22a9e9044ef65"><td class="memItemLeft" align="right" valign="top"><a id="a3faf5976646b11fa76e22a9e9044ef65" name="a3faf5976646b11fa76e22a9e9044ef65"></a>
CURLcode&#160;</td><td class="memItemRight" valign="bottom"><b>m_num</b></td></tr>
<tr class="memdesc:a3faf5976646b11fa76e22a9e9044ef65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Numeric error code. <br /></td></tr>
<tr class="separator:a3faf5976646b11fa76e22a9e9044ef65"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>CURL runtime error. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a25e6a0ec9d460cf68788123cd79bed00" name="a25e6a0ec9d460cf68788123cd79bed00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25e6a0ec9d460cf68788123cd79bed00">&#9670;&#160;</a></span>curl_runtime_error() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">stdex::curl_runtime_error::curl_runtime_error </td>
<td>(</td>
<td class="paramtype">CURLcode</td> <td class="paramname"><span class="paramname"><em>num</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs an exception. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">num</td><td>CURL error code </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a842af1dd88c6ee61ce8f1ad55de5ac74" name="a842af1dd88c6ee61ce8f1ad55de5ac74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a842af1dd88c6ee61ce8f1ad55de5ac74">&#9670;&#160;</a></span>curl_runtime_error() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">stdex::curl_runtime_error::curl_runtime_error </td>
<td>(</td>
<td class="paramtype">CURLcode</td> <td class="paramname"><span class="paramname"><em>num</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>msg</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs an exception. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">num</td><td>CURL error code </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Error message </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0425ff3642de58bb34da4b84377f15a1" name="a0425ff3642de58bb34da4b84377f15a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0425ff3642de58bb34da4b84377f15a1">&#9670;&#160;</a></span>curl_runtime_error() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">stdex::curl_runtime_error::curl_runtime_error </td>
<td>(</td>
<td class="paramtype">CURLcode</td> <td class="paramname"><span class="paramname"><em>num</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>msg</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs an exception. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">num</td><td>CURL error code </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Error message </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="curl_8hpp_source.html">curl.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 647 B

View File

@ -0,0 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1global__progress.html">global_progress</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::global_progress&lt; T &gt; Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1global__progress.html#aec91532fde2500a5458a397f91c88769">attach</a>(progress&lt; T &gt; *host)</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1global__progress.html#a74a5ea9089ff7b7015ea4a2071f3113e">cancel</a>()</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1global__progress.html#aa2c5391aa2f1f30e72a700768bc52f84">detach</a>()</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1global__progress.html#ad65b4efb79010d917ea66b1acf455560">global_progress</a>(progress&lt; T &gt; *host=nullptr)</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_global</b> (defined in <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_host</b> (defined in <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_local</b> (defined in <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_section</b> (defined in <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1global__progress.html#a76e66104444c77b89b687b4ad4945e8e">set</a>(T value)</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1global__progress.html#ac68b491c62861fae1b16abb3477cb9c1">set_global_range</a>(T start, T end)</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1global__progress.html#afb204b820637c19b494976af4a284704">set_range</a>(T start, T end)</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1global__progress.html#a242009bce7ac595975bbfd703ec58c3b">set_section_range</a>(T start, T end)</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1global__progress.html#a89b7116003ab3b6344d90f130c14933e">set_text</a>(const char *msg)</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1global__progress.html#a32350e02d5904867402187e81a3c4a26">show</a>(bool show=true)</td><td class="entry"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~progress</b>() (defined in <a class="el" href="classstdex_1_1progress.html">stdex::progress&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1progress.html">stdex::progress&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,544 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::global_progress&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1global__progress.html">global_progress</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1global__progress-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::global_progress&lt; T &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Global progress indicator.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="progress_8hpp_source.html">stdex/progress.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::global_progress&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1global__progress.png" usemap="#stdex::global_5Fprogress_3C_20T_20_3E_map" alt=""/>
<map id="stdex::global_5Fprogress_3C_20T_20_3E_map" name="stdex::global_5Fprogress_3C_20T_20_3E_map">
<area href="classstdex_1_1progress.html" title="Progress indicator base class." alt="stdex::progress&lt; T &gt;" shape="rect" coords="0,0,182,24"/>
<area href="classstdex_1_1progress__switcher.html" title="Progress indicator switcher." alt="stdex::progress_switcher&lt; T &gt;" shape="rect" coords="0,112,182,136"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad65b4efb79010d917ea66b1acf455560" id="r_ad65b4efb79010d917ea66b1acf455560"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad65b4efb79010d917ea66b1acf455560">global_progress</a> (<a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; *host=nullptr)</td></tr>
<tr class="memdesc:ad65b4efb79010d917ea66b1acf455560"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a progress indicator. <br /></td></tr>
<tr class="separator:ad65b4efb79010d917ea66b1acf455560"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec91532fde2500a5458a397f91c88769" id="r_aec91532fde2500a5458a397f91c88769"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aec91532fde2500a5458a397f91c88769">attach</a> (<a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; *host)</td></tr>
<tr class="memdesc:aec91532fde2500a5458a397f91c88769"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach to a host progress indicator. <br /></td></tr>
<tr class="separator:aec91532fde2500a5458a397f91c88769"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2c5391aa2f1f30e72a700768bc52f84" id="r_aa2c5391aa2f1f30e72a700768bc52f84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa2c5391aa2f1f30e72a700768bc52f84">detach</a> ()</td></tr>
<tr class="memdesc:aa2c5391aa2f1f30e72a700768bc52f84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detach host progress indicator. <br /></td></tr>
<tr class="separator:aa2c5391aa2f1f30e72a700768bc52f84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac68b491c62861fae1b16abb3477cb9c1" id="r_ac68b491c62861fae1b16abb3477cb9c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac68b491c62861fae1b16abb3477cb9c1">set_global_range</a> (T start, T end)</td></tr>
<tr class="memdesc:ac68b491c62861fae1b16abb3477cb9c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set global extend of the progress indicator. <br /></td></tr>
<tr class="separator:ac68b491c62861fae1b16abb3477cb9c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a242009bce7ac595975bbfd703ec58c3b" id="r_a242009bce7ac595975bbfd703ec58c3b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a242009bce7ac595975bbfd703ec58c3b">set_section_range</a> (T start, T end)</td></tr>
<tr class="memdesc:a242009bce7ac595975bbfd703ec58c3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set section extend of the progress indicator. <br /></td></tr>
<tr class="separator:a242009bce7ac595975bbfd703ec58c3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89b7116003ab3b6344d90f130c14933e" id="r_a89b7116003ab3b6344d90f130c14933e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a89b7116003ab3b6344d90f130c14933e">set_text</a> (const char *msg)</td></tr>
<tr class="memdesc:a89b7116003ab3b6344d90f130c14933e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set progress indicator text. <br /></td></tr>
<tr class="separator:a89b7116003ab3b6344d90f130c14933e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb204b820637c19b494976af4a284704" id="r_afb204b820637c19b494976af4a284704"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afb204b820637c19b494976af4a284704">set_range</a> (T start, T end)</td></tr>
<tr class="memdesc:afb204b820637c19b494976af4a284704"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set local extend of the progress indicator. <br /></td></tr>
<tr class="separator:afb204b820637c19b494976af4a284704"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76e66104444c77b89b687b4ad4945e8e" id="r_a76e66104444c77b89b687b4ad4945e8e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a76e66104444c77b89b687b4ad4945e8e">set</a> (T value)</td></tr>
<tr class="memdesc:a76e66104444c77b89b687b4ad4945e8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set local current progress. <br /></td></tr>
<tr class="separator:a76e66104444c77b89b687b4ad4945e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32350e02d5904867402187e81a3c4a26" id="r_a32350e02d5904867402187e81a3c4a26"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a32350e02d5904867402187e81a3c4a26">show</a> (bool show=true)</td></tr>
<tr class="memdesc:a32350e02d5904867402187e81a3c4a26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Show or hide progress. <br /></td></tr>
<tr class="separator:a32350e02d5904867402187e81a3c4a26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74a5ea9089ff7b7015ea4a2071f3113e" id="r_a74a5ea9089ff7b7015ea4a2071f3113e"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a74a5ea9089ff7b7015ea4a2071f3113e">cancel</a> ()</td></tr>
<tr class="memdesc:a74a5ea9089ff7b7015ea4a2071f3113e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query whether user requested abort. <br /></td></tr>
<tr class="separator:a74a5ea9089ff7b7015ea4a2071f3113e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classstdex_1_1progress"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classstdex_1_1progress')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classstdex_1_1progress.html">stdex::progress&lt; T &gt;</a></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a9332b719bebfb257865080cf58ebaf01" id="r_a9332b719bebfb257865080cf58ebaf01"><td class="memItemLeft" align="right" valign="top"><a id="a9332b719bebfb257865080cf58ebaf01" name="a9332b719bebfb257865080cf58ebaf01"></a>
<a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>m_host</b></td></tr>
<tr class="separator:a9332b719bebfb257865080cf58ebaf01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33fba14f43065383c39e44301912d990" id="r_a33fba14f43065383c39e44301912d990"><td class="memItemLeft" align="right" valign="top"><a id="a33fba14f43065383c39e44301912d990" name="a33fba14f43065383c39e44301912d990"></a>
<a class="el" href="structstdex_1_1interval.html">interval</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_local</b></td></tr>
<tr class="separator:a33fba14f43065383c39e44301912d990"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f5cb88fa6e7f1922c3497675bc4df4d" id="r_a5f5cb88fa6e7f1922c3497675bc4df4d"><td class="memItemLeft" align="right" valign="top"><a id="a5f5cb88fa6e7f1922c3497675bc4df4d" name="a5f5cb88fa6e7f1922c3497675bc4df4d"></a>
<a class="el" href="structstdex_1_1interval.html">interval</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_global</b></td></tr>
<tr class="separator:a5f5cb88fa6e7f1922c3497675bc4df4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc4f7acdf6ddfd0e15d5c5fde686b2ef" id="r_afc4f7acdf6ddfd0e15d5c5fde686b2ef"><td class="memItemLeft" align="right" valign="top"><a id="afc4f7acdf6ddfd0e15d5c5fde686b2ef" name="afc4f7acdf6ddfd0e15d5c5fde686b2ef"></a>
<a class="el" href="structstdex_1_1interval.html">interval</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_section</b></td></tr>
<tr class="separator:afc4f7acdf6ddfd0e15d5c5fde686b2ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;class T&gt;<br />
class stdex::global_progress&lt; T &gt;</div><p>Global progress indicator. </p>
<p>Use to report progress of a phase or section as a part of a whole progress. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ad65b4efb79010d917ea66b1acf455560" name="ad65b4efb79010d917ea66b1acf455560"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad65b4efb79010d917ea66b1acf455560">&#9670;&#160;</a></span>global_progress()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress</a>&lt; T &gt;::global_progress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; *</td> <td class="paramname"><span class="paramname"><em>host</em></span><span class="paramdefsep"> = </span><span class="paramdefval">nullptr</span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs a progress indicator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>Host progress indicator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aec91532fde2500a5458a397f91c88769" name="aec91532fde2500a5458a397f91c88769"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec91532fde2500a5458a397f91c88769">&#9670;&#160;</a></span>attach()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress</a>&lt; T &gt;::attach </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; *</td> <td class="paramname"><span class="paramname"><em>host</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Attach to a host progress indicator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>Host progress indicator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a74a5ea9089ff7b7015ea4a2071f3113e" name="a74a5ea9089ff7b7015ea4a2071f3113e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74a5ea9089ff7b7015ea4a2071f3113e">&#9670;&#160;</a></span>cancel()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress</a>&lt; T &gt;::cancel </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Query whether user requested abort. </p>
<p>Reimplemented from <a class="el" href="classstdex_1_1progress.html#a03380c822297092b3bb9867deee26202">stdex::progress&lt; T &gt;</a>.</p>
</div>
</div>
<a id="aa2c5391aa2f1f30e72a700768bc52f84" name="aa2c5391aa2f1f30e72a700768bc52f84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2c5391aa2f1f30e72a700768bc52f84">&#9670;&#160;</a></span>detach()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstdex_1_1progress.html">progress</a>&lt; T &gt; * <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress</a>&lt; T &gt;::detach </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Detach host progress indicator. </p>
<dl class="section return"><dt>Returns</dt><dd>Old host progress indicator </dd></dl>
</div>
</div>
<a id="a76e66104444c77b89b687b4ad4945e8e" name="a76e66104444c77b89b687b4ad4945e8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76e66104444c77b89b687b4ad4945e8e">&#9670;&#160;</a></span>set()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress</a>&lt; T &gt;::set </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>value</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set local current progress. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Current value of the progress. Must be between start and end parameters provided in <a class="el" href="#afb204b820637c19b494976af4a284704" title="Set local extend of the progress indicator.">set_range()</a> call. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classstdex_1_1progress.html#acf3a29daf22709bf7e94e864c8be95a1">stdex::progress&lt; T &gt;</a>.</p>
</div>
</div>
<a id="ac68b491c62861fae1b16abb3477cb9c1" name="ac68b491c62861fae1b16abb3477cb9c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac68b491c62861fae1b16abb3477cb9c1">&#9670;&#160;</a></span>set_global_range()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress</a>&lt; T &gt;::set_global_range </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>start</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>end</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set global extend of the progress indicator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">start</td><td>Minimum value of the progress </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">end</td><td>Maximum value of the progress </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afb204b820637c19b494976af4a284704" name="afb204b820637c19b494976af4a284704"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb204b820637c19b494976af4a284704">&#9670;&#160;</a></span>set_range()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress</a>&lt; T &gt;::set_range </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>start</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>end</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set local extend of the progress indicator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">start</td><td>Minimum value of the progress </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">end</td><td>Maximum value of the progress </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classstdex_1_1progress.html#afbb1513bdb20340ebb21bd988f4e424a">stdex::progress&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a242009bce7ac595975bbfd703ec58c3b" name="a242009bce7ac595975bbfd703ec58c3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a242009bce7ac595975bbfd703ec58c3b">&#9670;&#160;</a></span>set_section_range()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress</a>&lt; T &gt;::set_section_range </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>start</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>end</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set section extend of the progress indicator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">start</td><td>Minimum value of the progress </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">end</td><td>Maximum value of the progress </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a89b7116003ab3b6344d90f130c14933e" name="a89b7116003ab3b6344d90f130c14933e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89b7116003ab3b6344d90f130c14933e">&#9670;&#160;</a></span>set_text()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress</a>&lt; T &gt;::set_text </td>
<td>(</td>
<td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>msg</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set progress indicator text. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Text to display </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classstdex_1_1progress.html#a2cab8b5ac137d16fced31ee205264b01">stdex::progress&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a32350e02d5904867402187e81a3c4a26" name="a32350e02d5904867402187e81a3c4a26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32350e02d5904867402187e81a3c4a26">&#9670;&#160;</a></span>show()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classstdex_1_1global__progress.html">stdex::global_progress</a>&lt; T &gt;::show </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>show</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Show or hide progress. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">show</td><td>Shows or hides progress indicator </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classstdex_1_1progress.html#ab6e57aed9e7a18a501e8a63cef199d8e">stdex::progress&lt; T &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="progress_8hpp_source.html">progress.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,111 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1hex__dec.html">hex_dec</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::hex_dec Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1hex__dec.html">stdex::hex_dec</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1hex__dec.html#a47a6b05d03e3cd075fe74505675b5126">buf</a></td><td class="entry"><a class="el" href="classstdex_1_1hex__dec.html">stdex::hex_dec</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1hex__dec.html#a282bf5db0d16b29b12c71b73d3a33cc4">clear</a>() noexcept</td><td class="entry"><a class="el" href="classstdex_1_1hex__dec.html">stdex::hex_dec</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1hex__dec.html#acf3d5adf4766056a630d1ceeab946b55">dec_size</a>(size_t size) const noexcept</td><td class="entry"><a class="el" href="classstdex_1_1hex__dec.html">stdex::hex_dec</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1hex__dec.html#a860e727d082f427ea6b434489c77f813">decode</a>(std::vector&lt; T_to, AX &gt; &amp;out, bool &amp;is_last, const T_from *data, size_t size)</td><td class="entry"><a class="el" href="classstdex_1_1hex__dec.html">stdex::hex_dec</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1hex__dec.html#a61bd84f6b79b2b8e9daebfafeb2f17ad">hex_dec</a>() noexcept</td><td class="entry"><a class="el" href="classstdex_1_1hex__dec.html">stdex::hex_dec</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1hex__dec.html#a99111436d6b30595cd1fee112e3200ae">num</a></td><td class="entry"><a class="el" href="classstdex_1_1hex__dec.html">stdex::hex_dec</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

233
classstdex_1_1hex__dec.html Normal file
View File

@ -0,0 +1,233 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::hex_dec Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1hex__dec.html">hex_dec</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classstdex_1_1hex__dec-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::hex_dec Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Hexadecimal decoding session.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="hex_8hpp_source.html">stdex/hex.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a61bd84f6b79b2b8e9daebfafeb2f17ad" id="r_a61bd84f6b79b2b8e9daebfafeb2f17ad"><td class="memItemLeft" align="right" valign="top"><a id="a61bd84f6b79b2b8e9daebfafeb2f17ad" name="a61bd84f6b79b2b8e9daebfafeb2f17ad"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>hex_dec</b> () noexcept</td></tr>
<tr class="memdesc:a61bd84f6b79b2b8e9daebfafeb2f17ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs blank decoding session. <br /></td></tr>
<tr class="separator:a61bd84f6b79b2b8e9daebfafeb2f17ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a860e727d082f427ea6b434489c77f813" id="r_a860e727d082f427ea6b434489c77f813"><td class="memTemplParams" colspan="2">template&lt;class T_to , class AX , class T_from &gt; </td></tr>
<tr class="memitem:a860e727d082f427ea6b434489c77f813"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a860e727d082f427ea6b434489c77f813">decode</a> (std::vector&lt; T_to, AX &gt; &amp;out, bool &amp;is_last, const T_from *data, size_t size)</td></tr>
<tr class="memdesc:a860e727d082f427ea6b434489c77f813"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes one block of information, and <em>appends</em> it to the output. <br /></td></tr>
<tr class="separator:a860e727d082f427ea6b434489c77f813"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a282bf5db0d16b29b12c71b73d3a33cc4" id="r_a282bf5db0d16b29b12c71b73d3a33cc4"><td class="memItemLeft" align="right" valign="top"><a id="a282bf5db0d16b29b12c71b73d3a33cc4" name="a282bf5db0d16b29b12c71b73d3a33cc4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> () noexcept</td></tr>
<tr class="memdesc:a282bf5db0d16b29b12c71b73d3a33cc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets decoding session. <br /></td></tr>
<tr class="separator:a282bf5db0d16b29b12c71b73d3a33cc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf3d5adf4766056a630d1ceeab946b55" id="r_acf3d5adf4766056a630d1ceeab946b55"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acf3d5adf4766056a630d1ceeab946b55">dec_size</a> (size_t size) const noexcept</td></tr>
<tr class="memdesc:acf3d5adf4766056a630d1ceeab946b55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns maximum decoded size. <br /></td></tr>
<tr class="separator:acf3d5adf4766056a630d1ceeab946b55"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a47a6b05d03e3cd075fe74505675b5126" id="r_a47a6b05d03e3cd075fe74505675b5126"><td class="memItemLeft" align="right" valign="top"><a id="a47a6b05d03e3cd075fe74505675b5126" name="a47a6b05d03e3cd075fe74505675b5126"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>buf</b></td></tr>
<tr class="memdesc:a47a6b05d03e3cd075fe74505675b5126"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal buffer. <br /></td></tr>
<tr class="separator:a47a6b05d03e3cd075fe74505675b5126"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99111436d6b30595cd1fee112e3200ae" id="r_a99111436d6b30595cd1fee112e3200ae"><td class="memItemLeft" align="right" valign="top"><a id="a99111436d6b30595cd1fee112e3200ae" name="a99111436d6b30595cd1fee112e3200ae"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>num</b></td></tr>
<tr class="memdesc:a99111436d6b30595cd1fee112e3200ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of nibbles used in <code>buf</code> <br /></td></tr>
<tr class="separator:a99111436d6b30595cd1fee112e3200ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Hexadecimal decoding session. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="acf3d5adf4766056a630d1ceeab946b55" name="acf3d5adf4766056a630d1ceeab946b55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf3d5adf4766056a630d1ceeab946b55">&#9670;&#160;</a></span>dec_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t stdex::hex_dec::dec_size </td>
<td>(</td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>size</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns maximum decoded size. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of bytes to decode</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Maximum number of bytes for the decoded data of <code>size</code> length </dd></dl>
</div>
</div>
<a id="a860e727d082f427ea6b434489c77f813" name="a860e727d082f427ea6b434489c77f813"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a860e727d082f427ea6b434489c77f813">&#9670;&#160;</a></span>decode()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T_to , class AX , class T_from &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void stdex::hex_dec::decode </td>
<td>(</td>
<td class="paramtype">std::vector&lt; T_to, AX &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool &amp;</td> <td class="paramname"><span class="paramname"><em>is_last</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T_from *</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>size</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Decodes one block of information, and <em>appends</em> it to the output. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">out</td><td>Output </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">is_last</td><td>Was this the last block of data? Actually, is this block of data complete? </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Data to decode </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Length of <code>data</code> in bytes </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="hex_8hpp_source.html">hex.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,108 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1hex__enc.html">hex_enc</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::hex_enc Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1hex__enc.html">stdex::hex_enc</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1hex__enc.html#a47db116dcc51daa878d3ecc4c1ab4d8f">enc_size</a>(size_t size) const noexcept</td><td class="entry"><a class="el" href="classstdex_1_1hex__enc.html">stdex::hex_enc</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1hex__enc.html#a5cb506c6e35c988f8ec96b53e7dac9ad">encode</a>(std::basic_string&lt; T, TR, AX &gt; &amp;out, const void *data, size_t size)</td><td class="entry"><a class="el" href="classstdex_1_1hex__enc.html">stdex::hex_enc</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1hex__enc.html#a882581bc4798b138de9322d1b0bdd433">hex_enc</a>() noexcept</td><td class="entry"><a class="el" href="classstdex_1_1hex__enc.html">stdex::hex_enc</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

211
classstdex_1_1hex__enc.html Normal file
View File

@ -0,0 +1,211 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::hex_enc Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><a class="el" href="classstdex_1_1hex__enc.html">hex_enc</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classstdex_1_1hex__enc-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::hex_enc Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Hexadecimal encoding session.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="hex_8hpp_source.html">stdex/hex.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a882581bc4798b138de9322d1b0bdd433" id="r_a882581bc4798b138de9322d1b0bdd433"><td class="memItemLeft" align="right" valign="top"><a id="a882581bc4798b138de9322d1b0bdd433" name="a882581bc4798b138de9322d1b0bdd433"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>hex_enc</b> () noexcept</td></tr>
<tr class="memdesc:a882581bc4798b138de9322d1b0bdd433"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs blank encoding session. <br /></td></tr>
<tr class="separator:a882581bc4798b138de9322d1b0bdd433"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cb506c6e35c988f8ec96b53e7dac9ad" id="r_a5cb506c6e35c988f8ec96b53e7dac9ad"><td class="memTemplParams" colspan="2">template&lt;class T , class TR , class AX &gt; </td></tr>
<tr class="memitem:a5cb506c6e35c988f8ec96b53e7dac9ad"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a5cb506c6e35c988f8ec96b53e7dac9ad">encode</a> (std::basic_string&lt; T, TR, AX &gt; &amp;out, const void *data, size_t size)</td></tr>
<tr class="memdesc:a5cb506c6e35c988f8ec96b53e7dac9ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes one block of information, and <em>appends</em> it to the output. <br /></td></tr>
<tr class="separator:a5cb506c6e35c988f8ec96b53e7dac9ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47db116dcc51daa878d3ecc4c1ab4d8f" id="r_a47db116dcc51daa878d3ecc4c1ab4d8f"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a47db116dcc51daa878d3ecc4c1ab4d8f">enc_size</a> (size_t size) const noexcept</td></tr>
<tr class="memdesc:a47db116dcc51daa878d3ecc4c1ab4d8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns maximum encoded size. <br /></td></tr>
<tr class="separator:a47db116dcc51daa878d3ecc4c1ab4d8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Hexadecimal encoding session. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a47db116dcc51daa878d3ecc4c1ab4d8f" name="a47db116dcc51daa878d3ecc4c1ab4d8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47db116dcc51daa878d3ecc4c1ab4d8f">&#9670;&#160;</a></span>enc_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t stdex::hex_enc::enc_size </td>
<td>(</td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>size</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns maximum encoded size. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of bytes to encode</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Maximum number of bytes for the encoded data of <code>size</code> length </dd></dl>
</div>
</div>
<a id="a5cb506c6e35c988f8ec96b53e7dac9ad" name="a5cb506c6e35c988f8ec96b53e7dac9ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cb506c6e35c988f8ec96b53e7dac9ad">&#9670;&#160;</a></span>encode()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class TR , class AX &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void stdex::hex_enc::encode </td>
<td>(</td>
<td class="paramtype">std::basic_string&lt; T, TR, AX &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>size</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Encodes one block of information, and <em>appends</em> it to the output. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">out</td><td>Output </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Data to encode </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Length of <code>data</code> in bytes </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="hex_8hpp_source.html">hex.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,112 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><b>html</b></li><li class="navelem"><a class="el" href="classstdex_1_1html_1_1comment.html">comment</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::html::comment Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1html_1_1comment.html">stdex::html::comment</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>comment</b>(stdex::parser::basic_html_tag&lt; T &gt; &amp;&amp;tag, sequence *parent=nullptr) (defined in <a class="el" href="classstdex_1_1html_1_1comment.html">stdex::html::comment</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1comment.html">stdex::html::comment</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1comment.html#a12d9a22d5b67fbed22fc033b5e5c932f">content</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1comment.html">stdex::html::comment</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html#a20b20431f4799454543b962d482a6ed7">interval</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html#a8eccbcd5829b97c67aa0fcc449292470">parent</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>sequence</b>(stdex::parser::html_sequence_t _type=stdex::parser::html_sequence_t::unknown, size_t start=0, size_t end=0, sequence *_parent=nullptr) (defined in <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html#a49c618139178a5fcbefaf13c08a98969">type</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~sequence</b>() (defined in <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,157 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::html::comment Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><b>html</b></li><li class="navelem"><a class="el" href="classstdex_1_1html_1_1comment.html">comment</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classstdex_1_1html_1_1comment-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::html::comment Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>HTML comment.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="html_8hpp_source.html">stdex/html.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::html::comment:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1html_1_1comment.png" usemap="#stdex::html::comment_map" alt=""/>
<map id="stdex::html::comment_map" name="stdex::html::comment_map">
<area href="classstdex_1_1html_1_1sequence.html" title="Base class for HTML sequences." alt="stdex::html::sequence" shape="rect" coords="0,0,129,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa06610473b9b68689ae672623c97633f" id="r_aa06610473b9b68689ae672623c97633f"><td class="memTemplParams" colspan="2"><a id="aa06610473b9b68689ae672623c97633f" name="aa06610473b9b68689ae672623c97633f"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:aa06610473b9b68689ae672623c97633f"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>comment</b> (<a class="el" href="classstdex_1_1parser_1_1basic__html__tag.html">stdex::parser::basic_html_tag</a>&lt; T &gt; &amp;&amp;tag, <a class="el" href="classstdex_1_1html_1_1sequence.html">sequence</a> *<a class="el" href="classstdex_1_1html_1_1sequence.html#a8eccbcd5829b97c67aa0fcc449292470">parent</a>=nullptr)</td></tr>
<tr class="separator:aa06610473b9b68689ae672623c97633f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classstdex_1_1html_1_1sequence"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classstdex_1_1html_1_1sequence')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td></tr>
<tr class="memitem:a5176d92482223ebdaa725a990ff62f64 inherit pub_methods_classstdex_1_1html_1_1sequence" id="r_a5176d92482223ebdaa725a990ff62f64"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>sequence</b> (stdex::parser::html_sequence_t _type=stdex::parser::html_sequence_t::unknown, size_t start=0, size_t end=0, <a class="el" href="classstdex_1_1html_1_1sequence.html">sequence</a> *_parent=nullptr)</td></tr>
<tr class="separator:a5176d92482223ebdaa725a990ff62f64 inherit pub_methods_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a12d9a22d5b67fbed22fc033b5e5c932f" id="r_a12d9a22d5b67fbed22fc033b5e5c932f"><td class="memItemLeft" align="right" valign="top"><a id="a12d9a22d5b67fbed22fc033b5e5c932f" name="a12d9a22d5b67fbed22fc033b5e5c932f"></a>
<a class="el" href="structstdex_1_1interval.html">stdex::interval</a>&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>content</b></td></tr>
<tr class="memdesc:a12d9a22d5b67fbed22fc033b5e5c932f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Comment content position in source. <br /></td></tr>
<tr class="separator:a12d9a22d5b67fbed22fc033b5e5c932f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_classstdex_1_1html_1_1sequence"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_classstdex_1_1html_1_1sequence')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td></tr>
<tr class="memitem:a49c618139178a5fcbefaf13c08a98969 inherit pub_attribs_classstdex_1_1html_1_1sequence" id="r_a49c618139178a5fcbefaf13c08a98969"><td class="memItemLeft" align="right" valign="top">
stdex::parser::html_sequence_t&#160;</td><td class="memItemRight" valign="bottom"><b>type</b></td></tr>
<tr class="memdesc:a49c618139178a5fcbefaf13c08a98969 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sequence type. Enum is used for performance reasons (vs. <code>dynamic_cast</code>) <br /></td></tr>
<tr class="separator:a49c618139178a5fcbefaf13c08a98969 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20b20431f4799454543b962d482a6ed7 inherit pub_attribs_classstdex_1_1html_1_1sequence" id="r_a20b20431f4799454543b962d482a6ed7"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="structstdex_1_1interval.html">stdex::interval</a>&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>interval</b></td></tr>
<tr class="memdesc:a20b20431f4799454543b962d482a6ed7 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sequence position in source. <br /></td></tr>
<tr class="separator:a20b20431f4799454543b962d482a6ed7 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8eccbcd5829b97c67aa0fcc449292470 inherit pub_attribs_classstdex_1_1html_1_1sequence" id="r_a8eccbcd5829b97c67aa0fcc449292470"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1html_1_1sequence.html">sequence</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>parent</b></td></tr>
<tr class="memdesc:a8eccbcd5829b97c67aa0fcc449292470 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parent sequence. <br /></td></tr>
<tr class="separator:a8eccbcd5829b97c67aa0fcc449292470 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>HTML comment. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="html_8hpp_source.html">html.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 B

View File

@ -0,0 +1,113 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><b>html</b></li><li class="navelem"><a class="el" href="classstdex_1_1html_1_1declaration.html">declaration</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::html::declaration Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1html_1_1declaration.html">stdex::html::declaration</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1declaration.html#a46a0e7db45a103885963629b5b7cba04">attributes</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1declaration.html">stdex::html::declaration</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>declaration</b>(stdex::parser::basic_html_tag&lt; T &gt; &amp;&amp;tag, sequence *parent=nullptr) (defined in <a class="el" href="classstdex_1_1html_1_1declaration.html">stdex::html::declaration</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1declaration.html">stdex::html::declaration</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html#a20b20431f4799454543b962d482a6ed7">interval</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1declaration.html#a16302e5ad26b58fff4b532ff63bca759">name</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1declaration.html">stdex::html::declaration</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html#a8eccbcd5829b97c67aa0fcc449292470">parent</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>sequence</b>(stdex::parser::html_sequence_t _type=stdex::parser::html_sequence_t::unknown, size_t start=0, size_t end=0, sequence *_parent=nullptr) (defined in <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html#a49c618139178a5fcbefaf13c08a98969">type</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~sequence</b>() (defined in <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,161 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::html::declaration Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><b>html</b></li><li class="navelem"><a class="el" href="classstdex_1_1html_1_1declaration.html">declaration</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classstdex_1_1html_1_1declaration-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::html::declaration Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>HTML declaration.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="html_8hpp_source.html">stdex/html.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::html::declaration:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1html_1_1declaration.png" usemap="#stdex::html::declaration_map" alt=""/>
<map id="stdex::html::declaration_map" name="stdex::html::declaration_map">
<area href="classstdex_1_1html_1_1sequence.html" title="Base class for HTML sequences." alt="stdex::html::sequence" shape="rect" coords="0,0,138,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac8cfd57f3798c9d0ace876a6e2089502" id="r_ac8cfd57f3798c9d0ace876a6e2089502"><td class="memTemplParams" colspan="2"><a id="ac8cfd57f3798c9d0ace876a6e2089502" name="ac8cfd57f3798c9d0ace876a6e2089502"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:ac8cfd57f3798c9d0ace876a6e2089502"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>declaration</b> (<a class="el" href="classstdex_1_1parser_1_1basic__html__tag.html">stdex::parser::basic_html_tag</a>&lt; T &gt; &amp;&amp;tag, <a class="el" href="classstdex_1_1html_1_1sequence.html">sequence</a> *<a class="el" href="classstdex_1_1html_1_1sequence.html#a8eccbcd5829b97c67aa0fcc449292470">parent</a>=nullptr)</td></tr>
<tr class="separator:ac8cfd57f3798c9d0ace876a6e2089502"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classstdex_1_1html_1_1sequence"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classstdex_1_1html_1_1sequence')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td></tr>
<tr class="memitem:a5176d92482223ebdaa725a990ff62f64 inherit pub_methods_classstdex_1_1html_1_1sequence" id="r_a5176d92482223ebdaa725a990ff62f64"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>sequence</b> (stdex::parser::html_sequence_t _type=stdex::parser::html_sequence_t::unknown, size_t start=0, size_t end=0, <a class="el" href="classstdex_1_1html_1_1sequence.html">sequence</a> *_parent=nullptr)</td></tr>
<tr class="separator:a5176d92482223ebdaa725a990ff62f64 inherit pub_methods_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a16302e5ad26b58fff4b532ff63bca759" id="r_a16302e5ad26b58fff4b532ff63bca759"><td class="memItemLeft" align="right" valign="top"><a id="a16302e5ad26b58fff4b532ff63bca759" name="a16302e5ad26b58fff4b532ff63bca759"></a>
<a class="el" href="structstdex_1_1interval.html">stdex::interval</a>&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>name</b></td></tr>
<tr class="memdesc:a16302e5ad26b58fff4b532ff63bca759"><td class="mdescLeft">&#160;</td><td class="mdescRight">Declaration name position in source. <br /></td></tr>
<tr class="separator:a16302e5ad26b58fff4b532ff63bca759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46a0e7db45a103885963629b5b7cba04" id="r_a46a0e7db45a103885963629b5b7cba04"><td class="memItemLeft" align="right" valign="top"><a id="a46a0e7db45a103885963629b5b7cba04" name="a46a0e7db45a103885963629b5b7cba04"></a>
std::vector&lt; <a class="el" href="structstdex_1_1parser_1_1html__attribute.html">stdex::parser::html_attribute</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>attributes</b></td></tr>
<tr class="memdesc:a46a0e7db45a103885963629b5b7cba04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Declaration attribute positions in source. <br /></td></tr>
<tr class="separator:a46a0e7db45a103885963629b5b7cba04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_classstdex_1_1html_1_1sequence"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_classstdex_1_1html_1_1sequence')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td></tr>
<tr class="memitem:a49c618139178a5fcbefaf13c08a98969 inherit pub_attribs_classstdex_1_1html_1_1sequence" id="r_a49c618139178a5fcbefaf13c08a98969"><td class="memItemLeft" align="right" valign="top">
stdex::parser::html_sequence_t&#160;</td><td class="memItemRight" valign="bottom"><b>type</b></td></tr>
<tr class="memdesc:a49c618139178a5fcbefaf13c08a98969 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sequence type. Enum is used for performance reasons (vs. <code>dynamic_cast</code>) <br /></td></tr>
<tr class="separator:a49c618139178a5fcbefaf13c08a98969 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20b20431f4799454543b962d482a6ed7 inherit pub_attribs_classstdex_1_1html_1_1sequence" id="r_a20b20431f4799454543b962d482a6ed7"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="structstdex_1_1interval.html">stdex::interval</a>&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>interval</b></td></tr>
<tr class="memdesc:a20b20431f4799454543b962d482a6ed7 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sequence position in source. <br /></td></tr>
<tr class="separator:a20b20431f4799454543b962d482a6ed7 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8eccbcd5829b97c67aa0fcc449292470 inherit pub_attribs_classstdex_1_1html_1_1sequence" id="r_a8eccbcd5829b97c67aa0fcc449292470"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1html_1_1sequence.html">sequence</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>parent</b></td></tr>
<tr class="memdesc:a8eccbcd5829b97c67aa0fcc449292470 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parent sequence. <br /></td></tr>
<tr class="separator:a8eccbcd5829b97c67aa0fcc449292470 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>HTML declaration. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="html_8hpp_source.html">html.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

View File

@ -0,0 +1,129 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><b>html</b></li><li class="navelem"><a class="el" href="classstdex_1_1html_1_1document.html">document</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::html::document&lt; T, TR, AX &gt; Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#a854a42ac5d1b44a663992571ce016a5a">active_element</a>() const</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#a273b8b833d039824d048517d80295f94">append</a>(_In_reads_or_z_opt_(num_chars) const T *source, size_t num_chars)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#ae2fe171fbcaa696fd3eecd633491f4af">assign</a>(_In_reads_or_z_opt_(num_chars) const T *source, size_t num_chars)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#aecb7a14d12137d624dfe5378f27ab70c">clear</a>()</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>document</b>() (defined in <a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#aa92c54c8d5244c427e26e7a8220cfc41">finalize</a>()</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_any_char</b> (defined in <a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#a7c4e69123b0ae5c24d306ba3e2d8ce00">m_charset</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_condition_end</b> (defined in <a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_condition_start</b> (defined in <a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#aa6af078df6d8322da283445c12275ad9">m_element_stack</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#ae6ff9a07c77a0baff77bd18f51c5c9bc">m_entities</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#a5e41b66730d8e0c7a715b5324c0a190b">m_is_cdata</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#a18af3f7eda58c94cc21233de66266854">m_is_rcdata</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#ae4e4403bba2f51ee61d0448c8a0dbd03">m_is_special_element</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#a5d75509731526b70e83b816903e484b8">m_num_invalid_conditions</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#a9abf2aafc5c688764c71efbe04ba261b">m_num_parsed</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#a3e591a51beb766e0212843382507a3de">m_num_valid_conditions</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#a8228c7a43502a0918d0e94569403be2f">m_sequences</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#af3716224f1500d834b7e3ed6f21206ef">m_source</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_tag</b> (defined in <a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>parser&lt; T, TR, AX &gt;</b> (defined in <a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#ad148afdd15332522ce290046e5acb5f5">replace_entities</a>(_In_reads_or_z_opt_(num_chars) const T *input, size_t num_chars) const</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html#a20d48b4baf010dcdefaf2bca05ab6cfb">source</a>() const</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1document.html">stdex::html::document&lt; T, TR, AX &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,219 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::html::document&lt; T, TR, AX &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><b>html</b></li><li class="navelem"><a class="el" href="classstdex_1_1html_1_1document.html">document</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classstdex_1_1html_1_1document-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::html::document&lt; T, TR, AX &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">
<p>HTML document.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="html_8hpp_source.html">stdex/html.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aecb7a14d12137d624dfe5378f27ab70c" id="r_aecb7a14d12137d624dfe5378f27ab70c"><td class="memItemLeft" align="right" valign="top"><a id="aecb7a14d12137d624dfe5378f27ab70c" name="aecb7a14d12137d624dfe5378f27ab70c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
<tr class="memdesc:aecb7a14d12137d624dfe5378f27ab70c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empties document. <br /></td></tr>
<tr class="separator:aecb7a14d12137d624dfe5378f27ab70c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a273b8b833d039824d048517d80295f94" id="r_a273b8b833d039824d048517d80295f94"><td class="memItemLeft" align="right" valign="top"><a id="a273b8b833d039824d048517d80295f94" name="a273b8b833d039824d048517d80295f94"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>append</b> (_In_reads_or_z_opt_(num_chars) const T *<a class="el" href="#a20d48b4baf010dcdefaf2bca05ab6cfb">source</a>, size_t num_chars)</td></tr>
<tr class="memdesc:a273b8b833d039824d048517d80295f94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses HTML source code by chunks. <br /></td></tr>
<tr class="separator:a273b8b833d039824d048517d80295f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa92c54c8d5244c427e26e7a8220cfc41" id="r_aa92c54c8d5244c427e26e7a8220cfc41"><td class="memItemLeft" align="right" valign="top"><a id="aa92c54c8d5244c427e26e7a8220cfc41" name="aa92c54c8d5244c427e26e7a8220cfc41"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>finalize</b> ()</td></tr>
<tr class="memdesc:aa92c54c8d5244c427e26e7a8220cfc41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalizes document when no more appending is planned. <br /></td></tr>
<tr class="separator:aa92c54c8d5244c427e26e7a8220cfc41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2fe171fbcaa696fd3eecd633491f4af" id="r_ae2fe171fbcaa696fd3eecd633491f4af"><td class="memItemLeft" align="right" valign="top"><a id="ae2fe171fbcaa696fd3eecd633491f4af" name="ae2fe171fbcaa696fd3eecd633491f4af"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>assign</b> (_In_reads_or_z_opt_(num_chars) const T *<a class="el" href="#a20d48b4baf010dcdefaf2bca05ab6cfb">source</a>, size_t num_chars)</td></tr>
<tr class="memdesc:ae2fe171fbcaa696fd3eecd633491f4af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses HTML document source code. <br /></td></tr>
<tr class="separator:ae2fe171fbcaa696fd3eecd633491f4af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20d48b4baf010dcdefaf2bca05ab6cfb" id="r_a20d48b4baf010dcdefaf2bca05ab6cfb"><td class="memItemLeft" align="right" valign="top"><a id="a20d48b4baf010dcdefaf2bca05ab6cfb" name="a20d48b4baf010dcdefaf2bca05ab6cfb"></a>
const std::basic_string&lt; T, TR, AX &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>source</b> () const</td></tr>
<tr class="memdesc:a20d48b4baf010dcdefaf2bca05ab6cfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns document HTML source code. <br /></td></tr>
<tr class="separator:a20d48b4baf010dcdefaf2bca05ab6cfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a854a42ac5d1b44a663992571ce016a5a" id="r_a854a42ac5d1b44a663992571ce016a5a"><td class="memItemLeft" align="right" valign="top"><a id="a854a42ac5d1b44a663992571ce016a5a" name="a854a42ac5d1b44a663992571ce016a5a"></a>
<a class="el" href="classstdex_1_1html_1_1element__start.html">element_start</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>active_element</b> () const</td></tr>
<tr class="memdesc:a854a42ac5d1b44a663992571ce016a5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns starting tag of currently active element or nullptr if no element is known to be started. <br /></td></tr>
<tr class="separator:a854a42ac5d1b44a663992571ce016a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad148afdd15332522ce290046e5acb5f5" id="r_ad148afdd15332522ce290046e5acb5f5"><td class="memItemLeft" align="right" valign="top"><a id="ad148afdd15332522ce290046e5acb5f5" name="ad148afdd15332522ce290046e5acb5f5"></a>
std::basic_string&lt; T, TR, AX &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>replace_entities</b> (_In_reads_or_z_opt_(num_chars) const T *input, size_t num_chars) const</td></tr>
<tr class="memdesc:ad148afdd15332522ce290046e5acb5f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces entities with their content. <br /></td></tr>
<tr class="separator:ad148afdd15332522ce290046e5acb5f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:af3716224f1500d834b7e3ed6f21206ef" id="r_af3716224f1500d834b7e3ed6f21206ef"><td class="memItemLeft" align="right" valign="top"><a id="af3716224f1500d834b7e3ed6f21206ef" name="af3716224f1500d834b7e3ed6f21206ef"></a>
std::basic_string&lt; T, TR, AX &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_source</b></td></tr>
<tr class="memdesc:af3716224f1500d834b7e3ed6f21206ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Document HTML source code. <br /></td></tr>
<tr class="separator:af3716224f1500d834b7e3ed6f21206ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9abf2aafc5c688764c71efbe04ba261b" id="r_a9abf2aafc5c688764c71efbe04ba261b"><td class="memItemLeft" align="right" valign="top"><a id="a9abf2aafc5c688764c71efbe04ba261b" name="a9abf2aafc5c688764c71efbe04ba261b"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_num_parsed</b></td></tr>
<tr class="memdesc:a9abf2aafc5c688764c71efbe04ba261b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of characters already parsed. <br /></td></tr>
<tr class="separator:a9abf2aafc5c688764c71efbe04ba261b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c4e69123b0ae5c24d306ba3e2d8ce00" id="r_a7c4e69123b0ae5c24d306ba3e2d8ce00"><td class="memItemLeft" align="right" valign="top"><a id="a7c4e69123b0ae5c24d306ba3e2d8ce00" name="a7c4e69123b0ae5c24d306ba3e2d8ce00"></a>
stdex::charset_id&#160;</td><td class="memItemRight" valign="bottom"><b>m_charset</b></td></tr>
<tr class="memdesc:a7c4e69123b0ae5c24d306ba3e2d8ce00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Document charset. <br /></td></tr>
<tr class="separator:a7c4e69123b0ae5c24d306ba3e2d8ce00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e591a51beb766e0212843382507a3de" id="r_a3e591a51beb766e0212843382507a3de"><td class="memItemLeft" align="right" valign="top"><a id="a3e591a51beb766e0212843382507a3de" name="a3e591a51beb766e0212843382507a3de"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_num_valid_conditions</b></td></tr>
<tr class="memdesc:a3e591a51beb766e0212843382507a3de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of started valid conditions. <br /></td></tr>
<tr class="separator:a3e591a51beb766e0212843382507a3de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d75509731526b70e83b816903e484b8" id="r_a5d75509731526b70e83b816903e484b8"><td class="memItemLeft" align="right" valign="top"><a id="a5d75509731526b70e83b816903e484b8" name="a5d75509731526b70e83b816903e484b8"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_num_invalid_conditions</b></td></tr>
<tr class="memdesc:a5d75509731526b70e83b816903e484b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of started invalid conditions. <br /></td></tr>
<tr class="separator:a5d75509731526b70e83b816903e484b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e41b66730d8e0c7a715b5324c0a190b" id="r_a5e41b66730d8e0c7a715b5324c0a190b"><td class="memItemLeft" align="right" valign="top"><a id="a5e41b66730d8e0c7a715b5324c0a190b" name="a5e41b66730d8e0c7a715b5324c0a190b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>m_is_cdata</b></td></tr>
<tr class="memdesc:a5e41b66730d8e0c7a715b5324c0a190b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inside of CDATA? <br /></td></tr>
<tr class="separator:a5e41b66730d8e0c7a715b5324c0a190b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18af3f7eda58c94cc21233de66266854" id="r_a18af3f7eda58c94cc21233de66266854"><td class="memItemLeft" align="right" valign="top"><a id="a18af3f7eda58c94cc21233de66266854" name="a18af3f7eda58c94cc21233de66266854"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>m_is_rcdata</b></td></tr>
<tr class="memdesc:a18af3f7eda58c94cc21233de66266854"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inside of RCDATA? <br /></td></tr>
<tr class="separator:a18af3f7eda58c94cc21233de66266854"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27a95751e2df85cd09b5670da0a08751" id="r_a27a95751e2df85cd09b5670da0a08751"><td class="memItemLeft" align="right" valign="top"><a id="a27a95751e2df85cd09b5670da0a08751" name="a27a95751e2df85cd09b5670da0a08751"></a>
<a class="el" href="classstdex_1_1parser_1_1basic__html__declaration__condition__start.html">stdex::parser::basic_html_declaration_condition_start</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_condition_start</b></td></tr>
<tr class="separator:a27a95751e2df85cd09b5670da0a08751"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13a53886f2645b9d94f3784c9b664d6d" id="r_a13a53886f2645b9d94f3784c9b664d6d"><td class="memItemLeft" align="right" valign="top"><a id="a13a53886f2645b9d94f3784c9b664d6d" name="a13a53886f2645b9d94f3784c9b664d6d"></a>
<a class="el" href="classstdex_1_1parser_1_1basic__html__declaration__condition__end.html">stdex::parser::basic_html_declaration_condition_end</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_condition_end</b></td></tr>
<tr class="separator:a13a53886f2645b9d94f3784c9b664d6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a095c42d98d750f64d6acade626b6cc7e" id="r_a095c42d98d750f64d6acade626b6cc7e"><td class="memItemLeft" align="right" valign="top"><a id="a095c42d98d750f64d6acade626b6cc7e" name="a095c42d98d750f64d6acade626b6cc7e"></a>
<a class="el" href="classstdex_1_1parser_1_1basic__any__cu.html">stdex::parser::basic_any_cu</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_any_char</b></td></tr>
<tr class="separator:a095c42d98d750f64d6acade626b6cc7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6ff9a07c77a0baff77bd18f51c5c9bc" id="r_ae6ff9a07c77a0baff77bd18f51c5c9bc"><td class="memItemLeft" align="right" valign="top"><a id="ae6ff9a07c77a0baff77bd18f51c5c9bc" name="ae6ff9a07c77a0baff77bd18f51c5c9bc"></a>
std::vector&lt; std::unique_ptr&lt; <a class="el" href="structstdex_1_1html_1_1entity.html">entity</a>&lt; T, TR, AX &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_entities</b></td></tr>
<tr class="memdesc:ae6ff9a07c77a0baff77bd18f51c5c9bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of entities. <br /></td></tr>
<tr class="separator:ae6ff9a07c77a0baff77bd18f51c5c9bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e39c9768993ca708cf5d97bd0715065" id="r_a9e39c9768993ca708cf5d97bd0715065"><td class="memItemLeft" align="right" valign="top"><a id="a9e39c9768993ca708cf5d97bd0715065" name="a9e39c9768993ca708cf5d97bd0715065"></a>
<a class="el" href="classstdex_1_1parser_1_1basic__html__tag.html">stdex::parser::basic_html_tag</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_tag</b></td></tr>
<tr class="separator:a9e39c9768993ca708cf5d97bd0715065"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8228c7a43502a0918d0e94569403be2f" id="r_a8228c7a43502a0918d0e94569403be2f"><td class="memItemLeft" align="right" valign="top"><a id="a8228c7a43502a0918d0e94569403be2f" name="a8228c7a43502a0918d0e94569403be2f"></a>
sequence_store&#160;</td><td class="memItemRight" valign="bottom"><b>m_sequences</b></td></tr>
<tr class="memdesc:a8228c7a43502a0918d0e94569403be2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store of sequences. <br /></td></tr>
<tr class="separator:a8228c7a43502a0918d0e94569403be2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6af078df6d8322da283445c12275ad9" id="r_aa6af078df6d8322da283445c12275ad9"><td class="memItemLeft" align="right" valign="top"><a id="aa6af078df6d8322da283445c12275ad9" name="aa6af078df6d8322da283445c12275ad9"></a>
std::vector&lt; <a class="el" href="classstdex_1_1html_1_1element__start.html">element_start</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_element_stack</b></td></tr>
<tr class="memdesc:aa6af078df6d8322da283445c12275ad9"><td class="mdescLeft">&#160;</td><td class="mdescRight">LIFO stack of started elements. <br /></td></tr>
<tr class="separator:aa6af078df6d8322da283445c12275ad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4e4403bba2f51ee61d0448c8a0dbd03" id="r_ae4e4403bba2f51ee61d0448c8a0dbd03"><td class="memItemLeft" align="right" valign="top"><a id="ae4e4403bba2f51ee61d0448c8a0dbd03" name="ae4e4403bba2f51ee61d0448c8a0dbd03"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>m_is_special_element</b></td></tr>
<tr class="memdesc:ae4e4403bba2f51ee61d0448c8a0dbd03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inside of a special element (&lt;SCRIPT&gt;, &lt;STYLE&gt;, ...)? <br /></td></tr>
<tr class="separator:ae4e4403bba2f51ee61d0448c8a0dbd03"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:abe4cd4cb5c10638d494059093f738f62" id="r_abe4cd4cb5c10638d494059093f738f62"><td class="memItemLeft" align="right" valign="top"><a id="abe4cd4cb5c10638d494059093f738f62" name="abe4cd4cb5c10638d494059093f738f62"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>parser&lt; T, TR, AX &gt;</b></td></tr>
<tr class="separator:abe4cd4cb5c10638d494059093f738f62"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;class T, class TR = std::char_traits&lt;T&gt;, class AX = std::allocator&lt;T&gt;&gt;<br />
class stdex::html::document&lt; T, TR, AX &gt;</div><p>HTML document. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="html_8hpp_source.html">html.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><b>html</b></li><li class="navelem"><a class="el" href="classstdex_1_1html_1_1element.html">element</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::html::element Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1html_1_1element.html">stdex::html::element</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1element.html#a7c087846ffc38135f3ff7665aec32364">attributes</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1element.html">stdex::html::element</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1element.html#acad269ffc367d3a7df7cb42fed0ed486">code</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1element.html">stdex::html::element</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>element</b>(stdex::parser::basic_html_tag&lt; T &gt; &amp;&amp;tag, const T *src, sequence *parent=nullptr) (defined in <a class="el" href="classstdex_1_1html_1_1element.html">stdex::html::element</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1element.html">stdex::html::element</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>element_code</b>(_In_reads_z_(num_chars) const T *name, size_t num_chars) (defined in <a class="el" href="classstdex_1_1html_1_1element.html">stdex::html::element</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1element.html">stdex::html::element</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html#a20b20431f4799454543b962d482a6ed7">interval</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1element.html#a0ac164c8f64a91166b90e8246661f85d">name</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1element.html">stdex::html::element</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html#a8eccbcd5829b97c67aa0fcc449292470">parent</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>sequence</b>(stdex::parser::html_sequence_t _type=stdex::parser::html_sequence_t::unknown, size_t start=0, size_t end=0, sequence *_parent=nullptr) (defined in <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html#a49c618139178a5fcbefaf13c08a98969">type</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~sequence</b>() (defined in <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,174 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::html::element Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><b>html</b></li><li class="navelem"><a class="el" href="classstdex_1_1html_1_1element.html">element</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classstdex_1_1html_1_1element-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::html::element Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>HTML element <code>&lt;.../&gt;</code>
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="html_8hpp_source.html">stdex/html.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::html::element:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1html_1_1element.png" usemap="#stdex::html::element_map" alt=""/>
<map id="stdex::html::element_map" name="stdex::html::element_map">
<area href="classstdex_1_1html_1_1sequence.html" title="Base class for HTML sequences." alt="stdex::html::sequence" shape="rect" coords="0,0,149,24"/>
<area href="classstdex_1_1html_1_1element__start.html" title="Starting tag of an HTML element &lt;...&gt;" alt="stdex::html::element_start" shape="rect" coords="0,112,149,136"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a06a4a00758927152ece17010cfff1381" id="r_a06a4a00758927152ece17010cfff1381"><td class="memTemplParams" colspan="2"><a id="a06a4a00758927152ece17010cfff1381" name="a06a4a00758927152ece17010cfff1381"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a06a4a00758927152ece17010cfff1381"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>element</b> (<a class="el" href="classstdex_1_1parser_1_1basic__html__tag.html">stdex::parser::basic_html_tag</a>&lt; T &gt; &amp;&amp;tag, const T *src, <a class="el" href="classstdex_1_1html_1_1sequence.html">sequence</a> *<a class="el" href="classstdex_1_1html_1_1sequence.html#a8eccbcd5829b97c67aa0fcc449292470">parent</a>=nullptr)</td></tr>
<tr class="separator:a06a4a00758927152ece17010cfff1381"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classstdex_1_1html_1_1sequence"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classstdex_1_1html_1_1sequence')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td></tr>
<tr class="memitem:a5176d92482223ebdaa725a990ff62f64 inherit pub_methods_classstdex_1_1html_1_1sequence" id="r_a5176d92482223ebdaa725a990ff62f64"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>sequence</b> (stdex::parser::html_sequence_t _type=stdex::parser::html_sequence_t::unknown, size_t start=0, size_t end=0, <a class="el" href="classstdex_1_1html_1_1sequence.html">sequence</a> *_parent=nullptr)</td></tr>
<tr class="separator:a5176d92482223ebdaa725a990ff62f64 inherit pub_methods_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a678310e34574f209d3b0a75e2186ded1" id="r_a678310e34574f209d3b0a75e2186ded1"><td class="memTemplParams" colspan="2"><a id="a678310e34574f209d3b0a75e2186ded1" name="a678310e34574f209d3b0a75e2186ded1"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a678310e34574f209d3b0a75e2186ded1"><td class="memTemplItemLeft" align="right" valign="top">static element_t&#160;</td><td class="memTemplItemRight" valign="bottom"><b>element_code</b> (_In_reads_z_(num_chars) const T *<a class="el" href="#a0ac164c8f64a91166b90e8246661f85d">name</a>, size_t num_chars)</td></tr>
<tr class="separator:a678310e34574f209d3b0a75e2186ded1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:acad269ffc367d3a7df7cb42fed0ed486" id="r_acad269ffc367d3a7df7cb42fed0ed486"><td class="memItemLeft" align="right" valign="top"><a id="acad269ffc367d3a7df7cb42fed0ed486" name="acad269ffc367d3a7df7cb42fed0ed486"></a>
element_t&#160;</td><td class="memItemRight" valign="bottom"><b>code</b></td></tr>
<tr class="memdesc:acad269ffc367d3a7df7cb42fed0ed486"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element code. <br /></td></tr>
<tr class="separator:acad269ffc367d3a7df7cb42fed0ed486"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ac164c8f64a91166b90e8246661f85d" id="r_a0ac164c8f64a91166b90e8246661f85d"><td class="memItemLeft" align="right" valign="top"><a id="a0ac164c8f64a91166b90e8246661f85d" name="a0ac164c8f64a91166b90e8246661f85d"></a>
<a class="el" href="structstdex_1_1interval.html">stdex::interval</a>&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>name</b></td></tr>
<tr class="memdesc:a0ac164c8f64a91166b90e8246661f85d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element name position in source. <br /></td></tr>
<tr class="separator:a0ac164c8f64a91166b90e8246661f85d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c087846ffc38135f3ff7665aec32364" id="r_a7c087846ffc38135f3ff7665aec32364"><td class="memItemLeft" align="right" valign="top"><a id="a7c087846ffc38135f3ff7665aec32364" name="a7c087846ffc38135f3ff7665aec32364"></a>
std::vector&lt; <a class="el" href="structstdex_1_1parser_1_1html__attribute.html">stdex::parser::html_attribute</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>attributes</b></td></tr>
<tr class="memdesc:a7c087846ffc38135f3ff7665aec32364"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element attribute positions in source. <br /></td></tr>
<tr class="separator:a7c087846ffc38135f3ff7665aec32364"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_classstdex_1_1html_1_1sequence"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_classstdex_1_1html_1_1sequence')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td></tr>
<tr class="memitem:a49c618139178a5fcbefaf13c08a98969 inherit pub_attribs_classstdex_1_1html_1_1sequence" id="r_a49c618139178a5fcbefaf13c08a98969"><td class="memItemLeft" align="right" valign="top">
stdex::parser::html_sequence_t&#160;</td><td class="memItemRight" valign="bottom"><b>type</b></td></tr>
<tr class="memdesc:a49c618139178a5fcbefaf13c08a98969 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sequence type. Enum is used for performance reasons (vs. <code>dynamic_cast</code>) <br /></td></tr>
<tr class="separator:a49c618139178a5fcbefaf13c08a98969 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20b20431f4799454543b962d482a6ed7 inherit pub_attribs_classstdex_1_1html_1_1sequence" id="r_a20b20431f4799454543b962d482a6ed7"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="structstdex_1_1interval.html">stdex::interval</a>&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>interval</b></td></tr>
<tr class="memdesc:a20b20431f4799454543b962d482a6ed7 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sequence position in source. <br /></td></tr>
<tr class="separator:a20b20431f4799454543b962d482a6ed7 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8eccbcd5829b97c67aa0fcc449292470 inherit pub_attribs_classstdex_1_1html_1_1sequence" id="r_a8eccbcd5829b97c67aa0fcc449292470"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1html_1_1sequence.html">sequence</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>parent</b></td></tr>
<tr class="memdesc:a8eccbcd5829b97c67aa0fcc449292470 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parent sequence. <br /></td></tr>
<tr class="separator:a8eccbcd5829b97c67aa0fcc449292470 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>HTML element <code>&lt;.../&gt;</code> </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="html_8hpp_source.html">html.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 929 B

View File

@ -0,0 +1,114 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><b>html</b></li><li class="navelem"><a class="el" href="classstdex_1_1html_1_1element__end.html">element_end</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">stdex::html::element_end Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classstdex_1_1html_1_1element__end.html">stdex::html::element_end</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1element__end.html#ae84212100b568b2ba305592b93219f5a">code</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1element__end.html">stdex::html::element_end</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>element_end</b>(stdex::parser::basic_html_tag&lt; T &gt; &amp;&amp;tag, const T *src, sequence *parent=nullptr, element_start *_start=nullptr) (defined in <a class="el" href="classstdex_1_1html_1_1element__end.html">stdex::html::element_end</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1element__end.html">stdex::html::element_end</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html#a20b20431f4799454543b962d482a6ed7">interval</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1element__end.html#a8a7a4be93f9833d35842a80b5e417982">name</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1element__end.html">stdex::html::element_end</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html#a8eccbcd5829b97c67aa0fcc449292470">parent</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>sequence</b>(stdex::parser::html_sequence_t _type=stdex::parser::html_sequence_t::unknown, size_t start=0, size_t end=0, sequence *_parent=nullptr) (defined in <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classstdex_1_1html_1_1element__end.html#ab261fd8fa4c08c10e81b2e50b94d1cc0">start</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1element__end.html">stdex::html::element_end</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html#a49c618139178a5fcbefaf13c08a98969">type</a></td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~sequence</b>() (defined in <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a>)</td><td class="entry"><a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,165 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::html::element_end Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><b>html</b></li><li class="navelem"><a class="el" href="classstdex_1_1html_1_1element__end.html">element_end</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classstdex_1_1html_1_1element__end-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::html::element_end Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Ending tag of an HTML element <code>&lt;/...&gt;</code>
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="html_8hpp_source.html">stdex/html.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for stdex::html::element_end:</div>
<div class="dyncontent">
<div class="center">
<img src="classstdex_1_1html_1_1element__end.png" usemap="#stdex::html::element_5Fend_map" alt=""/>
<map id="stdex::html::element_5Fend_map" name="stdex::html::element_5Fend_map">
<area href="classstdex_1_1html_1_1sequence.html" title="Base class for HTML sequences." alt="stdex::html::sequence" shape="rect" coords="0,0,146,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae230acaf094d438bb6c48e92406c1a38" id="r_ae230acaf094d438bb6c48e92406c1a38"><td class="memTemplParams" colspan="2"><a id="ae230acaf094d438bb6c48e92406c1a38" name="ae230acaf094d438bb6c48e92406c1a38"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:ae230acaf094d438bb6c48e92406c1a38"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>element_end</b> (<a class="el" href="classstdex_1_1parser_1_1basic__html__tag.html">stdex::parser::basic_html_tag</a>&lt; T &gt; &amp;&amp;tag, const T *src, <a class="el" href="classstdex_1_1html_1_1sequence.html">sequence</a> *<a class="el" href="classstdex_1_1html_1_1sequence.html#a8eccbcd5829b97c67aa0fcc449292470">parent</a>=nullptr, <a class="el" href="classstdex_1_1html_1_1element__start.html">element_start</a> *_start=nullptr)</td></tr>
<tr class="separator:ae230acaf094d438bb6c48e92406c1a38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classstdex_1_1html_1_1sequence"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classstdex_1_1html_1_1sequence')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td></tr>
<tr class="memitem:a5176d92482223ebdaa725a990ff62f64 inherit pub_methods_classstdex_1_1html_1_1sequence" id="r_a5176d92482223ebdaa725a990ff62f64"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>sequence</b> (stdex::parser::html_sequence_t _type=stdex::parser::html_sequence_t::unknown, size_t start=0, size_t end=0, <a class="el" href="classstdex_1_1html_1_1sequence.html">sequence</a> *_parent=nullptr)</td></tr>
<tr class="separator:a5176d92482223ebdaa725a990ff62f64 inherit pub_methods_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ae84212100b568b2ba305592b93219f5a" id="r_ae84212100b568b2ba305592b93219f5a"><td class="memItemLeft" align="right" valign="top"><a id="ae84212100b568b2ba305592b93219f5a" name="ae84212100b568b2ba305592b93219f5a"></a>
element_t&#160;</td><td class="memItemRight" valign="bottom"><b>code</b></td></tr>
<tr class="memdesc:ae84212100b568b2ba305592b93219f5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element code. <br /></td></tr>
<tr class="separator:ae84212100b568b2ba305592b93219f5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a7a4be93f9833d35842a80b5e417982" id="r_a8a7a4be93f9833d35842a80b5e417982"><td class="memItemLeft" align="right" valign="top"><a id="a8a7a4be93f9833d35842a80b5e417982" name="a8a7a4be93f9833d35842a80b5e417982"></a>
<a class="el" href="structstdex_1_1interval.html">stdex::interval</a>&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>name</b></td></tr>
<tr class="memdesc:a8a7a4be93f9833d35842a80b5e417982"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element name position in source. <br /></td></tr>
<tr class="separator:a8a7a4be93f9833d35842a80b5e417982"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab261fd8fa4c08c10e81b2e50b94d1cc0" id="r_ab261fd8fa4c08c10e81b2e50b94d1cc0"><td class="memItemLeft" align="right" valign="top"><a id="ab261fd8fa4c08c10e81b2e50b94d1cc0" name="ab261fd8fa4c08c10e81b2e50b94d1cc0"></a>
<a class="el" href="classstdex_1_1html_1_1element__start.html">element_start</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>start</b></td></tr>
<tr class="memdesc:ab261fd8fa4c08c10e81b2e50b94d1cc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponding starting tag. <br /></td></tr>
<tr class="separator:ab261fd8fa4c08c10e81b2e50b94d1cc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_classstdex_1_1html_1_1sequence"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_classstdex_1_1html_1_1sequence')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classstdex_1_1html_1_1sequence.html">stdex::html::sequence</a></td></tr>
<tr class="memitem:a49c618139178a5fcbefaf13c08a98969 inherit pub_attribs_classstdex_1_1html_1_1sequence" id="r_a49c618139178a5fcbefaf13c08a98969"><td class="memItemLeft" align="right" valign="top">
stdex::parser::html_sequence_t&#160;</td><td class="memItemRight" valign="bottom"><b>type</b></td></tr>
<tr class="memdesc:a49c618139178a5fcbefaf13c08a98969 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sequence type. Enum is used for performance reasons (vs. <code>dynamic_cast</code>) <br /></td></tr>
<tr class="separator:a49c618139178a5fcbefaf13c08a98969 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20b20431f4799454543b962d482a6ed7 inherit pub_attribs_classstdex_1_1html_1_1sequence" id="r_a20b20431f4799454543b962d482a6ed7"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="structstdex_1_1interval.html">stdex::interval</a>&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>interval</b></td></tr>
<tr class="memdesc:a20b20431f4799454543b962d482a6ed7 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sequence position in source. <br /></td></tr>
<tr class="separator:a20b20431f4799454543b962d482a6ed7 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8eccbcd5829b97c67aa0fcc449292470 inherit pub_attribs_classstdex_1_1html_1_1sequence" id="r_a8eccbcd5829b97c67aa0fcc449292470"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classstdex_1_1html_1_1sequence.html">sequence</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>parent</b></td></tr>
<tr class="memdesc:a8eccbcd5829b97c67aa0fcc449292470 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parent sequence. <br /></td></tr>
<tr class="separator:a8eccbcd5829b97c67aa0fcc449292470 inherit pub_attribs_classstdex_1_1html_1_1sequence"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Ending tag of an HTML element <code>&lt;/...&gt;</code> </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="html_8hpp_source.html">html.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:43 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

Some files were not shown because too many files have changed in this diff Show More