Compare commits

..

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

120 changed files with 3719 additions and 9278 deletions

39
.github/workflows/main.yml vendored Normal file
View File

@ -0,0 +1,39 @@
# 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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
xcuserdata/

View File

2664
Doxyfile Normal file

File diff suppressed because it is too large Load Diff

9
LICENSE Normal file
View File

@ -0,0 +1,9 @@
The MIT License (MIT)
Copyright © 1991-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.

53
README.md Normal file
View File

@ -0,0 +1,53 @@
# MacStd
Provides templates and function helpers for OS X API using Standard C++ in XCode 13+
## Features
### Portable
This project does not require building. Just `#include` individual files from this repository into your source code and get started.
### Functions and Templates
Different OS X API functions have different ways of returning variable-sized data. Getting tired of carefully studying manpages for each particular API function how to preallocate the output memory correctly? We too...
MacStd provides a subset of OS X API identically named functions (C++ polymorphism to the rescue), where one can use `std::string`, `std::wstring`, `std::vector<>` etc. as an output parameter. MacStd handles all the dirty work with memory allocation for you, so you can focus on your code.
#### Example
```C++
std::string path;
_NSGetExecutablePath(path);
std::cout << path.c_str() << std::endl;
```
## What MacStd Is Not
MacStd is not trying to be a full-fledged object-oriented framework on top of OS X API. MacStd aims at augmenting OS X API with a little bit of help from C++.
## Usage
1. Clone the repository into your solution folder.
2. Add MacStd's `include` folder to _Header Search Paths_ in your project's C/C++ settings.
3. Include `.h` files from MacStd as needed:
```C++
#include <MacStd/dyld.hpp>
#include <string>
#include <iostream>
using namespace std;
void main()
{
wstring path;
_NSGetExecutablePath(path);
wcout << path.c_str() << endl;
}
```
An auto-generated documentation is [here](https://amebis.github.io/MacStd/).
More examples can also be found in the `Tests` project.
This is a one-man project for the time being, so the OS X API support is far from complete. It is added as needed. Contributions are welcome.

View File

@ -1,135 +0,0 @@
<!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>MacStd: include/MacStd/CoreFoundation.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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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_49bef833487b2e4ec885e49af66a06b7.html">MacStd</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">CoreFoundation.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;common.hpp&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;CoreFoundation/CoreFoundation.h&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">namespace </span>macstd {</div>
<div class="foldopen" id="foldopen00016" data-start="{" data-end="};">
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"><a class="line" href="structmacstd_1_1_c_f_release__delete.html"> 16</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structmacstd_1_1_c_f_release__delete.html">CFRelease_delete</a></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> {</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="structmacstd_1_1_c_f_release__delete.html#a6aa1065ba889687f0e8798deb57ba3cc"> 21</a></span> <a class="code hl_function" href="structmacstd_1_1_c_f_release__delete.html#a6aa1065ba889687f0e8798deb57ba3cc">CFRelease_delete</a>() noexcept {}</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span> _T&gt;</div>
<div class="foldopen" id="foldopen00029" data-start="{" data-end="}">
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="structmacstd_1_1_c_f_release__delete.html#ada4a1d4eab1b2f91d655335b64cc2726"> 29</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="structmacstd_1_1_c_f_release__delete.html#ada4a1d4eab1b2f91d655335b64cc2726">operator()</a>(_T *_Ptr)<span class="keyword"> const</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> CFRelease(_Ptr);</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> }</div>
</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> };</div>
</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">using </span>CFType = std::unique_ptr&lt;T, CFRelease_delete&gt;;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>}</div>
<div class="ttc" id="astructmacstd_1_1_c_f_release__delete_html"><div class="ttname"><a href="structmacstd_1_1_c_f_release__delete.html">macstd::CFRelease_delete</a></div><div class="ttdoc">Deleter for unique_ptr using CFRelease.</div><div class="ttdef"><b>Definition</b> CoreFoundation.hpp:17</div></div>
<div class="ttc" id="astructmacstd_1_1_c_f_release__delete_html_a6aa1065ba889687f0e8798deb57ba3cc"><div class="ttname"><a href="structmacstd_1_1_c_f_release__delete.html#a6aa1065ba889687f0e8798deb57ba3cc">macstd::CFRelease_delete::CFRelease_delete</a></div><div class="ttdeci">CFRelease_delete() noexcept</div><div class="ttdoc">Default constructor.</div><div class="ttdef"><b>Definition</b> CoreFoundation.hpp:21</div></div>
<div class="ttc" id="astructmacstd_1_1_c_f_release__delete_html_ada4a1d4eab1b2f91d655335b64cc2726"><div class="ttname"><a href="structmacstd_1_1_c_f_release__delete.html#ada4a1d4eab1b2f91d655335b64cc2726">macstd::CFRelease_delete::operator()</a></div><div class="ttdeci">void operator()(_T *_Ptr) const</div><div class="ttdoc">Delete a pointer.</div><div class="ttdef"><b>Definition</b> CoreFoundation.hpp:29</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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,152 +0,0 @@
<!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>MacStd: include/MacStd/IOKit.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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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_49bef833487b2e4ec885e49af66a06b7.html">MacStd</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">IOKit.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 © 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;common.hpp&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#import &lt;IOKit/IOKitLib.h&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">namespace </span>macstd {</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="foldopen" id="foldopen00016" data-start="{" data-end="};">
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"><a class="line" href="classmacstd_1_1io__object.html"> 16</a></span> <span class="keyword">class </span><a class="code hl_class" href="classmacstd_1_1io__object.html">io_object</a> : <span class="keyword">public</span> <a class="code hl_class" href="classmacstd_1_1handle.html">handle</a>&lt;T, 0&gt;</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> MACSTD_HANDLE_IMPL(<a class="code hl_class" href="classmacstd_1_1io__object.html">io_object</a>, T, 0)</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">public</span>:</div>
<div class="foldopen" id="foldopen00026" data-start="{" data-end="}">
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="classmacstd_1_1io__object.html#a0608c7dbed214b5cb4626fb23a9b1aca"> 26</a></span> <span class="keyword">virtual</span> <a class="code hl_function" href="classmacstd_1_1io__object.html#a0608c7dbed214b5cb4626fb23a9b1aca">~io_object</a>()</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> {</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordflow">if</span> (this-&gt;<a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> != 0)</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <a class="code hl_function" href="classmacstd_1_1io__object.html#a897840743bbbdc938e757781fc453cb5">free_internal</a>();</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> }</div>
</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">protected</span>:</div>
<div class="foldopen" id="foldopen00038" data-start="{" data-end="}">
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="classmacstd_1_1io__object.html#a897840743bbbdc938e757781fc453cb5"> 38</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmacstd_1_1io__object.html#a897840743bbbdc938e757781fc453cb5">free_internal</a>() noexcept<span class="keyword"> override</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> IOObjectRelease(this-&gt;<a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a>);</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> }</div>
</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> };</div>
</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> <span class="keyword">using </span>io_connect = io_object&lt;io_connect_t&gt;;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">using </span>io_enumerator = io_object&lt;io_enumerator_t&gt;;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">using </span>io_ident = io_object&lt;io_ident_t&gt;;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">using </span>io_iterator = io_object&lt;io_iterator_t&gt;;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">using </span>io_registry_entry = io_object&lt;io_registry_entry_t&gt;;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">using </span>io_service = io_object&lt;io_service_t&gt;;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">using </span>uext_object = io_object&lt;uext_object_t&gt;;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span>}</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="ttc" id="aclassmacstd_1_1handle_html"><div class="ttname"><a href="classmacstd_1_1handle.html">macstd::handle</a></div><div class="ttdoc">Base abstract template class to support generic object handle keeping.</div><div class="ttdef"><b>Definition</b> common.hpp:70</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_ab65b198a6e06f14b29be176cdff7556e"><div class="ttname"><a href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">macstd::handle&lt; T, 0 &gt;::m_h</a></div><div class="ttdeci">T m_h</div><div class="ttdef"><b>Definition</b> common.hpp:312</div></div>
<div class="ttc" id="aclassmacstd_1_1io__object_html"><div class="ttname"><a href="classmacstd_1_1io__object.html">macstd::io_object</a></div><div class="ttdoc">IOKit handle wrapper class.</div><div class="ttdef"><b>Definition</b> IOKit.hpp:17</div></div>
<div class="ttc" id="aclassmacstd_1_1io__object_html_a0608c7dbed214b5cb4626fb23a9b1aca"><div class="ttname"><a href="classmacstd_1_1io__object.html#a0608c7dbed214b5cb4626fb23a9b1aca">macstd::io_object::~io_object</a></div><div class="ttdeci">virtual ~io_object()</div><div class="ttdoc">Releases an object handle.</div><div class="ttdef"><b>Definition</b> IOKit.hpp:26</div></div>
<div class="ttc" id="aclassmacstd_1_1io__object_html_a897840743bbbdc938e757781fc453cb5"><div class="ttname"><a href="classmacstd_1_1io__object.html#a897840743bbbdc938e757781fc453cb5">macstd::io_object::free_internal</a></div><div class="ttdeci">void free_internal() noexcept override</div><div class="ttdoc">Releases an object handle.</div><div class="ttdef"><b>Definition</b> IOKit.hpp:38</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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,107 +0,0 @@
<!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>MacStd: 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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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>]</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>macstd</b></td><td class="desc"></td></tr>
<tr id="row_0_0_" 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="structmacstd_1_1_c_f_release__delete.html" target="_self">CFRelease_delete</a></td><td class="desc">Deleter for unique_ptr using CFRelease </td></tr>
<tr id="row_0_1_" 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="classmacstd_1_1dplhandle.html" target="_self">dplhandle</a></td><td class="desc">Base abstract template class to support object handle keeping for objects that support trivial handle duplication </td></tr>
<tr id="row_0_2_" 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="classmacstd_1_1handle.html" target="_self">handle</a></td><td class="desc">Base abstract template class to support generic object handle keeping </td></tr>
<tr id="row_0_3_" 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="classmacstd_1_1io__object.html" target="_self">io_object</a></td><td class="desc">IOKit handle wrapper class </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 676 B

BIN
bc_sd.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 635 B

View File

@ -1,113 +0,0 @@
<!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>MacStd: Class Index</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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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 Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_C" name="letter_C">C</a></dt>
<dd><a class="el" href="structmacstd_1_1_c_f_release__delete.html">CFRelease_delete</a> (macstd)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_D" name="letter_D">D</a></dt>
<dd><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a> (macstd)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_H" name="letter_H">H</a></dt>
<dd><a class="el" href="classmacstd_1_1handle.html">handle</a> (macstd)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_I" name="letter_I">I</a></dt>
<dd><a class="el" href="classmacstd_1_1io__object.html">io_object</a> (macstd)</dd></dl>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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,135 +0,0 @@
<!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>MacStd: 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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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>macstd</b></li><li class="navelem"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">macstd::dplhandle&lt; T, INVAL &gt; Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle&lt; T, INVAL &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd">attach</a>(T h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html#acf0b725b54793b240572c0fe86537f3c">attach_duplicated</a>(T h)</td><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325">detach</a>()</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html#a1b873380277a79a12dca3ba59f862529">dplhandle</a>() noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html#a7250ebf4632a7d48b071dc10b8e4b986">dplhandle</a>(T h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html#a835eca8008bbdd42aa4bbb76072c637b">dplhandle</a>(const dplhandle&lt; T, INVAL &gt; &amp;h)</td><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html#a8bb0531c1a3eacc4a60604e438b3ed71">dplhandle</a>(dplhandle&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html#ae43e59554d0d11b4500daa5bd50bda0d">duplicate</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html#a33df964f028970ac0321568c3582d550">duplicate_internal</a>(T h) const =0</td><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#afbc07860aaf0eeeabe6e7e7474b6d176">free</a>()</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">free_internal</a>() noexcept=0</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e">handle</a>() noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a5906d39969037175bf5b148935ab1d05">handle</a>(T h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ae5e62370d363a2db991b691f5fa4d914">handle</a>(handle&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a></td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a1c6c0152d5cc967558720e9f8ce218df">operator T</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62">operator!</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a">operator!=</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960">operator&amp;</a>()</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c">operator*</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878">operator-&gt;</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23">operator&lt;</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b">operator&lt;=</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html#a5f336d173be030936c7eaec80727a0a6">operator=</a>(T h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html#af25c2323ce6030400bf12be762565350">operator=</a>(const dplhandle&lt; T, INVAL &gt; &amp;h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html#a71b36749116393468cc7b9307ff21128">operator=</a>(dplhandle&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a2027dc26b8d7dac3410dd9e302a01e31">macstd::handle::operator=</a>(handle&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129">operator==</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2">operator&gt;</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e">operator&gt;=</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &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 Oct 1 2024 11:48:46 for MacStd 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,549 +0,0 @@
<!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>MacStd: macstd::dplhandle&lt; T, INVAL &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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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>macstd</b></li><li class="navelem"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</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="classmacstd_1_1dplhandle-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">macstd::dplhandle&lt; T, INVAL &gt; Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">
<p>Base abstract template class to support object handle keeping for objects that support trivial handle duplication.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="common_8hpp_source.html">MacStd/common.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for macstd::dplhandle&lt; T, INVAL &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classmacstd_1_1dplhandle.png" usemap="#macstd::dplhandle_3C_20T_2C_20INVAL_20_3E_map" alt=""/>
<map id="macstd::dplhandle_3C_20T_2C_20INVAL_20_3E_map" name="macstd::dplhandle_3C_20T_2C_20INVAL_20_3E_map">
<area href="classmacstd_1_1handle.html" title="Base abstract template class to support generic object handle keeping." alt="macstd::handle&lt; T, INVAL &gt;" shape="rect" coords="0,0,189,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:a1b873380277a79a12dca3ba59f862529" id="r_a1b873380277a79a12dca3ba59f862529"><td class="memItemLeft" align="right" valign="top"><a id="a1b873380277a79a12dca3ba59f862529" name="a1b873380277a79a12dca3ba59f862529"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>dplhandle</b> () noexcept</td></tr>
<tr class="memdesc:a1b873380277a79a12dca3ba59f862529"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new class instance with the object handle set to INVAL. <br /></td></tr>
<tr class="separator:a1b873380277a79a12dca3ba59f862529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7250ebf4632a7d48b071dc10b8e4b986" id="r_a7250ebf4632a7d48b071dc10b8e4b986"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7250ebf4632a7d48b071dc10b8e4b986">dplhandle</a> (T h) noexcept</td></tr>
<tr class="memdesc:a7250ebf4632a7d48b071dc10b8e4b986"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new class instance with an already available object handle. <br /></td></tr>
<tr class="separator:a7250ebf4632a7d48b071dc10b8e4b986"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a835eca8008bbdd42aa4bbb76072c637b" id="r_a835eca8008bbdd42aa4bbb76072c637b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a835eca8008bbdd42aa4bbb76072c637b">dplhandle</a> (const <a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;h)</td></tr>
<tr class="memdesc:a835eca8008bbdd42aa4bbb76072c637b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:a835eca8008bbdd42aa4bbb76072c637b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bb0531c1a3eacc4a60604e438b3ed71" id="r_a8bb0531c1a3eacc4a60604e438b3ed71"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8bb0531c1a3eacc4a60604e438b3ed71">dplhandle</a> (<a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td></tr>
<tr class="memdesc:a8bb0531c1a3eacc4a60604e438b3ed71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <br /></td></tr>
<tr class="separator:a8bb0531c1a3eacc4a60604e438b3ed71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f336d173be030936c7eaec80727a0a6" id="r_a5f336d173be030936c7eaec80727a0a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5f336d173be030936c7eaec80727a0a6">operator=</a> (T h) noexcept</td></tr>
<tr class="memdesc:a5f336d173be030936c7eaec80727a0a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attaches already available object handle. <br /></td></tr>
<tr class="separator:a5f336d173be030936c7eaec80727a0a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af25c2323ce6030400bf12be762565350" id="r_af25c2323ce6030400bf12be762565350"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af25c2323ce6030400bf12be762565350">operator=</a> (const <a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;h) noexcept</td></tr>
<tr class="memdesc:af25c2323ce6030400bf12be762565350"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicates the object. <br /></td></tr>
<tr class="separator:af25c2323ce6030400bf12be762565350"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71b36749116393468cc7b9307ff21128" id="r_a71b36749116393468cc7b9307ff21128"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a71b36749116393468cc7b9307ff21128">operator=</a> (<a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td></tr>
<tr class="memdesc:a71b36749116393468cc7b9307ff21128"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves the object. <br /></td></tr>
<tr class="separator:a71b36749116393468cc7b9307ff21128"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae43e59554d0d11b4500daa5bd50bda0d" id="r_ae43e59554d0d11b4500daa5bd50bda0d"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae43e59554d0d11b4500daa5bd50bda0d">duplicate</a> () const</td></tr>
<tr class="memdesc:ae43e59554d0d11b4500daa5bd50bda0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicates and returns a new object handle. <br /></td></tr>
<tr class="separator:ae43e59554d0d11b4500daa5bd50bda0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf0b725b54793b240572c0fe86537f3c" id="r_acf0b725b54793b240572c0fe86537f3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acf0b725b54793b240572c0fe86537f3c">attach_duplicated</a> (T h)</td></tr>
<tr class="memdesc:acf0b725b54793b240572c0fe86537f3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicates an object handle and sets a new object handle. <br /></td></tr>
<tr class="separator:acf0b725b54793b240572c0fe86537f3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classmacstd_1_1handle"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classmacstd_1_1handle')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td></tr>
<tr class="memitem:a58be08519d6208ba2716dcd79d2f295e inherit pub_methods_classmacstd_1_1handle" id="r_a58be08519d6208ba2716dcd79d2f295e"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>handle</b> () noexcept</td></tr>
<tr class="memdesc:a58be08519d6208ba2716dcd79d2f295e inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new class instance with the object handle set to INVAL. <br /></td></tr>
<tr class="separator:a58be08519d6208ba2716dcd79d2f295e inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5906d39969037175bf5b148935ab1d05 inherit pub_methods_classmacstd_1_1handle" id="r_a5906d39969037175bf5b148935ab1d05"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a5906d39969037175bf5b148935ab1d05">handle</a> (T h) noexcept</td></tr>
<tr class="memdesc:a5906d39969037175bf5b148935ab1d05 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new class instance with an already available object handle. <br /></td></tr>
<tr class="separator:a5906d39969037175bf5b148935ab1d05 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5e62370d363a2db991b691f5fa4d914 inherit pub_methods_classmacstd_1_1handle" id="r_ae5e62370d363a2db991b691f5fa4d914"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ae5e62370d363a2db991b691f5fa4d914">handle</a> (<a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td></tr>
<tr class="memdesc:ae5e62370d363a2db991b691f5fa4d914 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <br /></td></tr>
<tr class="separator:ae5e62370d363a2db991b691f5fa4d914 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0e382917ebdceabe1d1c80780cec8fd inherit pub_methods_classmacstd_1_1handle" id="r_ad0e382917ebdceabe1d1c80780cec8fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd">operator=</a> (T h) noexcept</td></tr>
<tr class="memdesc:ad0e382917ebdceabe1d1c80780cec8fd inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attaches already available object handle. <br /></td></tr>
<tr class="separator:ad0e382917ebdceabe1d1c80780cec8fd inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2027dc26b8d7dac3410dd9e302a01e31 inherit pub_methods_classmacstd_1_1handle" id="r_a2027dc26b8d7dac3410dd9e302a01e31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a2027dc26b8d7dac3410dd9e302a01e31">operator=</a> (<a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td></tr>
<tr class="memdesc:a2027dc26b8d7dac3410dd9e302a01e31 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment. <br /></td></tr>
<tr class="separator:a2027dc26b8d7dac3410dd9e302a01e31 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c6c0152d5cc967558720e9f8ce218df inherit pub_methods_classmacstd_1_1handle" id="r_a1c6c0152d5cc967558720e9f8ce218df"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a1c6c0152d5cc967558720e9f8ce218df">operator T</a> () const</td></tr>
<tr class="memdesc:a1c6c0152d5cc967558720e9f8ce218df inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Auto-typecasting operator. <br /></td></tr>
<tr class="separator:a1c6c0152d5cc967558720e9f8ce218df inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab9ec0feedeb9d115f37d938e923d10c inherit pub_methods_classmacstd_1_1handle" id="r_aab9ec0feedeb9d115f37d938e923d10c"><td class="memItemLeft" align="right" valign="top">T *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c">operator*</a> () const</td></tr>
<tr class="memdesc:aab9ec0feedeb9d115f37d938e923d10c inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object handle value when the object handle is a pointer to a value (class, struct, etc.). <br /></td></tr>
<tr class="separator:aab9ec0feedeb9d115f37d938e923d10c inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8405a3ff7aefc002779984f856678960 inherit pub_methods_classmacstd_1_1handle" id="r_a8405a3ff7aefc002779984f856678960"><td class="memItemLeft" align="right" valign="top">T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960">operator&amp;</a> ()</td></tr>
<tr class="memdesc:a8405a3ff7aefc002779984f856678960 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object handle reference. <br /></td></tr>
<tr class="separator:a8405a3ff7aefc002779984f856678960 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff8db2489369bcdbb9ebf60ee7095878 inherit pub_methods_classmacstd_1_1handle" id="r_aff8db2489369bcdbb9ebf60ee7095878"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878">operator-&gt;</a> () const</td></tr>
<tr class="memdesc:aff8db2489369bcdbb9ebf60ee7095878 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides object handle member access when the object handle is a pointer to a class or struct. <br /></td></tr>
<tr class="separator:aff8db2489369bcdbb9ebf60ee7095878 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1d446bed338bb91b639fe2f34141b62 inherit pub_methods_classmacstd_1_1handle" id="r_ac1d446bed338bb91b639fe2f34141b62"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62">operator!</a> () const</td></tr>
<tr class="memdesc:ac1d446bed338bb91b639fe2f34141b62 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if the object handle is invalid. <br /></td></tr>
<tr class="separator:ac1d446bed338bb91b639fe2f34141b62 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae50ded4e3696cebbdb5145fa8f58ad23 inherit pub_methods_classmacstd_1_1handle" id="r_ae50ded4e3696cebbdb5145fa8f58ad23"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23">operator&lt;</a> (T h) const</td></tr>
<tr class="memdesc:ae50ded4e3696cebbdb5145fa8f58ad23 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle less than? <br /></td></tr>
<tr class="separator:ae50ded4e3696cebbdb5145fa8f58ad23 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eaa05a6124133c11663f1c6c2666f7b inherit pub_methods_classmacstd_1_1handle" id="r_a4eaa05a6124133c11663f1c6c2666f7b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b">operator&lt;=</a> (T h) const</td></tr>
<tr class="memdesc:a4eaa05a6124133c11663f1c6c2666f7b inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle less than or equal to? <br /></td></tr>
<tr class="separator:a4eaa05a6124133c11663f1c6c2666f7b inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10b5fff674bc904f841925f54a98801e inherit pub_methods_classmacstd_1_1handle" id="r_a10b5fff674bc904f841925f54a98801e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e">operator&gt;=</a> (T h) const</td></tr>
<tr class="memdesc:a10b5fff674bc904f841925f54a98801e inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle greater than or equal to? <br /></td></tr>
<tr class="separator:a10b5fff674bc904f841925f54a98801e inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a862b5aec5f974071ddf14a2a7b6570d2 inherit pub_methods_classmacstd_1_1handle" id="r_a862b5aec5f974071ddf14a2a7b6570d2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2">operator&gt;</a> (T h) const</td></tr>
<tr class="memdesc:a862b5aec5f974071ddf14a2a7b6570d2 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle greater than? <br /></td></tr>
<tr class="separator:a862b5aec5f974071ddf14a2a7b6570d2 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcc4a33c5a33325aa3106d9eaab5384a inherit pub_methods_classmacstd_1_1handle" id="r_adcc4a33c5a33325aa3106d9eaab5384a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a">operator!=</a> (T h) const</td></tr>
<tr class="memdesc:adcc4a33c5a33325aa3106d9eaab5384a inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle not equal to? <br /></td></tr>
<tr class="separator:adcc4a33c5a33325aa3106d9eaab5384a inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a724b10f5424177670f04180e32b7f129 inherit pub_methods_classmacstd_1_1handle" id="r_a724b10f5424177670f04180e32b7f129"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129">operator==</a> (T h) const</td></tr>
<tr class="memdesc:a724b10f5424177670f04180e32b7f129 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle equal to? <br /></td></tr>
<tr class="separator:a724b10f5424177670f04180e32b7f129 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69d07a5c3334ce61998880b0d620c6fd inherit pub_methods_classmacstd_1_1handle" id="r_a69d07a5c3334ce61998880b0d620c6fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd">attach</a> (T h) noexcept</td></tr>
<tr class="memdesc:a69d07a5c3334ce61998880b0d620c6fd inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a new object handle for the class. <br /></td></tr>
<tr class="separator:a69d07a5c3334ce61998880b0d620c6fd inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad17472a1418050b801ee80a32c49c325 inherit pub_methods_classmacstd_1_1handle" id="r_ad17472a1418050b801ee80a32c49c325"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325">detach</a> ()</td></tr>
<tr class="memdesc:ad17472a1418050b801ee80a32c49c325 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dismisses the object handle from this class. <br /></td></tr>
<tr class="separator:ad17472a1418050b801ee80a32c49c325 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc07860aaf0eeeabe6e7e7474b6d176 inherit pub_methods_classmacstd_1_1handle" id="r_afbc07860aaf0eeeabe6e7e7474b6d176"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>free</b> ()</td></tr>
<tr class="memdesc:afbc07860aaf0eeeabe6e7e7474b6d176 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys the object. <br /></td></tr>
<tr class="separator:afbc07860aaf0eeeabe6e7e7474b6d176 inherit pub_methods_classmacstd_1_1handle"><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:a33df964f028970ac0321568c3582d550" id="r_a33df964f028970ac0321568c3582d550"><td class="memItemLeft" align="right" valign="top">virtual T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a33df964f028970ac0321568c3582d550">duplicate_internal</a> (T h) const =0</td></tr>
<tr class="memdesc:a33df964f028970ac0321568c3582d550"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle. <br /></td></tr>
<tr class="separator:a33df964f028970ac0321568c3582d550"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classmacstd_1_1handle"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_classmacstd_1_1handle')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td></tr>
<tr class="memitem:a5e3365827f995ee2a580d2c669ddcafe inherit pro_methods_classmacstd_1_1handle" id="r_a5e3365827f995ee2a580d2c669ddcafe"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">free_internal</a> () noexcept=0</td></tr>
<tr class="memdesc:a5e3365827f995ee2a580d2c669ddcafe inherit pro_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract member function that must be implemented by child classes to do the actual object destruction. <br /></td></tr>
<tr class="separator:a5e3365827f995ee2a580d2c669ddcafe inherit pro_methods_classmacstd_1_1handle"><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 pro_attribs_classmacstd_1_1handle"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classmacstd_1_1handle')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td></tr>
<tr class="memitem:ab65b198a6e06f14b29be176cdff7556e inherit pro_attribs_classmacstd_1_1handle" id="r_ab65b198a6e06f14b29be176cdff7556e"><td class="memItemLeft" align="right" valign="top">
T&#160;</td><td class="memItemRight" valign="bottom"><b>m_h</b></td></tr>
<tr class="memdesc:ab65b198a6e06f14b29be176cdff7556e inherit pro_attribs_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object handle. <br /></td></tr>
<tr class="separator:ab65b198a6e06f14b29be176cdff7556e inherit pro_attribs_classmacstd_1_1handle"><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, T INVAL&gt;<br />
class macstd::dplhandle&lt; T, INVAL &gt;</div><p>Base abstract template class to support object handle keeping for objects that support trivial handle duplication. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a7250ebf4632a7d48b071dc10b8e4b986" name="a7250ebf4632a7d48b071dc10b8e4b986"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7250ebf4632a7d48b071dc10b8e4b986">&#9670;&#160;</a></span>dplhandle() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::dplhandle </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a new class instance with an already available object handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Initial object handle value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a835eca8008bbdd42aa4bbb76072c637b" name="a835eca8008bbdd42aa4bbb76072c637b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a835eca8008bbdd42aa4bbb76072c637b">&#9670;&#160;</a></span>dplhandle() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::dplhandle </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>h</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>Copy constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">h</td><td>A reference of another object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8bb0531c1a3eacc4a60604e438b3ed71" name="a8bb0531c1a3eacc4a60604e438b3ed71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8bb0531c1a3eacc4a60604e438b3ed71">&#9670;&#160;</a></span>dplhandle() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::dplhandle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&amp;</td> <td class="paramname"><span class="paramname"><em>h</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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">h</td><td>A rvalue reference of another object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="acf0b725b54793b240572c0fe86537f3c" name="acf0b725b54793b240572c0fe86537f3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf0b725b54793b240572c0fe86537f3c">&#9670;&#160;</a></span>attach_duplicated()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::attach_duplicated </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</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>Duplicates an object handle and sets a new object handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle of existing object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae43e59554d0d11b4500daa5bd50bda0d" name="ae43e59554d0d11b4500daa5bd50bda0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae43e59554d0d11b4500daa5bd50bda0d">&#9670;&#160;</a></span>duplicate()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::duplicate </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</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>Duplicates and returns a new object handle. </p>
<dl class="section return"><dt>Returns</dt><dd>Duplicated object handle </dd></dl>
</div>
</div>
<a id="a33df964f028970ac0321568c3582d550" name="a33df964f028970ac0321568c3582d550"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33df964f028970ac0321568c3582d550">&#9670;&#160;</a></span>duplicate_internal()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual T <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::duplicate_internal </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle of existing object</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Duplicated object handle </dd></dl>
</div>
</div>
<a id="af25c2323ce6030400bf12be762565350" name="af25c2323ce6030400bf12be762565350"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af25c2323ce6030400bf12be762565350">&#9670;&#160;</a></span>operator=() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp; <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>h</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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Duplicates the object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a71b36749116393468cc7b9307ff21128" name="a71b36749116393468cc7b9307ff21128"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71b36749116393468cc7b9307ff21128">&#9670;&#160;</a></span>operator=() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp; <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&amp;</td> <td class="paramname"><span class="paramname"><em>h</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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Moves the object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">h</td><td>A rvalue reference of another object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5f336d173be030936c7eaec80727a0a6" name="a5f336d173be030936c7eaec80727a0a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f336d173be030936c7eaec80727a0a6">&#9670;&#160;</a></span>operator=() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp; <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::operator= </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Attaches already available object handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/MacStd/<a class="el" href="common_8hpp_source.html">common.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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.

Before

Width:  |  Height:  |  Size: 755 B

View File

@ -1,126 +0,0 @@
<!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>MacStd: 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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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>macstd</b></li><li class="navelem"><a class="el" href="classmacstd_1_1handle.html">handle</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">macstd::handle&lt; T, INVAL &gt; Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd">attach</a>(T h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325">detach</a>()</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#afbc07860aaf0eeeabe6e7e7474b6d176">free</a>()</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">free_internal</a>() noexcept=0</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e">handle</a>() noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a5906d39969037175bf5b148935ab1d05">handle</a>(T h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ae5e62370d363a2db991b691f5fa4d914">handle</a>(handle&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a></td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a1c6c0152d5cc967558720e9f8ce218df">operator T</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62">operator!</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a">operator!=</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960">operator&amp;</a>()</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c">operator*</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878">operator-&gt;</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23">operator&lt;</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b">operator&lt;=</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd">operator=</a>(T h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a2027dc26b8d7dac3410dd9e302a01e31">operator=</a>(handle&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129">operator==</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2">operator&gt;</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e">operator&gt;=</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &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 Oct 1 2024 11:48:46 for MacStd 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,838 +0,0 @@
<!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>MacStd: macstd::handle&lt; T, INVAL &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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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>macstd</b></li><li class="navelem"><a class="el" href="classmacstd_1_1handle.html">handle</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="classmacstd_1_1handle-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">macstd::handle&lt; T, INVAL &gt; Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">
<p>Base abstract template class to support generic object handle keeping.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="common_8hpp_source.html">MacStd/common.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for macstd::handle&lt; T, INVAL &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classmacstd_1_1handle.png" usemap="#macstd::handle_3C_20T_2C_20INVAL_20_3E_map" alt=""/>
<map id="macstd::handle_3C_20T_2C_20INVAL_20_3E_map" name="macstd::handle_3C_20T_2C_20INVAL_20_3E_map">
<area href="classmacstd_1_1dplhandle.html" title="Base abstract template class to support object handle keeping for objects that support trivial handle..." alt="macstd::dplhandle&lt; T, INVAL &gt;" shape="rect" coords="0,56,189,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:a58be08519d6208ba2716dcd79d2f295e" id="r_a58be08519d6208ba2716dcd79d2f295e"><td class="memItemLeft" align="right" valign="top"><a id="a58be08519d6208ba2716dcd79d2f295e" name="a58be08519d6208ba2716dcd79d2f295e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>handle</b> () noexcept</td></tr>
<tr class="memdesc:a58be08519d6208ba2716dcd79d2f295e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new class instance with the object handle set to INVAL. <br /></td></tr>
<tr class="separator:a58be08519d6208ba2716dcd79d2f295e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5906d39969037175bf5b148935ab1d05" id="r_a5906d39969037175bf5b148935ab1d05"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5906d39969037175bf5b148935ab1d05">handle</a> (T h) noexcept</td></tr>
<tr class="memdesc:a5906d39969037175bf5b148935ab1d05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new class instance with an already available object handle. <br /></td></tr>
<tr class="separator:a5906d39969037175bf5b148935ab1d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5e62370d363a2db991b691f5fa4d914" id="r_ae5e62370d363a2db991b691f5fa4d914"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae5e62370d363a2db991b691f5fa4d914">handle</a> (<a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td></tr>
<tr class="memdesc:ae5e62370d363a2db991b691f5fa4d914"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <br /></td></tr>
<tr class="separator:ae5e62370d363a2db991b691f5fa4d914"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0e382917ebdceabe1d1c80780cec8fd" id="r_ad0e382917ebdceabe1d1c80780cec8fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad0e382917ebdceabe1d1c80780cec8fd">operator=</a> (T h) noexcept</td></tr>
<tr class="memdesc:ad0e382917ebdceabe1d1c80780cec8fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attaches already available object handle. <br /></td></tr>
<tr class="separator:ad0e382917ebdceabe1d1c80780cec8fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2027dc26b8d7dac3410dd9e302a01e31" id="r_a2027dc26b8d7dac3410dd9e302a01e31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2027dc26b8d7dac3410dd9e302a01e31">operator=</a> (<a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td></tr>
<tr class="memdesc:a2027dc26b8d7dac3410dd9e302a01e31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment. <br /></td></tr>
<tr class="separator:a2027dc26b8d7dac3410dd9e302a01e31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c6c0152d5cc967558720e9f8ce218df" id="r_a1c6c0152d5cc967558720e9f8ce218df"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1c6c0152d5cc967558720e9f8ce218df">operator T</a> () const</td></tr>
<tr class="memdesc:a1c6c0152d5cc967558720e9f8ce218df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Auto-typecasting operator. <br /></td></tr>
<tr class="separator:a1c6c0152d5cc967558720e9f8ce218df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab9ec0feedeb9d115f37d938e923d10c" id="r_aab9ec0feedeb9d115f37d938e923d10c"><td class="memItemLeft" align="right" valign="top">T *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aab9ec0feedeb9d115f37d938e923d10c">operator*</a> () const</td></tr>
<tr class="memdesc:aab9ec0feedeb9d115f37d938e923d10c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object handle value when the object handle is a pointer to a value (class, struct, etc.). <br /></td></tr>
<tr class="separator:aab9ec0feedeb9d115f37d938e923d10c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8405a3ff7aefc002779984f856678960" id="r_a8405a3ff7aefc002779984f856678960"><td class="memItemLeft" align="right" valign="top">T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8405a3ff7aefc002779984f856678960">operator&amp;</a> ()</td></tr>
<tr class="memdesc:a8405a3ff7aefc002779984f856678960"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object handle reference. <br /></td></tr>
<tr class="separator:a8405a3ff7aefc002779984f856678960"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff8db2489369bcdbb9ebf60ee7095878" id="r_aff8db2489369bcdbb9ebf60ee7095878"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aff8db2489369bcdbb9ebf60ee7095878">operator-&gt;</a> () const</td></tr>
<tr class="memdesc:aff8db2489369bcdbb9ebf60ee7095878"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides object handle member access when the object handle is a pointer to a class or struct. <br /></td></tr>
<tr class="separator:aff8db2489369bcdbb9ebf60ee7095878"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1d446bed338bb91b639fe2f34141b62" id="r_ac1d446bed338bb91b639fe2f34141b62"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac1d446bed338bb91b639fe2f34141b62">operator!</a> () const</td></tr>
<tr class="memdesc:ac1d446bed338bb91b639fe2f34141b62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if the object handle is invalid. <br /></td></tr>
<tr class="separator:ac1d446bed338bb91b639fe2f34141b62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae50ded4e3696cebbdb5145fa8f58ad23" id="r_ae50ded4e3696cebbdb5145fa8f58ad23"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae50ded4e3696cebbdb5145fa8f58ad23">operator&lt;</a> (T h) const</td></tr>
<tr class="memdesc:ae50ded4e3696cebbdb5145fa8f58ad23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle less than? <br /></td></tr>
<tr class="separator:ae50ded4e3696cebbdb5145fa8f58ad23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eaa05a6124133c11663f1c6c2666f7b" id="r_a4eaa05a6124133c11663f1c6c2666f7b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4eaa05a6124133c11663f1c6c2666f7b">operator&lt;=</a> (T h) const</td></tr>
<tr class="memdesc:a4eaa05a6124133c11663f1c6c2666f7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle less than or equal to? <br /></td></tr>
<tr class="separator:a4eaa05a6124133c11663f1c6c2666f7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10b5fff674bc904f841925f54a98801e" id="r_a10b5fff674bc904f841925f54a98801e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a10b5fff674bc904f841925f54a98801e">operator&gt;=</a> (T h) const</td></tr>
<tr class="memdesc:a10b5fff674bc904f841925f54a98801e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle greater than or equal to? <br /></td></tr>
<tr class="separator:a10b5fff674bc904f841925f54a98801e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a862b5aec5f974071ddf14a2a7b6570d2" id="r_a862b5aec5f974071ddf14a2a7b6570d2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a862b5aec5f974071ddf14a2a7b6570d2">operator&gt;</a> (T h) const</td></tr>
<tr class="memdesc:a862b5aec5f974071ddf14a2a7b6570d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle greater than? <br /></td></tr>
<tr class="separator:a862b5aec5f974071ddf14a2a7b6570d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcc4a33c5a33325aa3106d9eaab5384a" id="r_adcc4a33c5a33325aa3106d9eaab5384a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adcc4a33c5a33325aa3106d9eaab5384a">operator!=</a> (T h) const</td></tr>
<tr class="memdesc:adcc4a33c5a33325aa3106d9eaab5384a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle not equal to? <br /></td></tr>
<tr class="separator:adcc4a33c5a33325aa3106d9eaab5384a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a724b10f5424177670f04180e32b7f129" id="r_a724b10f5424177670f04180e32b7f129"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a724b10f5424177670f04180e32b7f129">operator==</a> (T h) const</td></tr>
<tr class="memdesc:a724b10f5424177670f04180e32b7f129"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle equal to? <br /></td></tr>
<tr class="separator:a724b10f5424177670f04180e32b7f129"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69d07a5c3334ce61998880b0d620c6fd" id="r_a69d07a5c3334ce61998880b0d620c6fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a69d07a5c3334ce61998880b0d620c6fd">attach</a> (T h) noexcept</td></tr>
<tr class="memdesc:a69d07a5c3334ce61998880b0d620c6fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a new object handle for the class. <br /></td></tr>
<tr class="separator:a69d07a5c3334ce61998880b0d620c6fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad17472a1418050b801ee80a32c49c325" id="r_ad17472a1418050b801ee80a32c49c325"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad17472a1418050b801ee80a32c49c325">detach</a> ()</td></tr>
<tr class="memdesc:ad17472a1418050b801ee80a32c49c325"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dismisses the object handle from this class. <br /></td></tr>
<tr class="separator:ad17472a1418050b801ee80a32c49c325"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc07860aaf0eeeabe6e7e7474b6d176" id="r_afbc07860aaf0eeeabe6e7e7474b6d176"><td class="memItemLeft" align="right" valign="top"><a id="afbc07860aaf0eeeabe6e7e7474b6d176" name="afbc07860aaf0eeeabe6e7e7474b6d176"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>free</b> ()</td></tr>
<tr class="memdesc:afbc07860aaf0eeeabe6e7e7474b6d176"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys the object. <br /></td></tr>
<tr class="separator:afbc07860aaf0eeeabe6e7e7474b6d176"><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:a5e3365827f995ee2a580d2c669ddcafe" id="r_a5e3365827f995ee2a580d2c669ddcafe"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5e3365827f995ee2a580d2c669ddcafe">free_internal</a> () noexcept=0</td></tr>
<tr class="memdesc:a5e3365827f995ee2a580d2c669ddcafe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract member function that must be implemented by child classes to do the actual object destruction. <br /></td></tr>
<tr class="separator:a5e3365827f995ee2a580d2c669ddcafe"><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:ab65b198a6e06f14b29be176cdff7556e" id="r_ab65b198a6e06f14b29be176cdff7556e"><td class="memItemLeft" align="right" valign="top"><a id="ab65b198a6e06f14b29be176cdff7556e" name="ab65b198a6e06f14b29be176cdff7556e"></a>
T&#160;</td><td class="memItemRight" valign="bottom"><b>m_h</b></td></tr>
<tr class="memdesc:ab65b198a6e06f14b29be176cdff7556e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object handle. <br /></td></tr>
<tr class="separator:ab65b198a6e06f14b29be176cdff7556e"><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, const T INVAL&gt;<br />
class macstd::handle&lt; T, INVAL &gt;</div><p>Base abstract template class to support generic object handle keeping. </p>
<p>It provides basic operators and methods common to all descendands of this class establishing a base to ease the replacement of native object handle type with classes in object-oriented approach. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a5906d39969037175bf5b148935ab1d05" name="a5906d39969037175bf5b148935ab1d05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5906d39969037175bf5b148935ab1d05">&#9670;&#160;</a></span>handle() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::handle </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a new class instance with an already available object handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Initial object handle value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae5e62370d363a2db991b691f5fa4d914" name="ae5e62370d363a2db991b691f5fa4d914"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5e62370d363a2db991b691f5fa4d914">&#9670;&#160;</a></span>handle() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::handle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&amp;</td> <td class="paramname"><span class="paramname"><em>h</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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">h</td><td>A rvalue reference of another object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a69d07a5c3334ce61998880b0d620c6fd" name="a69d07a5c3334ce61998880b0d620c6fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69d07a5c3334ce61998880b0d620c6fd">&#9670;&#160;</a></span>attach()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::attach </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets a new object handle for the class. </p>
<p>When the current object handle of the class is non-INVAL, the object is destroyed first.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>New object handle </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad17472a1418050b801ee80a32c49c325" name="ad17472a1418050b801ee80a32c49c325"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad17472a1418050b801ee80a32c49c325">&#9670;&#160;</a></span>detach()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &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>Dismisses the object handle from this class. </p>
<dl class="section return"><dt>Returns</dt><dd>Object handle </dd></dl>
</div>
</div>
<a id="a5e3365827f995ee2a580d2c669ddcafe" name="a5e3365827f995ee2a580d2c669ddcafe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e3365827f995ee2a580d2c669ddcafe">&#9670;&#160;</a></span>free_internal()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::free_internal </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">protected</span><span class="mlabel">pure virtual</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Abstract member function that must be implemented by child classes to do the actual object destruction. </p>
<p>Implemented in <a class="el" href="classmacstd_1_1io__object.html#a897840743bbbdc938e757781fc453cb5">macstd::io_object&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a1c6c0152d5cc967558720e9f8ce218df" name="a1c6c0152d5cc967558720e9f8ce218df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c6c0152d5cc967558720e9f8ce218df">&#9670;&#160;</a></span>operator T()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::operator T </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</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>Auto-typecasting operator. </p>
<dl class="section return"><dt>Returns</dt><dd>Object handle </dd></dl>
</div>
</div>
<a id="ac1d446bed338bb91b639fe2f34141b62" name="ac1d446bed338bb91b639fe2f34141b62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1d446bed338bb91b639fe2f34141b62">&#9670;&#160;</a></span>operator!()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::operator! </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</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>Tests if the object handle is invalid. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Non zero when object handle is invalid;</li>
<li>Zero otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Implementing <code>operator bool() const</code> would be correct C++ approach here. Unfortunately, it would produce ambiguities where <code>bool</code> and <code>T</code> are polymorphed. Use <code>!!</code> to test if the object handle is valid. </dd></dl>
</div>
</div>
<a id="adcc4a33c5a33325aa3106d9eaab5384a" name="adcc4a33c5a33325aa3106d9eaab5384a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcc4a33c5a33325aa3106d9eaab5384a">&#9670;&#160;</a></span>operator!=()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;<a class="el" href="#ac1d446bed338bb91b639fe2f34141b62">::operator!</a>= </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td> const</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>Is handle not equal to? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle to compare against </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Non zero when object handle is not equal to h;</li>
<li>Zero otherwise. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a8405a3ff7aefc002779984f856678960" name="a8405a3ff7aefc002779984f856678960"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8405a3ff7aefc002779984f856678960">&#9670;&#160;</a></span>operator&amp;()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T * <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::operator&amp; </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>Returns the object handle reference. </p>
<dl class="section return"><dt>Returns</dt><dd>Object handle reference </dd></dl>
</div>
</div>
<a id="aab9ec0feedeb9d115f37d938e923d10c" name="aab9ec0feedeb9d115f37d938e923d10c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab9ec0feedeb9d115f37d938e923d10c">&#9670;&#160;</a></span>operator*()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T *&amp; <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::operator* </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</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 the object handle value when the object handle is a pointer to a value (class, struct, etc.). </p>
<dl class="section return"><dt>Returns</dt><dd>Object handle value </dd></dl>
</div>
</div>
<a id="aff8db2489369bcdbb9ebf60ee7095878" name="aff8db2489369bcdbb9ebf60ee7095878"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff8db2489369bcdbb9ebf60ee7095878">&#9670;&#160;</a></span>operator-&gt;()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::operator-&gt; </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</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>Provides object handle member access when the object handle is a pointer to a class or struct. </p>
<dl class="section return"><dt>Returns</dt><dd>Object handle </dd></dl>
</div>
</div>
<a id="ae50ded4e3696cebbdb5145fa8f58ad23" name="ae50ded4e3696cebbdb5145fa8f58ad23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae50ded4e3696cebbdb5145fa8f58ad23">&#9670;&#160;</a></span>operator&lt;()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::operator&lt; </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td> const</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>Is handle less than? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle to compare against </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Non zero when object handle is less than h;</li>
<li>Zero otherwise. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a4eaa05a6124133c11663f1c6c2666f7b" name="a4eaa05a6124133c11663f1c6c2666f7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eaa05a6124133c11663f1c6c2666f7b">&#9670;&#160;</a></span>operator&lt;=()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::operator&lt;= </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td> const</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>Is handle less than or equal to? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle to compare against </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Non zero when object handle is less than or equal to h;</li>
<li>Zero otherwise. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a2027dc26b8d7dac3410dd9e302a01e31" name="a2027dc26b8d7dac3410dd9e302a01e31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2027dc26b8d7dac3410dd9e302a01e31">&#9670;&#160;</a></span>operator=() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp; <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&amp;</td> <td class="paramname"><span class="paramname"><em>h</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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move assignment. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">h</td><td>A rvalue reference of another object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad0e382917ebdceabe1d1c80780cec8fd" name="ad0e382917ebdceabe1d1c80780cec8fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0e382917ebdceabe1d1c80780cec8fd">&#9670;&#160;</a></span>operator=() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp; <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::operator= </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Attaches already available object handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a724b10f5424177670f04180e32b7f129" name="a724b10f5424177670f04180e32b7f129"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a724b10f5424177670f04180e32b7f129">&#9670;&#160;</a></span>operator==()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::operator== </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td> const</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>Is handle equal to? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle to compare against </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Non zero when object handle is equal to h;</li>
<li>Zero otherwise. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a862b5aec5f974071ddf14a2a7b6570d2" name="a862b5aec5f974071ddf14a2a7b6570d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a862b5aec5f974071ddf14a2a7b6570d2">&#9670;&#160;</a></span>operator&gt;()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::operator&gt; </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td> const</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>Is handle greater than? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle to compare against </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Non zero when object handle is greater than h;</li>
<li>Zero otherwise. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a10b5fff674bc904f841925f54a98801e" name="a10b5fff674bc904f841925f54a98801e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10b5fff674bc904f841925f54a98801e">&#9670;&#160;</a></span>operator&gt;=()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , const T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classmacstd_1_1handle.html">macstd::handle</a>&lt; T, INVAL &gt;::operator&gt;= </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td> const</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>Is handle greater than or equal to? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle to compare against </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Non zero when object handle is greater than or equal to h;</li>
<li>Zero otherwise. </li>
</ul>
</dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/MacStd/<a class="el" href="common_8hpp_source.html">common.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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.

Before

Width:  |  Height:  |  Size: 759 B

View File

@ -1,127 +0,0 @@
<!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>MacStd: 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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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>macstd</b></li><li class="navelem"><a class="el" href="classmacstd_1_1io__object.html">io_object</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">macstd::io_object&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="classmacstd_1_1io__object.html">macstd::io_object&lt; T &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd">attach</a>(T h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325">detach</a>()</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#afbc07860aaf0eeeabe6e7e7474b6d176">free</a>()</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1io__object.html#a897840743bbbdc938e757781fc453cb5">free_internal</a>() noexcept override</td><td class="entry"><a class="el" href="classmacstd_1_1io__object.html">macstd::io_object&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e">handle</a>() noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a5906d39969037175bf5b148935ab1d05">handle</a>(T h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ae5e62370d363a2db991b691f5fa4d914">handle</a>(handle&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a></td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a1c6c0152d5cc967558720e9f8ce218df">operator T</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62">operator!</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a">operator!=</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960">operator&amp;</a>()</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c">operator*</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878">operator-&gt;</a>() const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23">operator&lt;</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b">operator&lt;=</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd">operator=</a>(T h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a2027dc26b8d7dac3410dd9e302a01e31">operator=</a>(handle&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129">operator==</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2">operator&gt;</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e">operator&gt;=</a>(T h) const</td><td class="entry"><a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmacstd_1_1io__object.html#a0608c7dbed214b5cb4626fb23a9b1aca">~io_object</a>()</td><td class="entry"><a class="el" href="classmacstd_1_1io__object.html">macstd::io_object&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 Oct 1 2024 11:48:46 for MacStd 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,272 +0,0 @@
<!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>MacStd: macstd::io_object&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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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>macstd</b></li><li class="navelem"><a class="el" href="classmacstd_1_1io__object.html">io_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-methods">Protected Member Functions</a> &#124;
<a href="classmacstd_1_1io__object-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">macstd::io_object&lt; T &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">
<p>IOKit handle wrapper class.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_i_o_kit_8hpp_source.html">MacStd/IOKit.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for macstd::io_object&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classmacstd_1_1io__object.png" usemap="#macstd::io_5Fobject_3C_20T_20_3E_map" alt=""/>
<map id="macstd::io_5Fobject_3C_20T_20_3E_map" name="macstd::io_5Fobject_3C_20T_20_3E_map">
<area href="classmacstd_1_1handle.html" alt="macstd::handle&lt; T, 0 &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:a0608c7dbed214b5cb4626fb23a9b1aca" id="r_a0608c7dbed214b5cb4626fb23a9b1aca"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0608c7dbed214b5cb4626fb23a9b1aca">~io_object</a> ()</td></tr>
<tr class="memdesc:a0608c7dbed214b5cb4626fb23a9b1aca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases an object handle. <br /></td></tr>
<tr class="separator:a0608c7dbed214b5cb4626fb23a9b1aca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classmacstd_1_1handle"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classmacstd_1_1handle')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td></tr>
<tr class="memitem:a58be08519d6208ba2716dcd79d2f295e inherit pub_methods_classmacstd_1_1handle" id="r_a58be08519d6208ba2716dcd79d2f295e"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>handle</b> () noexcept</td></tr>
<tr class="memdesc:a58be08519d6208ba2716dcd79d2f295e inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new class instance with the object handle set to INVAL. <br /></td></tr>
<tr class="separator:a58be08519d6208ba2716dcd79d2f295e inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5906d39969037175bf5b148935ab1d05 inherit pub_methods_classmacstd_1_1handle" id="r_a5906d39969037175bf5b148935ab1d05"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a5906d39969037175bf5b148935ab1d05">handle</a> (T h) noexcept</td></tr>
<tr class="memdesc:a5906d39969037175bf5b148935ab1d05 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new class instance with an already available object handle. <br /></td></tr>
<tr class="separator:a5906d39969037175bf5b148935ab1d05 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5e62370d363a2db991b691f5fa4d914 inherit pub_methods_classmacstd_1_1handle" id="r_ae5e62370d363a2db991b691f5fa4d914"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ae5e62370d363a2db991b691f5fa4d914">handle</a> (<a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td></tr>
<tr class="memdesc:ae5e62370d363a2db991b691f5fa4d914 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <br /></td></tr>
<tr class="separator:ae5e62370d363a2db991b691f5fa4d914 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0e382917ebdceabe1d1c80780cec8fd inherit pub_methods_classmacstd_1_1handle" id="r_ad0e382917ebdceabe1d1c80780cec8fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd">operator=</a> (T h) noexcept</td></tr>
<tr class="memdesc:ad0e382917ebdceabe1d1c80780cec8fd inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attaches already available object handle. <br /></td></tr>
<tr class="separator:ad0e382917ebdceabe1d1c80780cec8fd inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2027dc26b8d7dac3410dd9e302a01e31 inherit pub_methods_classmacstd_1_1handle" id="r_a2027dc26b8d7dac3410dd9e302a01e31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a2027dc26b8d7dac3410dd9e302a01e31">operator=</a> (<a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td></tr>
<tr class="memdesc:a2027dc26b8d7dac3410dd9e302a01e31 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment. <br /></td></tr>
<tr class="separator:a2027dc26b8d7dac3410dd9e302a01e31 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c6c0152d5cc967558720e9f8ce218df inherit pub_methods_classmacstd_1_1handle" id="r_a1c6c0152d5cc967558720e9f8ce218df"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a1c6c0152d5cc967558720e9f8ce218df">operator T</a> () const</td></tr>
<tr class="memdesc:a1c6c0152d5cc967558720e9f8ce218df inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Auto-typecasting operator. <br /></td></tr>
<tr class="separator:a1c6c0152d5cc967558720e9f8ce218df inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab9ec0feedeb9d115f37d938e923d10c inherit pub_methods_classmacstd_1_1handle" id="r_aab9ec0feedeb9d115f37d938e923d10c"><td class="memItemLeft" align="right" valign="top">T *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c">operator*</a> () const</td></tr>
<tr class="memdesc:aab9ec0feedeb9d115f37d938e923d10c inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object handle value when the object handle is a pointer to a value (class, struct, etc.). <br /></td></tr>
<tr class="separator:aab9ec0feedeb9d115f37d938e923d10c inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8405a3ff7aefc002779984f856678960 inherit pub_methods_classmacstd_1_1handle" id="r_a8405a3ff7aefc002779984f856678960"><td class="memItemLeft" align="right" valign="top">T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960">operator&amp;</a> ()</td></tr>
<tr class="memdesc:a8405a3ff7aefc002779984f856678960 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object handle reference. <br /></td></tr>
<tr class="separator:a8405a3ff7aefc002779984f856678960 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff8db2489369bcdbb9ebf60ee7095878 inherit pub_methods_classmacstd_1_1handle" id="r_aff8db2489369bcdbb9ebf60ee7095878"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878">operator-&gt;</a> () const</td></tr>
<tr class="memdesc:aff8db2489369bcdbb9ebf60ee7095878 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides object handle member access when the object handle is a pointer to a class or struct. <br /></td></tr>
<tr class="separator:aff8db2489369bcdbb9ebf60ee7095878 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1d446bed338bb91b639fe2f34141b62 inherit pub_methods_classmacstd_1_1handle" id="r_ac1d446bed338bb91b639fe2f34141b62"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62">operator!</a> () const</td></tr>
<tr class="memdesc:ac1d446bed338bb91b639fe2f34141b62 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if the object handle is invalid. <br /></td></tr>
<tr class="separator:ac1d446bed338bb91b639fe2f34141b62 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae50ded4e3696cebbdb5145fa8f58ad23 inherit pub_methods_classmacstd_1_1handle" id="r_ae50ded4e3696cebbdb5145fa8f58ad23"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23">operator&lt;</a> (T h) const</td></tr>
<tr class="memdesc:ae50ded4e3696cebbdb5145fa8f58ad23 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle less than? <br /></td></tr>
<tr class="separator:ae50ded4e3696cebbdb5145fa8f58ad23 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eaa05a6124133c11663f1c6c2666f7b inherit pub_methods_classmacstd_1_1handle" id="r_a4eaa05a6124133c11663f1c6c2666f7b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b">operator&lt;=</a> (T h) const</td></tr>
<tr class="memdesc:a4eaa05a6124133c11663f1c6c2666f7b inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle less than or equal to? <br /></td></tr>
<tr class="separator:a4eaa05a6124133c11663f1c6c2666f7b inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10b5fff674bc904f841925f54a98801e inherit pub_methods_classmacstd_1_1handle" id="r_a10b5fff674bc904f841925f54a98801e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e">operator&gt;=</a> (T h) const</td></tr>
<tr class="memdesc:a10b5fff674bc904f841925f54a98801e inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle greater than or equal to? <br /></td></tr>
<tr class="separator:a10b5fff674bc904f841925f54a98801e inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a862b5aec5f974071ddf14a2a7b6570d2 inherit pub_methods_classmacstd_1_1handle" id="r_a862b5aec5f974071ddf14a2a7b6570d2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2">operator&gt;</a> (T h) const</td></tr>
<tr class="memdesc:a862b5aec5f974071ddf14a2a7b6570d2 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle greater than? <br /></td></tr>
<tr class="separator:a862b5aec5f974071ddf14a2a7b6570d2 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcc4a33c5a33325aa3106d9eaab5384a inherit pub_methods_classmacstd_1_1handle" id="r_adcc4a33c5a33325aa3106d9eaab5384a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a">operator!=</a> (T h) const</td></tr>
<tr class="memdesc:adcc4a33c5a33325aa3106d9eaab5384a inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle not equal to? <br /></td></tr>
<tr class="separator:adcc4a33c5a33325aa3106d9eaab5384a inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a724b10f5424177670f04180e32b7f129 inherit pub_methods_classmacstd_1_1handle" id="r_a724b10f5424177670f04180e32b7f129"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129">operator==</a> (T h) const</td></tr>
<tr class="memdesc:a724b10f5424177670f04180e32b7f129 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle equal to? <br /></td></tr>
<tr class="separator:a724b10f5424177670f04180e32b7f129 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69d07a5c3334ce61998880b0d620c6fd inherit pub_methods_classmacstd_1_1handle" id="r_a69d07a5c3334ce61998880b0d620c6fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd">attach</a> (T h) noexcept</td></tr>
<tr class="memdesc:a69d07a5c3334ce61998880b0d620c6fd inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a new object handle for the class. <br /></td></tr>
<tr class="separator:a69d07a5c3334ce61998880b0d620c6fd inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad17472a1418050b801ee80a32c49c325 inherit pub_methods_classmacstd_1_1handle" id="r_ad17472a1418050b801ee80a32c49c325"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325">detach</a> ()</td></tr>
<tr class="memdesc:ad17472a1418050b801ee80a32c49c325 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dismisses the object handle from this class. <br /></td></tr>
<tr class="separator:ad17472a1418050b801ee80a32c49c325 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc07860aaf0eeeabe6e7e7474b6d176 inherit pub_methods_classmacstd_1_1handle" id="r_afbc07860aaf0eeeabe6e7e7474b6d176"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>free</b> ()</td></tr>
<tr class="memdesc:afbc07860aaf0eeeabe6e7e7474b6d176 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys the object. <br /></td></tr>
<tr class="separator:afbc07860aaf0eeeabe6e7e7474b6d176 inherit pub_methods_classmacstd_1_1handle"><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:a897840743bbbdc938e757781fc453cb5" id="r_a897840743bbbdc938e757781fc453cb5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a897840743bbbdc938e757781fc453cb5">free_internal</a> () noexcept override</td></tr>
<tr class="memdesc:a897840743bbbdc938e757781fc453cb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases an object handle. <br /></td></tr>
<tr class="separator:a897840743bbbdc938e757781fc453cb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classmacstd_1_1handle"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_classmacstd_1_1handle')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></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 pro_attribs_classmacstd_1_1handle"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classmacstd_1_1handle')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, 0 &gt;</a></td></tr>
<tr class="memitem:ab65b198a6e06f14b29be176cdff7556e inherit pro_attribs_classmacstd_1_1handle" id="r_ab65b198a6e06f14b29be176cdff7556e"><td class="memItemLeft" align="right" valign="top">
T&#160;</td><td class="memItemRight" valign="bottom"><b>m_h</b></td></tr>
<tr class="memdesc:ab65b198a6e06f14b29be176cdff7556e inherit pro_attribs_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object handle. <br /></td></tr>
<tr class="separator:ab65b198a6e06f14b29be176cdff7556e inherit pro_attribs_classmacstd_1_1handle"><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&gt;<br />
class macstd::io_object&lt; T &gt;</div><p>IOKit handle wrapper class. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0608c7dbed214b5cb4626fb23a9b1aca" name="a0608c7dbed214b5cb4626fb23a9b1aca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0608c7dbed214b5cb4626fb23a9b1aca">&#9670;&#160;</a></span>~io_object()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classmacstd_1_1io__object.html">macstd::io_object</a>&lt; T &gt;::~<a class="el" href="classmacstd_1_1io__object.html">io_object</a> </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>Releases an object handle. </p>
<dl class="section see"><dt>See also</dt><dd><a href="https://developer.apple.com/documentation/iokit/1514627-ioobjectrelease">IOObjectRelease function</a> </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a897840743bbbdc938e757781fc453cb5" name="a897840743bbbdc938e757781fc453cb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a897840743bbbdc938e757781fc453cb5">&#9670;&#160;</a></span>free_internal()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmacstd_1_1io__object.html">macstd::io_object</a>&lt; T &gt;::free_internal </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">override</span><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Releases an object handle. </p>
<dl class="section see"><dt>See also</dt><dd><a href="https://developer.apple.com/documentation/iokit/1514627-ioobjectrelease">IOObjectRelease function</a> </dd></dl>
<p>Implements <a class="el" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">macstd::handle&lt; T, 0 &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/MacStd/<a class="el" href="_i_o_kit_8hpp_source.html">IOKit.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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.

Before

Width:  |  Height:  |  Size: 617 B

View File

@ -1,61 +0,0 @@
/**
The code below is based on the Doxygen Awesome project, see
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2021 - 2022 jothepro
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.
*/
let clipboard_title = "Copy to clipboard"
let clipboard_icon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>`
let clipboard_successIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>`
let clipboard_successDuration = 1000
$(function() {
if(navigator.clipboard) {
const fragments = document.getElementsByClassName("fragment")
for(const fragment of fragments) {
const clipboard_div = document.createElement("div")
clipboard_div.classList.add("clipboard")
clipboard_div.innerHTML = clipboard_icon
clipboard_div.title = clipboard_title
$(clipboard_div).click(function() {
const content = this.parentNode.cloneNode(true)
// filter out line number and folded fragments from file listings
content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() })
let text = content.textContent
// remove trailing newlines and trailing spaces from empty lines
text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'')
navigator.clipboard.writeText(text);
this.classList.add("success")
this.innerHTML = clipboard_successIcon
window.setTimeout(() => { // switch back to normal icon after timeout
this.classList.remove("success")
this.innerHTML = clipboard_icon
}, clipboard_successDuration);
})
fragment.insertBefore(clipboard_div, fragment.firstChild)
}
}
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 B

View File

@ -1,426 +0,0 @@
<!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>MacStd: include/MacStd/common.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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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_49bef833487b2e4ec885e49af66a06b7.html">MacStd</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">common.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 &lt;stddef.h&gt;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#define MACSTD_NONCOPYABLE(C) \</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">private: \</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor"> C (_In_ const C &amp;h) noexcept; \</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor"> C&amp; operator=(_In_ const C &amp;h) noexcept;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define MACSTD_NONMOVABLE(C) \</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">private: \</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor"> C (_Inout_ C &amp;&amp;h) noexcept; \</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor"> C&amp; operator=(_Inout_ C &amp;&amp;h) noexcept;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#define MACSTD_STACK_BUFFER_BYTES 1024</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#define MACSTD_HANDLE_IMPL(C, T, INVAL) \</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">public: \</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor"> C ( ) noexcept {} \</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor"> C (_In_opt_ T h) noexcept : handle&lt;T, INVAL&gt;( h ) {} \</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor"> C (_Inout_ C &amp;&amp;h) noexcept : handle&lt;T, INVAL&gt;(std::move(h)) {} \</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor"> C&amp; operator=(_In_opt_ T h) noexcept { handle&lt;T, INVAL&gt;::operator=( h ); return *this; } \</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor"> C&amp; operator=(_Inout_ C &amp;&amp;h) noexcept { handle&lt;T, INVAL&gt;::operator=(std::move(h)); return *this; } \</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="preprocessor">MACSTD_NONCOPYABLE(C)</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="preprocessor">#define MACSTD_DPLHANDLE_IMPL(C, T, INVAL) \</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="preprocessor">public: \</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor"> C ( ) noexcept {} \</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="preprocessor"> C (_In_opt_ T h) noexcept : dplhandle&lt;T, INVAL&gt;( h ) {} \</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor"> C (_In_ const C &amp;h) noexcept : dplhandle&lt;T, INVAL&gt;(duplicate_internal(h.m_h)) {} \</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor"> C (_Inout_ C &amp;&amp;h) noexcept : dplhandle&lt;T, INVAL&gt;(std::move (h )) {} \</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="preprocessor"> C&amp; operator=(_In_opt_ T h) noexcept { dplhandle&lt;T, INVAL&gt;::operator=( h ); return *this; } \</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="preprocessor"> C&amp; operator=(_In_ const C &amp;h) noexcept { dplhandle&lt;T, INVAL&gt;::operator=( h ); return *this; } \</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="preprocessor"> C&amp; operator=(_Inout_ C &amp;&amp;h) noexcept { dplhandle&lt;T, INVAL&gt;::operator=(std::move(h)); return *this; } \</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="preprocessor">private:</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="keyword">namespace </span>macstd</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</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, const T INVAL&gt;</div>
<div class="foldopen" id="foldopen00069" data-start="{" data-end="};">
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html"> 69</a></span> <span class="keyword">class </span><a class="code hl_class" href="classmacstd_1_1handle.html">handle</a></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="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00075" data-start="{" data-end="}">
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e"> 75</a></span> <a class="code hl_function" href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e">handle</a>() noexcept : <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a>(INVAL)</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> {}</div>
</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
<div class="foldopen" id="foldopen00083" data-start="{" data-end="}">
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#a5906d39969037175bf5b148935ab1d05"> 83</a></span> <a class="code hl_function" href="classmacstd_1_1handle.html#a5906d39969037175bf5b148935ab1d05">handle</a>(_In_opt_ T h) noexcept : <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a>(h)</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> {}</div>
</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="foldopen" id="foldopen00091" data-start="{" data-end="}">
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#ae5e62370d363a2db991b691f5fa4d914"> 91</a></span> <a class="code hl_function" href="classmacstd_1_1handle.html#ae5e62370d363a2db991b691f5fa4d914">handle</a>(_Inout_ <a class="code hl_class" href="classmacstd_1_1handle.html">handle&lt;T, INVAL&gt;</a> &amp;&amp;h) <span class="keyword">noexcept</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> <span class="comment">// Transfer handle.</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> = h.m_h;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> h.m_h = INVAL;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> }</div>
</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="keyword">private</span>:</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="comment">// This class is noncopyable.</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e">handle</a>(_In_ <span class="keyword">const</span> <a class="code hl_class" href="classmacstd_1_1handle.html">handle&lt;T, INVAL&gt;</a> &amp;h) <span class="keyword">noexcept</span> {};</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e">handle&lt;T, INVAL&gt;</a>&amp; operator=(_In_ <span class="keyword">const</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e">handle&lt;T, INVAL&gt;</a> &amp;h) <span class="keyword">noexcept</span> {};</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00109" data-start="{" data-end="}">
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd"> 109</a></span> <a class="code hl_class" href="classmacstd_1_1handle.html">handle&lt;T, INVAL&gt;</a>&amp; <a class="code hl_function" href="classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd">operator=</a>(_In_opt_ T h) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> {</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd">attach</a>(h);</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> }</div>
</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="preprocessor"> #pragma warning(suppress: 26432) </span><span class="comment">// Move constructor is also present, but not detected by code analysis somehow.</span></div>
<div class="foldopen" id="foldopen00121" data-start="{" data-end="}">
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#a2027dc26b8d7dac3410dd9e302a01e31"> 121</a></span> <a class="code hl_class" href="classmacstd_1_1handle.html">handle&lt;T, INVAL&gt;</a>&amp; <a class="code hl_function" href="classmacstd_1_1handle.html#a2027dc26b8d7dac3410dd9e302a01e31">operator=</a>(_Inout_ <a class="code hl_class" href="classmacstd_1_1handle.html">handle&lt;T, INVAL&gt;</a> &amp;&amp;h) <span class="keyword">noexcept</span></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="keywordflow">if</span> (<span class="keyword">this</span> != std::addressof(h)) {</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="comment">// Transfer handle.</span></div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> != INVAL)</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">free_internal</a>();</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> = h.m_h;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> h.m_h = INVAL;</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> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> }</div>
</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="foldopen" id="foldopen00138" data-start="{" data-end="}">
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#a1c6c0152d5cc967558720e9f8ce218df"> 138</a></span> <span class="keyword">operator</span> T()<span class="keyword"> const</span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a>;</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> }</div>
</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</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="classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c"> 148</a></span> T*&amp; <a class="code hl_function" href="classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c">operator*</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> assert(<a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> != INVAL);</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">return</span> *<a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a>;</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> }</div>
</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
<div class="foldopen" id="foldopen00158" data-start="{" data-end="}">
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960"> 158</a></span> T* <a class="code hl_function" href="classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960">operator&amp;</a>()</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> {</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> assert(<a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> == INVAL);</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">return</span> &amp;<a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a>;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> }</div>
</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> </div>
<div class="foldopen" id="foldopen00169" data-start="{" data-end="}">
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878"> 169</a></span> T <a class="code hl_function" href="classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878">operator-&gt;</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> assert(<a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> != INVAL);</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a>;</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> }</div>
</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div>
<div class="foldopen" id="foldopen00185" data-start="{" data-end="}">
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62"> 185</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62">operator!</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> == INVAL;</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> }</div>
</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> </div>
<div class="foldopen" id="foldopen00198" data-start="{" data-end="}">
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23"> 198</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23">operator&lt;</a>(_In_opt_ T h)<span class="keyword"> const</span></div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> &lt; h;</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> }</div>
</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="foldopen" id="foldopen00211" data-start="{" data-end="}">
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b"> 211</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b">operator&lt;=</a>(_In_opt_ T h)<span class="keyword"> const</span></div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">return</span> !<a class="code hl_function" href="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2">operator&gt;</a>(h);</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> }</div>
</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</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="classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e"> 224</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e">operator&gt;=</a>(_In_opt_ T h)<span class="keyword"> const</span></div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">return</span> !<a class="code hl_function" href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23">operator&lt;</a>(h);</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> }</div>
</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</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="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2"> 237</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2">operator&gt;</a>(_In_opt_ T h)<span class="keyword"> const</span></div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">return</span> h &lt; <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a>;</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> }</div>
</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> </div>
<div class="foldopen" id="foldopen00250" data-start="{" data-end="}">
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a"> 250</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a">operator!=</a>(_In_opt_ T h)<span class="keyword"> const</span></div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">return</span> !<a class="code hl_function" href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129">operator==</a>(h);</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> }</div>
</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> </div>
<div class="foldopen" id="foldopen00263" data-start="{" data-end="}">
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129"> 263</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129">operator==</a>(_In_opt_ T h)<span class="keyword"> const</span></div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> == h;</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> }</div>
</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> </div>
<div class="foldopen" id="foldopen00275" data-start="{" data-end="}">
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd"> 275</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd">attach</a>(_In_opt_ T h) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> {</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> != INVAL)</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">free_internal</a>();</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> = h;</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> }</div>
</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> </div>
<div class="foldopen" id="foldopen00287" data-start="{" data-end="}">
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325"> 287</a></span> T <a class="code hl_function" href="classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325">detach</a>()</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> {</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> T h = <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a>;</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> = INVAL;</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <span class="keywordflow">return</span> h;</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> }</div>
</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> </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="classmacstd_1_1handle.html#afbc07860aaf0eeeabe6e7e7474b6d176"> 297</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmacstd_1_1handle.html#afbc07860aaf0eeeabe6e7e7474b6d176">free</a>()</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> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> != INVAL) {</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">free_internal</a>();</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a> = INVAL;</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> }</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> </div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe"> 309</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">free_internal</a>() noexcept = 0;</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> </div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> protected:</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"><a class="line" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e"> 312</a></span> T <a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a>; </div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> };</div>
</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> </div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> template &lt;class T, T INVAL&gt;</div>
<div class="foldopen" id="foldopen00319" data-start="{" data-end="};">
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"><a class="line" href="classmacstd_1_1dplhandle.html"> 319</a></span> class <a class="code hl_class" href="classmacstd_1_1dplhandle.html">dplhandle</a> : public <a class="code hl_class" href="classmacstd_1_1handle.html">handle</a>&lt;T, INVAL&gt;</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="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00325" data-start="{" data-end="}">
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"><a class="line" href="classmacstd_1_1dplhandle.html#a1b873380277a79a12dca3ba59f862529"> 325</a></span> <a class="code hl_function" href="classmacstd_1_1dplhandle.html#a1b873380277a79a12dca3ba59f862529">dplhandle</a>() noexcept</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="foldopen00333" data-start="{" data-end="}">
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"><a class="line" href="classmacstd_1_1dplhandle.html#a7250ebf4632a7d48b071dc10b8e4b986"> 333</a></span> <a class="code hl_function" href="classmacstd_1_1dplhandle.html#a7250ebf4632a7d48b071dc10b8e4b986">dplhandle</a>(_In_opt_ T h) noexcept : <a class="code hl_function" href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e">handle&lt;T, INVAL&gt;</a>(h)</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="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <a class="code hl_class" href="classmacstd_1_1dplhandle.html">dplhandle&lt;T, INVAL&gt;</a>(_In_ <span class="keyword">const</span> <a class="code hl_class" href="classmacstd_1_1dplhandle.html">dplhandle&lt;T, INVAL&gt;</a> &amp;h) : <a class="code hl_class" href="classmacstd_1_1handle.html">handle</a>&lt;T, INVAL&gt;(duplicate_internal(h.<a class="code hl_variable" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">m_h</a>))</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> {}</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> </div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> dplhandle&lt;T, INVAL&gt;(_Inout_ dplhandle&lt;T, INVAL&gt; &amp;&amp;h) noexcept : <a class="code hl_function" href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e">handle&lt;T, INVAL&gt;</a>(std::move(h))</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> {}</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> </div>
<div class="foldopen" id="foldopen00357" data-start="{" data-end="}">
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"><a class="line" href="classmacstd_1_1dplhandle.html#a5f336d173be030936c7eaec80727a0a6"> 357</a></span> <a class="code hl_class" href="classmacstd_1_1dplhandle.html">dplhandle&lt;T, INVAL&gt;</a>&amp; <a class="code hl_function" href="classmacstd_1_1dplhandle.html#a5f336d173be030936c7eaec80727a0a6">operator=</a>(_In_opt_ T h) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> {</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <a class="code hl_class" href="classmacstd_1_1handle.html">handle&lt;T, INVAL&gt;::operator=</a>(h);</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> }</div>
</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> </div>
<div class="foldopen" id="foldopen00368" data-start="{" data-end="}">
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"><a class="line" href="classmacstd_1_1dplhandle.html#af25c2323ce6030400bf12be762565350"> 368</a></span> <a class="code hl_class" href="classmacstd_1_1dplhandle.html">dplhandle&lt;T, INVAL&gt;</a>&amp; <a class="code hl_function" href="classmacstd_1_1dplhandle.html#af25c2323ce6030400bf12be762565350">operator=</a>(_In_ <span class="keyword">const</span> <a class="code hl_class" href="classmacstd_1_1dplhandle.html">dplhandle&lt;T, INVAL&gt;</a> &amp;h) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> {</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span> (<span class="keyword">this</span> != std::addressof(h)) {</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">if</span> (h.m_h != INVAL) {</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> T h_new = duplicate_internal(h.m_h);</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">if</span> (this-&gt;m_h != INVAL)</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> this-&gt;<a class="code hl_function" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">free_internal</a>();</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> </div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> this-&gt;m_h = h_new;</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">if</span> (this-&gt;m_h != INVAL)</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> this-&gt;<a class="code hl_function" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">free_internal</a>();</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> this-&gt;m_h = INVAL;</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> }</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> }</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> }</div>
</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> </div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span><span class="preprocessor"> #pragma warning(disable: 26432) </span><span class="comment">// Move constructor is also present, but not detected by code analysis somehow.</span></div>
<div class="foldopen" id="foldopen00394" data-start="{" data-end="}">
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"><a class="line" href="classmacstd_1_1dplhandle.html#a71b36749116393468cc7b9307ff21128"> 394</a></span> <a class="code hl_class" href="classmacstd_1_1dplhandle.html">dplhandle&lt;T, INVAL&gt;</a>&amp; <a class="code hl_function" href="classmacstd_1_1dplhandle.html#a71b36749116393468cc7b9307ff21128">operator=</a>(_Inout_ <a class="code hl_class" href="classmacstd_1_1dplhandle.html">dplhandle&lt;T, INVAL&gt;</a> &amp;&amp;h) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> {</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <a class="code hl_class" href="classmacstd_1_1handle.html">handle&lt;T, INVAL&gt;::operator=</a>(std::move(h));</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> }</div>
</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> </div>
<div class="foldopen" id="foldopen00405" data-start="{" data-end="}">
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"><a class="line" href="classmacstd_1_1dplhandle.html#ae43e59554d0d11b4500daa5bd50bda0d"> 405</a></span> T <a class="code hl_function" href="classmacstd_1_1dplhandle.html#ae43e59554d0d11b4500daa5bd50bda0d">duplicate</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> <span class="keywordflow">return</span> this-&gt;m_h != INVAL ? duplicate_internal(this-&gt;m_h) : INVAL;</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> }</div>
</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> </div>
<div class="foldopen" id="foldopen00415" data-start="{" data-end="}">
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"><a class="line" href="classmacstd_1_1dplhandle.html#acf0b725b54793b240572c0fe86537f3c"> 415</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmacstd_1_1dplhandle.html#acf0b725b54793b240572c0fe86537f3c">attach_duplicated</a>(_In_opt_ T h)</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> {</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> <span class="keywordflow">if</span> (this-&gt;m_h != INVAL)</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> this-&gt;<a class="code hl_function" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">free_internal</a>();</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> </div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> this-&gt;m_h = h != INVAL ? duplicate_internal(h) : INVAL;</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> }</div>
</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> </div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"><a class="line" href="classmacstd_1_1dplhandle.html#a33df964f028970ac0321568c3582d550"> 432</a></span> <span class="keyword">virtual</span> T <a class="code hl_function" href="classmacstd_1_1dplhandle.html#a33df964f028970ac0321568c3582d550">duplicate_internal</a>(_In_ T h) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> };</div>
</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span>}</div>
<div class="ttc" id="aclassmacstd_1_1dplhandle_html"><div class="ttname"><a href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a></div><div class="ttdoc">Base abstract template class to support object handle keeping for objects that support trivial handle...</div><div class="ttdef"><b>Definition</b> common.hpp:320</div></div>
<div class="ttc" id="aclassmacstd_1_1dplhandle_html_a1b873380277a79a12dca3ba59f862529"><div class="ttname"><a href="classmacstd_1_1dplhandle.html#a1b873380277a79a12dca3ba59f862529">macstd::dplhandle::dplhandle</a></div><div class="ttdeci">dplhandle() noexcept</div><div class="ttdoc">Initializes a new class instance with the object handle set to INVAL.</div><div class="ttdef"><b>Definition</b> common.hpp:325</div></div>
<div class="ttc" id="aclassmacstd_1_1dplhandle_html_a33df964f028970ac0321568c3582d550"><div class="ttname"><a href="classmacstd_1_1dplhandle.html#a33df964f028970ac0321568c3582d550">macstd::dplhandle::duplicate_internal</a></div><div class="ttdeci">virtual T duplicate_internal(T h) const =0</div><div class="ttdoc">Abstract member function that must be implemented by child classes to do the actual object handle dup...</div></div>
<div class="ttc" id="aclassmacstd_1_1dplhandle_html_a5f336d173be030936c7eaec80727a0a6"><div class="ttname"><a href="classmacstd_1_1dplhandle.html#a5f336d173be030936c7eaec80727a0a6">macstd::dplhandle::operator=</a></div><div class="ttdeci">dplhandle&lt; T, INVAL &gt; &amp; operator=(T h) noexcept</div><div class="ttdoc">Attaches already available object handle.</div><div class="ttdef"><b>Definition</b> common.hpp:357</div></div>
<div class="ttc" id="aclassmacstd_1_1dplhandle_html_a71b36749116393468cc7b9307ff21128"><div class="ttname"><a href="classmacstd_1_1dplhandle.html#a71b36749116393468cc7b9307ff21128">macstd::dplhandle::operator=</a></div><div class="ttdeci">dplhandle&lt; T, INVAL &gt; &amp; operator=(dplhandle&lt; T, INVAL &gt; &amp;&amp;h) noexcept</div><div class="ttdoc">Moves the object.</div><div class="ttdef"><b>Definition</b> common.hpp:394</div></div>
<div class="ttc" id="aclassmacstd_1_1dplhandle_html_a7250ebf4632a7d48b071dc10b8e4b986"><div class="ttname"><a href="classmacstd_1_1dplhandle.html#a7250ebf4632a7d48b071dc10b8e4b986">macstd::dplhandle::dplhandle</a></div><div class="ttdeci">dplhandle(T h) noexcept</div><div class="ttdoc">Initializes a new class instance with an already available object handle.</div><div class="ttdef"><b>Definition</b> common.hpp:333</div></div>
<div class="ttc" id="aclassmacstd_1_1dplhandle_html_acf0b725b54793b240572c0fe86537f3c"><div class="ttname"><a href="classmacstd_1_1dplhandle.html#acf0b725b54793b240572c0fe86537f3c">macstd::dplhandle::attach_duplicated</a></div><div class="ttdeci">void attach_duplicated(T h)</div><div class="ttdoc">Duplicates an object handle and sets a new object handle.</div><div class="ttdef"><b>Definition</b> common.hpp:415</div></div>
<div class="ttc" id="aclassmacstd_1_1dplhandle_html_ae43e59554d0d11b4500daa5bd50bda0d"><div class="ttname"><a href="classmacstd_1_1dplhandle.html#ae43e59554d0d11b4500daa5bd50bda0d">macstd::dplhandle::duplicate</a></div><div class="ttdeci">T duplicate() const</div><div class="ttdoc">Duplicates and returns a new object handle.</div><div class="ttdef"><b>Definition</b> common.hpp:405</div></div>
<div class="ttc" id="aclassmacstd_1_1dplhandle_html_af25c2323ce6030400bf12be762565350"><div class="ttname"><a href="classmacstd_1_1dplhandle.html#af25c2323ce6030400bf12be762565350">macstd::dplhandle::operator=</a></div><div class="ttdeci">dplhandle&lt; T, INVAL &gt; &amp; operator=(const dplhandle&lt; T, INVAL &gt; &amp;h) noexcept</div><div class="ttdoc">Duplicates the object.</div><div class="ttdef"><b>Definition</b> common.hpp:368</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html"><div class="ttname"><a href="classmacstd_1_1handle.html">macstd::handle</a></div><div class="ttdoc">Base abstract template class to support generic object handle keeping.</div><div class="ttdef"><b>Definition</b> common.hpp:70</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_a10b5fff674bc904f841925f54a98801e"><div class="ttname"><a href="classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e">macstd::handle::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(T h) const</div><div class="ttdoc">Is handle greater than or equal to?</div><div class="ttdef"><b>Definition</b> common.hpp:224</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_a2027dc26b8d7dac3410dd9e302a01e31"><div class="ttname"><a href="classmacstd_1_1handle.html#a2027dc26b8d7dac3410dd9e302a01e31">macstd::handle::operator=</a></div><div class="ttdeci">handle&lt; T, INVAL &gt; &amp; operator=(handle&lt; T, INVAL &gt; &amp;&amp;h) noexcept</div><div class="ttdoc">Move assignment.</div><div class="ttdef"><b>Definition</b> common.hpp:121</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_a4eaa05a6124133c11663f1c6c2666f7b"><div class="ttname"><a href="classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b">macstd::handle::operator&lt;=</a></div><div class="ttdeci">bool operator&lt;=(T h) const</div><div class="ttdoc">Is handle less than or equal to?</div><div class="ttdef"><b>Definition</b> common.hpp:211</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_a58be08519d6208ba2716dcd79d2f295e"><div class="ttname"><a href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e">macstd::handle::handle</a></div><div class="ttdeci">handle() noexcept</div><div class="ttdoc">Initializes a new class instance with the object handle set to INVAL.</div><div class="ttdef"><b>Definition</b> common.hpp:75</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_a5906d39969037175bf5b148935ab1d05"><div class="ttname"><a href="classmacstd_1_1handle.html#a5906d39969037175bf5b148935ab1d05">macstd::handle::handle</a></div><div class="ttdeci">handle(T h) noexcept</div><div class="ttdoc">Initializes a new class instance with an already available object handle.</div><div class="ttdef"><b>Definition</b> common.hpp:83</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_a5e3365827f995ee2a580d2c669ddcafe"><div class="ttname"><a href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">macstd::handle::free_internal</a></div><div class="ttdeci">virtual void free_internal() noexcept=0</div><div class="ttdoc">Abstract member function that must be implemented by child classes to do the actual object destructio...</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_a69d07a5c3334ce61998880b0d620c6fd"><div class="ttname"><a href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd">macstd::handle::attach</a></div><div class="ttdeci">void attach(T h) noexcept</div><div class="ttdoc">Sets a new object handle for the class.</div><div class="ttdef"><b>Definition</b> common.hpp:275</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_a724b10f5424177670f04180e32b7f129"><div class="ttname"><a href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129">macstd::handle::operator==</a></div><div class="ttdeci">bool operator==(T h) const</div><div class="ttdoc">Is handle equal to?</div><div class="ttdef"><b>Definition</b> common.hpp:263</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_a8405a3ff7aefc002779984f856678960"><div class="ttname"><a href="classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960">macstd::handle::operator&amp;</a></div><div class="ttdeci">T * operator&amp;()</div><div class="ttdoc">Returns the object handle reference.</div><div class="ttdef"><b>Definition</b> common.hpp:158</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_a862b5aec5f974071ddf14a2a7b6570d2"><div class="ttname"><a href="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2">macstd::handle::operator&gt;</a></div><div class="ttdeci">bool operator&gt;(T h) const</div><div class="ttdoc">Is handle greater than?</div><div class="ttdef"><b>Definition</b> common.hpp:237</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_aab9ec0feedeb9d115f37d938e923d10c"><div class="ttname"><a href="classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c">macstd::handle::operator*</a></div><div class="ttdeci">T *&amp; operator*() const</div><div class="ttdoc">Returns the object handle value when the object handle is a pointer to a value (class,...</div><div class="ttdef"><b>Definition</b> common.hpp:148</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_ab65b198a6e06f14b29be176cdff7556e"><div class="ttname"><a href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">macstd::handle::m_h</a></div><div class="ttdeci">T m_h</div><div class="ttdoc">Object handle.</div><div class="ttdef"><b>Definition</b> common.hpp:312</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_ac1d446bed338bb91b639fe2f34141b62"><div class="ttname"><a href="classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62">macstd::handle::operator!</a></div><div class="ttdeci">bool operator!() const</div><div class="ttdoc">Tests if the object handle is invalid.</div><div class="ttdef"><b>Definition</b> common.hpp:185</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_ad0e382917ebdceabe1d1c80780cec8fd"><div class="ttname"><a href="classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd">macstd::handle::operator=</a></div><div class="ttdeci">handle&lt; T, INVAL &gt; &amp; operator=(T h) noexcept</div><div class="ttdoc">Attaches already available object handle.</div><div class="ttdef"><b>Definition</b> common.hpp:109</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_ad17472a1418050b801ee80a32c49c325"><div class="ttname"><a href="classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325">macstd::handle::detach</a></div><div class="ttdeci">T detach()</div><div class="ttdoc">Dismisses the object handle from this class.</div><div class="ttdef"><b>Definition</b> common.hpp:287</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_adcc4a33c5a33325aa3106d9eaab5384a"><div class="ttname"><a href="classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a">macstd::handle::operator!=</a></div><div class="ttdeci">bool operator!=(T h) const</div><div class="ttdoc">Is handle not equal to?</div><div class="ttdef"><b>Definition</b> common.hpp:250</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_ae50ded4e3696cebbdb5145fa8f58ad23"><div class="ttname"><a href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23">macstd::handle::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(T h) const</div><div class="ttdoc">Is handle less than?</div><div class="ttdef"><b>Definition</b> common.hpp:198</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_ae5e62370d363a2db991b691f5fa4d914"><div class="ttname"><a href="classmacstd_1_1handle.html#ae5e62370d363a2db991b691f5fa4d914">macstd::handle::handle</a></div><div class="ttdeci">handle(handle&lt; T, INVAL &gt; &amp;&amp;h) noexcept</div><div class="ttdoc">Move constructor.</div><div class="ttdef"><b>Definition</b> common.hpp:91</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_afbc07860aaf0eeeabe6e7e7474b6d176"><div class="ttname"><a href="classmacstd_1_1handle.html#afbc07860aaf0eeeabe6e7e7474b6d176">macstd::handle::free</a></div><div class="ttdeci">void free()</div><div class="ttdoc">Destroys the object.</div><div class="ttdef"><b>Definition</b> common.hpp:297</div></div>
<div class="ttc" id="aclassmacstd_1_1handle_html_aff8db2489369bcdbb9ebf60ee7095878"><div class="ttname"><a href="classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878">macstd::handle::operator-&gt;</a></div><div class="ttdeci">T operator-&gt;() const</div><div class="ttdoc">Provides object handle member access when the object handle is a pointer to a class or struct.</div><div class="ttdef"><b>Definition</b> common.hpp:169</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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,58 +0,0 @@
/*!
Cookie helper functions
Copyright (c) 2023 Dimitri van Heesch
Released under MIT license.
*/
let Cookie = {
cookie_namespace: 'doxygen_',
readSetting(cookie,defVal) {
if (window.chrome) {
const val = localStorage.getItem(this.cookie_namespace+cookie) ||
sessionStorage.getItem(this.cookie_namespace+cookie);
if (val) return val;
} else {
let myCookie = this.cookie_namespace+cookie+"=";
if (document.cookie) {
const index = document.cookie.indexOf(myCookie);
if (index != -1) {
const valStart = index + myCookie.length;
let valEnd = document.cookie.indexOf(";", valStart);
if (valEnd == -1) {
valEnd = document.cookie.length;
}
return document.cookie.substring(valStart, valEnd);
}
}
}
return defVal;
},
writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete
if (window.chrome) {
if (days==0) {
sessionStorage.setItem(this.cookie_namespace+cookie,val);
} else {
localStorage.setItem(this.cookie_namespace+cookie,val);
}
} else {
let date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
const expiration = days!=0 ? "expires="+date.toGMTString()+";" : "";
document.cookie = this.cookie_namespace + cookie + "=" +
val + "; SameSite=Lax;" + expiration + "path=/";
}
},
eraseSetting(cookie) {
if (window.chrome) {
if (localStorage.getItem(this.cookie_namespace+cookie)) {
localStorage.removeItem(this.cookie_namespace+cookie);
} else if (sessionStorage.getItem(this.cookie_namespace+cookie)) {
sessionStorage.removeItem(this.cookie_namespace+cookie);
}
} else {
this.writeSetting(cookie,'',-1);
}
},
}

View File

@ -1,116 +0,0 @@
<!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>MacStd: include/MacStd Directory 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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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_49bef833487b2e4ec885e49af66a06b7.html">MacStd</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">MacStd Directory Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="common_8hpp_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>common.hpp</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="_core_foundation_8hpp_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>CoreFoundation.hpp</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="dyld_8hpp_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>dyld.hpp</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="_i_o_kit_8hpp_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>IOKit.hpp</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="unistd_8hpp_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>unistd.hpp</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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,108 +0,0 @@
<!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>MacStd: include Directory 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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">include Directory Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="subdirs" name="subdirs"></a>
Directories</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="iconfclosed"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_49bef833487b2e4ec885e49af66a06b7.html">MacStd</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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>

12
doc.svg
View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#4665A2">
<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
</g>
<g style="fill:#D8DFEE;stroke-width:0">
<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#C4CFE5">
<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
</g>
<g style="fill:#4665A2;stroke-width:0">
<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1,109 +0,0 @@
<!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>
<title>Validator / crawler helper</title>
<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"/>
</head>
<body>
<a href="common_8hpp_source.html"/>
<a href="_core_foundation_8hpp_source.html"/>
<a href="dyld_8hpp_source.html"/>
<a href="_i_o_kit_8hpp_source.html"/>
<a href="unistd_8hpp_source.html"/>
<a href="structmacstd_1_1_c_f_release__delete.html"/>
<a href="structmacstd_1_1_c_f_release__delete-members.html"/>
<a href="classmacstd_1_1dplhandle.html"/>
<a href="classmacstd_1_1dplhandle-members.html"/>
<a href="classmacstd_1_1handle.html"/>
<a href="classmacstd_1_1handle-members.html"/>
<a href="classmacstd_1_1io__object.html"/>
<a href="classmacstd_1_1io__object-members.html"/>
<a href="dir_d44c64559bbebec7f509842c48db8b23.html"/>
<a href="dir_49bef833487b2e4ec885e49af66a06b7.html"/>
<a href="index.html"/>
<a href="doxygen_crawl.html"/>
<a href="annotated.html"/>
<a href="classes.html"/>
<a href="hierarchy.html"/>
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions_func.html"/>
<a href="functions_func.html"/>
<a href="functions_func.html"/>
<a href="functions_func.html"/>
<a href="functions_func.html"/>
<a href="functions_func.html"/>
<a href="functions_func.html"/>
<a href="functions_vars.html"/>
<a href="files.html"/>
<a href="_core_foundation_8hpp_source.html"/>
<a href="_i_o_kit_8hpp_source.html"/>
<a href="annotated.html"/>
<a href="classes.html"/>
<a href="classmacstd_1_1dplhandle.html"/>
<a href="classmacstd_1_1dplhandle.html#a1b873380277a79a12dca3ba59f862529"/>
<a href="classmacstd_1_1dplhandle.html#a33df964f028970ac0321568c3582d550"/>
<a href="classmacstd_1_1dplhandle.html#a5f336d173be030936c7eaec80727a0a6"/>
<a href="classmacstd_1_1dplhandle.html#a71b36749116393468cc7b9307ff21128"/>
<a href="classmacstd_1_1dplhandle.html#a7250ebf4632a7d48b071dc10b8e4b986"/>
<a href="classmacstd_1_1dplhandle.html#a835eca8008bbdd42aa4bbb76072c637b"/>
<a href="classmacstd_1_1dplhandle.html#a8bb0531c1a3eacc4a60604e438b3ed71"/>
<a href="classmacstd_1_1dplhandle.html#acf0b725b54793b240572c0fe86537f3c"/>
<a href="classmacstd_1_1dplhandle.html#ae43e59554d0d11b4500daa5bd50bda0d"/>
<a href="classmacstd_1_1dplhandle.html#af25c2323ce6030400bf12be762565350"/>
<a href="classmacstd_1_1handle.html"/>
<a href="classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e"/>
<a href="classmacstd_1_1handle.html#a1c6c0152d5cc967558720e9f8ce218df"/>
<a href="classmacstd_1_1handle.html#a2027dc26b8d7dac3410dd9e302a01e31"/>
<a href="classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b"/>
<a href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e"/>
<a href="classmacstd_1_1handle.html#a5906d39969037175bf5b148935ab1d05"/>
<a href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe"/>
<a href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd"/>
<a href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129"/>
<a href="classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960"/>
<a href="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2"/>
<a href="classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c"/>
<a href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e"/>
<a href="classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62"/>
<a href="classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd"/>
<a href="classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325"/>
<a href="classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a"/>
<a href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23"/>
<a href="classmacstd_1_1handle.html#ae5e62370d363a2db991b691f5fa4d914"/>
<a href="classmacstd_1_1handle.html#afbc07860aaf0eeeabe6e7e7474b6d176"/>
<a href="classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878"/>
<a href="classmacstd_1_1io__object.html"/>
<a href="classmacstd_1_1io__object.html#a0608c7dbed214b5cb4626fb23a9b1aca"/>
<a href="classmacstd_1_1io__object.html#a897840743bbbdc938e757781fc453cb5"/>
<a href="common_8hpp_source.html"/>
<a href="dir_49bef833487b2e4ec885e49af66a06b7.html"/>
<a href="dir_d44c64559bbebec7f509842c48db8b23.html"/>
<a href="dyld_8hpp_source.html"/>
<a href="files.html"/>
<a href="functions.html"/>
<a href="functions_func.html"/>
<a href="functions_vars.html"/>
<a href="hierarchy.html"/>
<a href="index.html"/>
<a href="index.html#autotoc_md1"/>
<a href="index.html#autotoc_md2"/>
<a href="index.html#autotoc_md3"/>
<a href="index.html#autotoc_md4"/>
<a href="index.html#autotoc_md5"/>
<a href="index.html#autotoc_md6"/>
<a href="structmacstd_1_1_c_f_release__delete.html"/>
<a href="structmacstd_1_1_c_f_release__delete.html#a6aa1065ba889687f0e8798deb57ba3cc"/>
<a href="structmacstd_1_1_c_f_release__delete.html#ada4a1d4eab1b2f91d655335b64cc2726"/>
<a href="unistd_8hpp_source.html"/>
</body>
</html>

View File

@ -1,132 +0,0 @@
<!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>MacStd: include/MacStd/dyld.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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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_49bef833487b2e4ec885e49af66a06b7.html">MacStd</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">dyld.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;common.hpp&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;mach-o/dyld.h&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keyword">inline</span> <span class="keywordtype">int</span> _NSGetExecutablePath(std::string&amp; path)</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span>{</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="keywordtype">char</span> stack_buffer[MACSTD_STACK_BUFFER_BYTES];</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> uint32_t capacity = MACSTD_STACK_BUFFER_BYTES;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keywordtype">int</span> result = _NSGetExecutablePath(stack_buffer, &amp;capacity);</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keywordflow">if</span> (result == 0) {</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> path = stack_buffer;</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keywordflow">return</span> 0;</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> (result == -1) {</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> path.resize(capacity - 1);</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> result = _NSGetExecutablePath(&amp;path[0], &amp;capacity);</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordflow">if</span> (result == 0) {</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> path.resize(strnlen(path.data(), path.size()));</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">return</span> 0;</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> }</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span>}</div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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,198 +0,0 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
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.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function toggleVisibility(linkObj) {
return dynsection.toggleVisibility(linkObj);
}
let dynsection = {
// helper function
updateStripes : function() {
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
$('table.directory tr').
removeClass('odd').filter(':visible:odd').addClass('odd');
},
toggleVisibility : function(linkObj) {
const base = $(linkObj).attr('id');
const summary = $('#'+base+'-summary');
const content = $('#'+base+'-content');
const trigger = $('#'+base+'-trigger');
const src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
},
toggleLevel : function(level) {
$('table.directory tr').each(function() {
const l = this.id.split('_').length-1;
const i = $('#img'+this.id.substring(3));
const a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
this.updateStripes();
},
toggleFolder : function(id) {
// the clicked row
const currentRow = $('#row_'+id);
// all rows after the clicked row
const rows = currentRow.nextAll("tr");
const re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
const childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
const currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
const currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
const childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
this.updateStripes();
},
toggleInherit : function(id) {
const rows = $('tr.inherit.'+id);
const img = $('tr.inherit_header.'+id+' img');
const src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
},
};
let codefold = {
opened : true,
// in case HTML_COLORSTYLE is LIGHT or DARK the vars will be replaced, so we write them out explicitly and use double quotes
plusImg: [ "var(--fold-plus-image)", "var(--fold-plus-image-relpath)" ],
minusImg: [ "var(--fold-minus-image)", "var(--fold-minus-image-relpath)" ],
// toggle all folding blocks
toggle_all : function(relPath) {
if (this.opened) {
$('#fold_all').css('background-image',this.plusImg[relPath]);
$('div[id^=foldopen]').hide();
$('div[id^=foldclosed]').show();
} else {
$('#fold_all').css('background-image',this.minusImg[relPath]);
$('div[id^=foldopen]').show();
$('div[id^=foldclosed]').hide();
}
this.opened=!this.opened;
},
// toggle single folding block
toggle : function(id) {
$('#foldopen'+id).toggle();
$('#foldclosed'+id).toggle();
},
init : function(relPath) {
$('span[class=lineno]').css({
'padding-right':'4px',
'margin-right':'2px',
'display':'inline-block',
'width':'54px',
'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%'
});
// add global toggle to first line
$('span[class=lineno]:first').append('<span class="fold" id="fold_all" '+
'onclick="javascript:codefold.toggle_all('+relPath+');" '+
'style="background-image:'+this.minusImg[relPath]+';"></span>');
// add vertical lines to other rows
$('span[class=lineno]').not(':eq(0)').append('<span class="fold"></span>');
// add toggle controls to lines with fold divs
$('div[class=foldopen]').each(function() {
// extract specific id to use
const id = $(this).attr('id').replace('foldopen','');
// extract start and end foldable fragment attributes
const start = $(this).attr('data-start');
const end = $(this).attr('data-end');
// replace normal fold span with controls for the first line of a foldable fragment
$(this).find('span[class=fold]:first').replaceWith('<span class="fold" '+
'onclick="javascript:codefold.toggle(\''+id+'\');" '+
'style="background-image:'+codefold.minusImg[relPath]+';"></span>');
// append div for folded (closed) representation
$(this).after('<div id="foldclosed'+id+'" class="foldclosed" style="display:none;"></div>');
// extract the first line from the "open" section to represent closed content
const line = $(this).children().first().clone();
// remove any glow that might still be active on the original line
$(line).removeClass('glow');
if (start) {
// if line already ends with a start marker (e.g. trailing {), remove it
$(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),''));
}
// replace minus with plus symbol
$(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]);
// append ellipsis
$(line).append(' '+start+'<a href="javascript:codefold.toggle(\''+id+'\')">&#8230;</a>'+end);
// insert constructed line into closed div
$('#foldclosed'+id).html(line);
});
},
};
/* @license-end */

View File

@ -1,109 +0,0 @@
<!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>MacStd: File 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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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">File List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files 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>]</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 id="img_0_" class="iconfopen" onclick="dynsection.toggleFolder('0_')">&#160;</span><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></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_')">&#9660;</span><span id="img_0_0_" class="iconfopen" onclick="dynsection.toggleFolder('0_0_')">&#160;</span><a class="el" href="dir_49bef833487b2e4ec885e49af66a06b7.html" target="_self">MacStd</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="common_8hpp_source.html"><span class="icondoc"></span></a><b>common.hpp</b></td><td class="desc"></td></tr>
<tr id="row_0_0_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="_core_foundation_8hpp_source.html"><span class="icondoc"></span></a><b>CoreFoundation.hpp</b></td><td class="desc"></td></tr>
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="dyld_8hpp_source.html"><span class="icondoc"></span></a><b>dyld.hpp</b></td><td class="desc"></td></tr>
<tr id="row_0_0_3_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="_i_o_kit_8hpp_source.html"><span class="icondoc"></span></a><b>IOKit.hpp</b></td><td class="desc"></td></tr>
<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="unistd_8hpp_source.html"><span class="icondoc"></span></a><b>unistd.hpp</b></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#4665A2;">
<path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/>
</g>
<g style="fill:#D8DFEE;stroke-width:0;">
<path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#C4CFE5;">
<path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/>
</g>
<g style="fill:#4665A2;stroke-width:0;">
<path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#4665A2;">
<path
d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"
id="path2" />
</g>
<g style="fill:#D8DFEE;stroke-width:0;">
<path
d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z"
id="path199" /><path
d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z"
id="path201" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#C4CFE5;">
<path d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"/>
</g>
<g style="fill:#4665A2;stroke-width:0;">
<path d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z" />
<path d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1,152 +0,0 @@
<!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>MacStd: Class Members</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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>attach()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>attach_duplicated()&#160;:&#160;<a class="el" href="classmacstd_1_1dplhandle.html#acf0b725b54793b240572c0fe86537f3c">macstd::dplhandle&lt; T, INVAL &gt;</a></li>
</ul>
<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>CFRelease_delete()&#160;:&#160;<a class="el" href="structmacstd_1_1_c_f_release__delete.html#a6aa1065ba889687f0e8798deb57ba3cc">macstd::CFRelease_delete</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>detach()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>dplhandle()&#160;:&#160;<a class="el" href="classmacstd_1_1dplhandle.html#a1b873380277a79a12dca3ba59f862529">macstd::dplhandle&lt; T, INVAL &gt;</a></li>
<li>duplicate()&#160;:&#160;<a class="el" href="classmacstd_1_1dplhandle.html#ae43e59554d0d11b4500daa5bd50bda0d">macstd::dplhandle&lt; T, INVAL &gt;</a></li>
<li>duplicate_internal()&#160;:&#160;<a class="el" href="classmacstd_1_1dplhandle.html#a33df964f028970ac0321568c3582d550">macstd::dplhandle&lt; T, INVAL &gt;</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>free()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#afbc07860aaf0eeeabe6e7e7474b6d176">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>free_internal()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">macstd::handle&lt; T, INVAL &gt;</a>, <a class="el" href="classmacstd_1_1io__object.html#a897840743bbbdc938e757781fc453cb5">macstd::io_object&lt; T &gt;</a></li>
</ul>
<h3><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>handle()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e">macstd::handle&lt; T, INVAL &gt;</a></li>
</ul>
<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>m_h&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">macstd::handle&lt; T, INVAL &gt;</a></li>
</ul>
<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
<li>operator T()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a1c6c0152d5cc967558720e9f8ce218df">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator!()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator!=()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator&amp;()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator()()&#160;:&#160;<a class="el" href="structmacstd_1_1_c_f_release__delete.html#ada4a1d4eab1b2f91d655335b64cc2726">macstd::CFRelease_delete</a></li>
<li>operator*()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator-&gt;()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator&lt;()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator&lt;=()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator=()&#160;:&#160;<a class="el" href="classmacstd_1_1dplhandle.html#a5f336d173be030936c7eaec80727a0a6">macstd::dplhandle&lt; T, INVAL &gt;</a>, <a class="el" href="classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator==()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator&gt;()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator&gt;=()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e">macstd::handle&lt; T, INVAL &gt;</a></li>
</ul>
<h3><a id="index__7E" name="index__7E"></a>- ~ -</h3><ul>
<li>~io_object()&#160;:&#160;<a class="el" href="classmacstd_1_1io__object.html#a0608c7dbed214b5cb4626fb23a9b1aca">macstd::io_object&lt; T &gt;</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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,147 +0,0 @@
<!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>MacStd: Class Members - Functions</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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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="contents">
<div class="textblock">Here is a list of all documented functions with links to the class documentation for each member:</div>
<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>attach()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>attach_duplicated()&#160;:&#160;<a class="el" href="classmacstd_1_1dplhandle.html#acf0b725b54793b240572c0fe86537f3c">macstd::dplhandle&lt; T, INVAL &gt;</a></li>
</ul>
<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>CFRelease_delete()&#160;:&#160;<a class="el" href="structmacstd_1_1_c_f_release__delete.html#a6aa1065ba889687f0e8798deb57ba3cc">macstd::CFRelease_delete</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>detach()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>dplhandle()&#160;:&#160;<a class="el" href="classmacstd_1_1dplhandle.html#a1b873380277a79a12dca3ba59f862529">macstd::dplhandle&lt; T, INVAL &gt;</a></li>
<li>duplicate()&#160;:&#160;<a class="el" href="classmacstd_1_1dplhandle.html#ae43e59554d0d11b4500daa5bd50bda0d">macstd::dplhandle&lt; T, INVAL &gt;</a></li>
<li>duplicate_internal()&#160;:&#160;<a class="el" href="classmacstd_1_1dplhandle.html#a33df964f028970ac0321568c3582d550">macstd::dplhandle&lt; T, INVAL &gt;</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>free()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#afbc07860aaf0eeeabe6e7e7474b6d176">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>free_internal()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">macstd::handle&lt; T, INVAL &gt;</a>, <a class="el" href="classmacstd_1_1io__object.html#a897840743bbbdc938e757781fc453cb5">macstd::io_object&lt; T &gt;</a></li>
</ul>
<h3><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>handle()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e">macstd::handle&lt; T, INVAL &gt;</a></li>
</ul>
<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
<li>operator T()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a1c6c0152d5cc967558720e9f8ce218df">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator!()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator!=()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator&amp;()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator()()&#160;:&#160;<a class="el" href="structmacstd_1_1_c_f_release__delete.html#ada4a1d4eab1b2f91d655335b64cc2726">macstd::CFRelease_delete</a></li>
<li>operator*()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator-&gt;()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator&lt;()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator&lt;=()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator=()&#160;:&#160;<a class="el" href="classmacstd_1_1dplhandle.html#a5f336d173be030936c7eaec80727a0a6">macstd::dplhandle&lt; T, INVAL &gt;</a>, <a class="el" href="classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator==()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator&gt;()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2">macstd::handle&lt; T, INVAL &gt;</a></li>
<li>operator&gt;=()&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e">macstd::handle&lt; T, INVAL &gt;</a></li>
</ul>
<h3><a id="index__7E" name="index__7E"></a>- ~ -</h3><ul>
<li>~io_object()&#160;:&#160;<a class="el" href="classmacstd_1_1io__object.html#a0608c7dbed214b5cb4626fb23a9b1aca">macstd::io_object&lt; T &gt;</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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,98 +0,0 @@
<!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>MacStd: Class Members - Variables</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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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="contents">
<div class="textblock">Here is a list of all documented variables with links to the class documentation for each member:</div><ul>
<li>m_h&#160;:&#160;<a class="el" href="classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e">macstd::handle&lt; T, INVAL &gt;</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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,107 +0,0 @@
<!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>MacStd: Class Hierarchy</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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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 Hierarchy</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</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>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmacstd_1_1_c_f_release__delete.html" target="_self">macstd::CFRelease_delete</a></td><td class="desc">Deleter for unique_ptr using CFRelease </td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="dynsection.toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmacstd_1_1handle.html" target="_self">macstd::handle&lt; T, INVAL &gt;</a></td><td class="desc">Base abstract template class to support generic object handle keeping </td></tr>
<tr id="row_1_0_" 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="classmacstd_1_1dplhandle.html" target="_self">macstd::dplhandle&lt; T, INVAL &gt;</a></td><td class="desc">Base abstract template class to support object handle keeping for objects that support trivial handle duplication </td></tr>
<tr id="row_2_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="dynsection.toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmacstd_1_1handle.html" target="_self">macstd::handle&lt; T, 0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_2_0_" 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="classmacstd_1_1io__object.html" target="_self">macstd::io_object&lt; T &gt;</a></td><td class="desc">IOKit handle wrapper class </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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,28 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#pragma once
#include "CoreFoundation.hpp"
#include <CFNetwork/CFNetwork.h>
#include <stdexcept>
namespace macstd {
///
/// HTTP message object traits
///
struct cfhttpmessage_traits : public cfobject_traits<CFHTTPMessageRef>
{
static CFHTTPMessageRef duplicate(CFHTTPMessageRef h)
{
CFHTTPMessageRef h2 = CFHTTPMessageCreateCopy(kCFAllocatorDefault, h);
if (h2 == invalid)
throw std::runtime_error("CFHTTPMessageCreateCopy failed");
return h2;
}
};
using cfhttpmessage = handle<CFHTTPMessageRef, cfhttpmessage_traits>;
}

View File

@ -0,0 +1,220 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#pragma once
#include "common.hpp"
#include <CoreFoundation/CoreFoundation.h>
#include <memory>
#include <system_error>
namespace macstd {
///
/// Core Foundation object traits
///
template <typename T>
struct cfobject_traits
{
static inline constexpr T invalid = static_cast<T>(NULL);
///
/// Releases a Core Foundation object
///
/// \sa [CFRelease function](https://developer.apple.com/documentation/corefoundation/1521153-cfrelease)
///
static void free(T h)
{
CFRelease(h);
}
private:
static T duplicate(T h);
};
///
/// Core Foundation object traits
///
template <typename T>
using cfobject = handle<T, cfobject_traits<T>>;
using cfarray = cfobject<CFArrayRef>;
using cfdata = cfobject<CFDataRef>;
using cfdictionary = cfobject<CFDictionaryRef>;
using cferror = cfobject<CFErrorRef>;
using cfmutabledata = cfobject<CFMutableDataRef>;
using cfreadstream = cfobject<CFReadStreamRef>;
using cfurl = cfobject<CFURLRef>;
template <typename TR = std::char_traits<char>, typename A = std::allocator<char>>
void strcat(std::basic_string<char, TR, A>& str, CFStringRef h, CFStringEncoding encoding = kCFStringEncodingUTF8)
{
auto ptr = CFStringGetCStringPtr(h, encoding);
if (ptr) {
str += ptr;
return;
}
char buf[0x200];
if (CFStringGetCString(h, buf, sizeof(buf)/sizeof(*buf), encoding)) {
str += buf;
return;
}
auto n = str.size();
auto m = CFStringGetMaximumSizeForEncoding(CFStringGetLength(h), encoding);
str.resize(n + m);
if (!CFStringGetCString(h, &str[n], m, encoding)) [[unlikely]]
throw std::runtime_error("CFStringGetCString failed");
str.resize(n + strlen(&str[n]));
}
template <typename TR = std::char_traits<char>, typename A = std::allocator<char>>
void strcpy(std::basic_string<char, TR, A>& str, CFStringRef h, CFStringEncoding encoding = kCFStringEncodingUTF8)
{
str.clear();
strcat(str, h, encoding);
}
template <typename TR = std::char_traits<char>, typename A = std::allocator<char>>
std::basic_string<char, TR, A> to_string(CFStringRef h, CFStringEncoding encoding = kCFStringEncodingUTF8)
{
std::basic_string<char, TR, A> str;
strcat(str, h, encoding);
return str;
}
///
/// Core Foundation string
///
class cfstring : public cfobject<CFStringRef>
{
public:
cfstring(CFStringRef h) : cfobject<CFStringRef>(h) {}
cfstring(const char *s, CFStringEncoding encoding = kCFStringEncodingUTF8) : cfobject<CFStringRef>(CFStringCreateWithCString(kCFAllocatorDefault, s, encoding))
{
if (!valid()) [[unlikely]]
throw std::bad_alloc();
}
template <typename TR, typename A>
cfstring(const std::basic_string<char, TR, A> &s, CFStringEncoding encoding = kCFStringEncodingUTF8) : cfstring(s.c_str(), encoding) {}
};
///
/// Core Foundation number
///
class cfnumber : public cfobject<CFNumberRef>
{
public:
cfnumber(CFNumberRef h) : cfobject<CFNumberRef>(h) {}
cfnumber(float n) : cfobject<CFNumberRef>(CFNumberCreate(kCFAllocatorDefault, kCFNumberFloatType, &n))
{
if (!valid()) [[unlikely]]
throw std::bad_alloc();
}
cfnumber(double n) : cfobject<CFNumberRef>(CFNumberCreate(kCFAllocatorDefault, kCFNumberDoubleType, &n))
{
if (!valid()) [[unlikely]]
throw std::bad_alloc();
}
};
///
/// Core Foundation runtime error
///
class cf_runtime_error : public num_runtime_error<CFIndex>
{
protected:
cferror m_error;
public:
///
/// Constructs an exception
///
/// \param[in] error Core Foundation error
///
cf_runtime_error(CFErrorRef error) :
num_runtime_error<CFIndex>(CFErrorGetCode(error), message(error)),
m_error(error)
{
}
///
/// Constructs an exception
///
/// \param[in] error Core Foundation error
/// \param[in] msg Error message
///
cf_runtime_error(CFErrorRef error, const std::string& msg) :
num_runtime_error<CFIndex>(CFErrorGetCode(error), msg + ": " + message(error)),
m_error(error)
{
}
///
/// Constructs an exception
///
/// \param[in] error Core Foundation error
/// \param[in] msg Error message
///
cf_runtime_error(CFErrorRef error, const char* msg) : cf_runtime_error(error, std::string(msg)) {}
///
/// Constructs an exception
///
/// \param[in] error Core Foundation error
///
cf_runtime_error(cferror&& error) :
num_runtime_error<CFIndex>(CFErrorGetCode(error), message(error)),
m_error(std::move(error))
{
}
///
/// Constructs an exception
///
/// \param[in] error Core Foundation error
/// \param[in] msg Error message
///
cf_runtime_error(cferror&& error, const std::string& msg) :
num_runtime_error<CFIndex>(CFErrorGetCode(error), msg + ": " + message(error)),
m_error(std::move(error))
{
}
///
/// Constructs an exception
///
/// \param[in] error Core Foundation error
/// \param[in] msg Error message
///
cf_runtime_error(cferror&& error, const char* msg) : cf_runtime_error(std::move(error), std::string(msg)) {}
CFErrorRef cferror() const noexcept { return m_error; }
protected:
///
/// Returns a string explaining the meaning of a Core Foundation error
///
static std::string message(CFErrorRef error)
{
std::string msg;
cfstring cfstr(CFErrorCopyDescription(error));
if (cfstr.valid() && CFStringGetLength(cfstr) > 0) {
strcpy(msg, cfstr, kCFStringEncodingUTF8);
} else {
msg = "Core Foundation error ";
msg += std::to_string(CFErrorGetCode(error));
}
cfstring domain(CFErrorGetDomain(error));
if (domain.valid() && CFStringGetLength(domain) > 0) {
msg += ", domain ";
strcat(msg, domain, kCFStringEncodingUTF8);
}
return msg;
}
};
}

View File

@ -0,0 +1,34 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2025 Amebis
*/
#pragma once
#include "common.hpp"
#include <CoreServices/CoreServices.h>
namespace macstd {
///
/// FS event stream traits
///
struct fs_event_stream_traits
{
static inline constexpr FSEventStreamRef invalid = static_cast<FSEventStreamRef>(NULL);
///
/// Releases an object handle
///
/// \sa [FSEventStreamRelease function](https://developer.apple.com/documentation/coreservices/1445989-fseventstreamrelease)
///
static void free(FSEventStreamRef h) noexcept
{
FSEventStreamRelease(h);
}
private:
static FSEventStreamRef duplicate(FSEventStreamRef h);
};
using fs_event_stream = handle<FSEventStreamRef, fs_event_stream_traits>;
}

48
include/MacStd/IOKit.hpp Normal file
View File

@ -0,0 +1,48 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2024-2025 Amebis
*/
#pragma once
#include "common.hpp"
#include <IOKit/IOKitLib.h>
namespace macstd {
///
/// IOKit handle traits
///
template <typename T>
struct io_object_traits
{
static inline constexpr T invalid = 0;
///
/// Releases an object handle
///
/// \sa [IOObjectRelease function](https://developer.apple.com/documentation/iokit/1514627-ioobjectrelease)
///
static void free(T h) noexcept
{
IOObjectRelease(h);
}
private:
static T duplicate(T h);
};
///
/// IOKit handle traits
///
template <typename T>
using io_object = handle<T, io_object_traits<T>>;
using io_connect = io_object<io_connect_t>;
using io_enumerator = io_object<io_enumerator_t>;
using io_ident = io_object<io_ident_t>;
using io_iterator = io_object<io_iterator_t>;
using io_registry_entry = io_object<io_registry_entry_t>;
using io_service = io_object<io_service_t>;
using uext_object = io_object<uext_object_t>;
}

135
include/MacStd/Security.hpp Normal file
View File

@ -0,0 +1,135 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2025 Amebis
*/
#pragma once
#include "common.hpp"
#include "CoreFoundation.hpp"
#include <Security/Security.h>
namespace macstd
{
///
/// Security runtime error
///
class security_runtime_error : public num_runtime_error<OSStatus>
{
public:
///
/// Constructs an exception
///
/// \param[in] num Security error code
///
security_runtime_error(error_type num) : num_runtime_error<OSStatus>(num, message(num))
{
}
///
/// Constructs an exception
///
/// \param[in] num Security error code
/// \param[in] msg Error message
///
security_runtime_error(error_type num, const std::string &msg) : num_runtime_error<OSStatus>(num, msg + ": " + message(num))
{
}
///
/// Constructs an exception
///
/// \param[in] num Security error code
/// \param[in] msg Error message
///
security_runtime_error(error_type num, const char *msg) : num_runtime_error<OSStatus>(num, std::string(msg) + ": " + message(num))
{
}
protected:
///
/// Returns a string explaining the meaning of a security result code
///
/// \sa [SecCopyErrorMessageString function](https://developer.apple.com/documentation/security/seccopyerrormessagestring)
///
static std::string message(error_type num)
{
// Handle common errors Apple does not provide message strings for.
switch (num) {
case errSecWrPerm: return "Write permissions error";
case errSecDuplicateItem: return "The specified item already exists in the keychain";
case errAuthorizationCanceled: return "Authorization was canceled by user";
case errAuthorizationDenied: return "Authorization was denied";
case errAuthorizationInteractionNotAllowed: return "User interaction not allowed for authorization";
}
std::string msg;
cfstring cfstr(SecCopyErrorMessageString(num, NULL));
if (cfstr.valid() && CFStringGetLength(cfstr) > 0) {
strcpy(msg, cfstr, kCFStringEncodingUTF8);
} else {
msg = "Security Framework error ";
msg += std::to_string(num);
}
return msg;
}
};
///
/// Authorization traits
///
struct authorization_traits
{
static inline constexpr AuthorizationRef invalid = static_cast<AuthorizationRef>(NULL);
///
/// Releases an object handle
///
/// \sa [AuthorizationFree function](https://developer.apple.com/documentation/security/authorizationfree)
///
static void free(AuthorizationRef h) noexcept
{
AuthorizationFree(h, kAuthorizationFlagDefaults);
}
private:
static AuthorizationRef duplicate(AuthorizationRef h);
};
///
/// Authorization reference wrapper class
///
class authorization : public handle<AuthorizationRef, authorization_traits>
{
public:
///
/// Creates a new authorization reference and provides an option to authorize or preauthorize rights
///
/// \sa [AuthorizationCreate function](https://developer.apple.com/documentation/security/authorizationcreate)
///
authorization(const AuthorizationRights* rights, const AuthorizationEnvironment* environment, AuthorizationFlags flags)
{
AuthorizationRef h;
OSStatus status = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, kAuthorizationFlagDefaults, &h);
if (status != errAuthorizationSuccess)
throw security_runtime_error(status, "AuthorizationCreate failed");
this->m_h = h;
}
///
/// Internalizes the external representation of an authorization reference
///
/// \sa [AuthorizationCreateFromExternalForm function](https://developer.apple.com/documentation/security/authorizationcreatefromexternalform)
///
authorization(const AuthorizationExternalForm& extForm)
{
AuthorizationRef h;
OSStatus status = AuthorizationCreateFromExternalForm(&extForm, &h);
if (status != errAuthorizationSuccess)
throw security_runtime_error(status, "AuthorizationCreateFromExternalForm failed");
this->m_h = h;
}
};
using sec_keychain = cfobject<SecKeychainRef>;
using sec_certificate = cfobject<SecCertificateRef>;
}

377
include/MacStd/common.hpp Normal file
View File

@ -0,0 +1,377 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#pragma once
#include <stddef.h>
#include <stdexcept>
///
/// Declares a class as non-copyable
///
#define MACSTD_NONCOPYABLE(C) \
private: \
C (const C &h) noexcept; \
C& operator=(const C &h) noexcept;
///
/// Declares a class as non-movable
///
#define MACSTD_NONMOVABLE(C) \
private: \
C (C &&h) noexcept; \
C& operator=(C &&h) noexcept;
///
/// Size of the stack buffer in bytes used for initial system function call
///
/// Some system functions with variable length output data fail for insufficient buffer sizes. The function helpers use a fixed size stack buffer first. If the stack buffer really prooved sufficient, the helper allocates the exact length output on heap and copies the data without calling the system function again. Otherwise it allocates the memory on heap and retries.
///
/// \note Decrease this value in case of stack overflow.
///
#define MACSTD_STACK_BUFFER_BYTES 1024
namespace macstd
{
///
/// Base abstract template class to support generic object handle keeping
///
/// It provides basic operators and methods common to all descendands of this class establishing a base to ease the replacement of native object handle type with classes in object-oriented approach.
///
template <class T, class TR>
class handle
{
public:
///
/// Initializes a new class instance with the object handle set to TR::invalid.
///
handle() noexcept : m_h(TR::invalid)
{}
///
/// Initializes a new class instance with an already available object handle.
///
/// \param[in] h Initial object handle value
///
handle(T h) noexcept : m_h(h)
{}
///
/// Copy constructor
///
/// \param[in,out] h A reference of another object
///
handle(const handle<T, TR> &h) : m_h(TR::duplicate(h.m_h))
{}
///
/// Move constructor
///
/// \param[in,out] h A rvalue reference of another object
///
handle(handle<T, TR> &&h) noexcept
{
// Transfer handle.
m_h = h.m_h;
h.m_h = TR::invalid;
}
public:
///
/// Attaches already available object handle.
///
/// \param[in] h Object handle value
///
handle<T, TR>& operator=(T h) noexcept
{
attach(h);
return *this;
}
///
/// Duplicates the object.
///
/// \param[in] h Object
///
handle<T, TR>& operator=(const handle<T, TR> &h) noexcept
{
if (this != std::addressof(h)) {
if (h.m_h != TR::invalid) {
T h_new = TR::duplicate(h.m_h);
if (this->m_h != TR::invalid)
TR::free(this->m_h);
this->m_h = h_new;
} else {
if (this->m_h != TR::invalid)
TR::free(this->m_h);
this->m_h = TR::invalid;
}
}
return *this;
}
///
/// Move assignment
///
/// \param[in,out] h A rvalue reference of another object
///
handle<T, TR>& operator=(handle<T, TR> &&h) noexcept
{
if (this != std::addressof(h)) {
// Transfer handle.
if (m_h != TR::invalid)
TR::free(this->m_h);
m_h = h.m_h;
h.m_h = TR::invalid;
}
return *this;
}
///
/// Auto-typecasting operator
///
/// \return Object handle
///
operator T() const
{
return m_h;
}
///
/// Returns the object handle value when the object handle is a pointer to a value (class, struct, etc.).
///
/// \return Object handle value
///
T*& operator*() const
{
assert(m_h != TR::invalid);
return *m_h;
}
///
/// Returns the object handle reference.
/// \return Object handle reference
///
T* operator&()
{
assert(m_h == TR::invalid);
return &m_h;
}
///
/// Provides object handle member access when the object handle is a pointer to a class or struct.
///
/// \return Object handle
///
T operator->() const
{
assert(m_h != TR::invalid);
return m_h;
}
///
/// Tests if the object handle is valid.
///
/// \return
/// - Non zero when object handle is valid;
/// - Zero otherwise.
///
/// \note Implementing `operator bool() const` would be correct C++ approach here. Unfortunately, it would produce ambiguities where `bool` and `T` are polymorphed.
///
bool valid() const
{
return m_h != TR::invalid;
}
///
/// Is handle less than?
///
/// \param[in] h Object handle to compare against
/// \return
/// - Non zero when object handle is less than h;
/// - Zero otherwise.
///
bool operator<(T h) const
{
return m_h < h;
}
///
/// Is handle less than or equal to?
///
/// \param[in] h Object handle to compare against
/// \return
/// - Non zero when object handle is less than or equal to h;
/// - Zero otherwise.
///
bool operator<=(T h) const
{
return !operator>(h);
}
///
/// Is handle greater than or equal to?
///
/// \param[in] h Object handle to compare against
/// \return
/// - Non zero when object handle is greater than or equal to h;
/// - Zero otherwise.
///
bool operator>=(T h) const
{
return !operator<(h);
}
///
/// Is handle greater than?
///
/// \param[in] h Object handle to compare against
/// \return
/// - Non zero when object handle is greater than h;
/// - Zero otherwise.
///
bool operator>(T h) const
{
return h < m_h;
}
///
/// Is handle not equal to?
///
/// \param[in] h Object handle to compare against
/// \return
/// - Non zero when object handle is not equal to h;
/// - Zero otherwise.
///
bool operator!=(T h) const
{
return !operator==(h);
}
///
/// Is handle equal to?
///
/// \param[in] h Object handle to compare against
/// \return
/// - Non zero when object handle is equal to h;
/// - Zero otherwise.
///
bool operator==(T h) const
{
return m_h == h;
}
///
/// Duplicates and returns a new object handle.
///
/// \return Duplicated object handle
///
T duplicate() const
{
return this->m_h != TR::invalid ? TR::duplicate(this->m_h) : TR::invalid;
}
///
/// Sets a new object handle for the class
///
/// When the current object handle of the class is non-TR::invalid, the object is destroyed first.
///
/// \param[in] h New object handle
///
void attach(T h) noexcept
{
if (m_h != TR::invalid)
TR::free(m_h);
m_h = h;
}
///
/// Duplicates an object handle and sets a new object handle.
///
/// \param[in] h Object handle of existing object
///
void attach_duplicated(T h)
{
if (this->m_h != TR::invalid)
TR::free(this->m_h);
this->m_h = h != TR::invalid ? TR::duplicate(h) : TR::invalid;
}
///
/// Dismisses the object handle from this class
///
/// \return Object handle
///
T detach()
{
T h = m_h;
m_h = TR::invalid;
return h;
}
///
/// Destroys the object
///
void free()
{
if (m_h != TR::invalid) {
TR::free(m_h);
m_h = TR::invalid;
}
}
private:
// Force use of valid() method when testing handle.
operator bool() const;
protected:
T m_h; ///< Object handle
};
///
/// Numerical runtime error
///
template <typename _Tn>
class num_runtime_error : public std::runtime_error
{
public:
typedef _Tn error_type; ///< Error number type
public:
///
/// Constructs an exception
///
/// \param[in] num Numeric error code
/// \param[in] msg Error message
///
num_runtime_error(error_type num, const std::string& msg) :
m_num(num),
runtime_error(msg)
{}
///
/// Constructs an exception
///
/// \param[in] num Numeric error code
/// \param[in] msg Error message
///
num_runtime_error(error_type num, const char *msg) :
m_num(num),
runtime_error(msg)
{}
///
/// Returns the error number
///
error_type number() const
{
return m_num;
}
protected:
error_type m_num; ///< Numeric error code
};
}

View File

@ -0,0 +1,42 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2025 Amebis
*/
#pragma once
#include "common.hpp"
#include <dispatch/dispatch.h>
namespace macstd {
///
/// Dispatch object traits
///
struct dispatch_traits
{
static inline constexpr dispatch_source_t invalid = static_cast<dispatch_source_t>(NULL);
///
/// Decrements the reference count (the retain count) of a dispatch object
///
/// \sa [dispatch_release function](https://developer.apple.com/documentation/dispatch/1496328-dispatch_release)
///
static void free(dispatch_source_t h) noexcept
{
dispatch_release(h);
}
private:
static dispatch_source_t duplicate(dispatch_source_t h);
};
///
/// Dispatch event source
///
using dispatch_source = handle<dispatch_source_t, dispatch_traits>;
///
/// Dispatch event source
///
using dispatch_queue = handle<dispatch_queue_t, dispatch_traits>;
}

35
include/MacStd/dyld.hpp Normal file
View File

@ -0,0 +1,35 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#pragma once
#include "common.hpp"
#include <mach-o/dyld.h>
#include <string>
///
/// Copies the path of the main executable into the string path.
///
/// \sa [_NSGetExecutablePath function](https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/dyld.3.html)
///
inline int _NSGetExecutablePath(std::string& path)
{
char stack_buffer[MACSTD_STACK_BUFFER_BYTES];
uint32_t capacity = MACSTD_STACK_BUFFER_BYTES;
int result = _NSGetExecutablePath(stack_buffer, &capacity);
if (result == 0) {
path = stack_buffer;
return 0;
}
if (result == -1) {
path.resize(capacity - 1);
result = _NSGetExecutablePath(&path[0], &capacity);
if (result == 0) {
path.resize(strnlen(path.data(), path.size()));
return 0;
}
}
return result;
}

34
include/MacStd/unistd.hpp Normal file
View File

@ -0,0 +1,34 @@
/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#pragma once
#include "common.hpp"
#include <unistd.h>
#include <string>
///
/// Copies the absolute pathname of the current working directory
///
/// \sa [getcwd function](https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/getcwd.3.html)
///
inline const char* getcwd(std::string& path)
{
char stack_buffer[MACSTD_STACK_BUFFER_BYTES];
auto result = getcwd(stack_buffer, MACSTD_STACK_BUFFER_BYTES);
if (result) {
path = result;
return path.data();
}
if (errno == ERANGE) {
result = getcwd(NULL, 0);
if (result) {
path = result;
free(result);
return path.data();
}
}
return NULL;
}

View File

@ -1,143 +0,0 @@
<!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>MacStd: MacStd</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">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</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><div class="header">
<div class="headertitle"><div class="title">MacStd </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="md__r_e_a_d_m_e"></a></p>
<p>Provides templates and function helpers for OS X API using Standard C++ in XCode 13+</p>
<h1><a class="anchor" id="autotoc_md1"></a>
Features</h1>
<h2><a class="anchor" id="autotoc_md2"></a>
Portable</h2>
<p>This project does not require building. Just <code>#include</code> individual files from this repository into your source code and get started.</p>
<h2><a class="anchor" id="autotoc_md3"></a>
Functions and Templates</h2>
<p>Different OS X API functions have different ways of returning variable-sized data. Getting tired of carefully studying manpages for each particular API function how to preallocate the output memory correctly? We too...</p>
<p>MacStd provides a subset of OS X API identically named functions (C++ polymorphism to the rescue), where one can use <code>std::string</code>, <code>std::wstring</code>, <code>std::vector&lt;&gt;</code> etc. as an output parameter. MacStd handles all the dirty work with memory allocation for you, so you can focus on your code.</p>
<h3><a class="anchor" id="autotoc_md4"></a>
Example</h3>
<div class="fragment"><div class="line"> ++</div>
<div class="line">std::string path;</div>
<div class="line">_NSGetExecutablePath(path);</div>
<div class="line">std::cout &lt;&lt; path.c_str() &lt;&lt; std::endl;</div>
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md5"></a>
What MacStd Is Not</h1>
<p>MacStd is not trying to be a full-fledged object-oriented framework on top of OS X API. MacStd aims at augmenting OS X API with a little bit of help from C++.</p>
<h1><a class="anchor" id="autotoc_md6"></a>
Usage</h1>
<ol type="1">
<li>Clone the repository into your solution folder.</li>
<li>Add MacStd's <code>include</code> folder to <em>Header Search Paths</em> in your project's C/C++ settings.</li>
<li>Include <code>.h</code> files from MacStd as needed: <div class="fragment"><div class="line"> ++</div>
<div class="line"><span class="preprocessor">#include &lt;MacStd/dyld.hpp&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"> </div>
<div class="line"><span class="keyword">using namespace </span>std;</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> main()</div>
<div class="line">{</div>
<div class="line"> wstring path;</div>
<div class="line"> _NSGetExecutablePath(path);</div>
<div class="line"> wcout &lt;&lt; path.c_str() &lt;&lt; endl;</div>
<div class="line">}</div>
</div><!-- fragment --></li>
</ol>
<p>An auto-generated documentation is <a href="https://amebis.github.io/MacStd/">here</a>.</p>
<p>More examples can also be found in the <code>Tests</code> project.</p>
<p>This is a one-man project for the time being, so the OS X API support is far from complete. It is added as needed. Contributions are welcome. </p>
</div></div><!-- PageDoc -->
<a href="doxygen_crawl.html"></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd 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>

204
jquery.js vendored
View File

@ -1,204 +0,0 @@
/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}
var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},
push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(
e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,
O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp(
"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"<22>":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType
}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c
)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){
return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(
":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id")
)&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push(
"\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(
a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,
null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if(
"string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne
).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType
)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(
function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){
return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);
for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n
){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(
e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);
break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(
function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){
for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(
this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(
var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){
return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(
){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),
S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,
r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,
o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(
"object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){
var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),
1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){
Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t
){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c
].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;
return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),
"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n
)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,
f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(
arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i
]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(
e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;
this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t
}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,
r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),
r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){
1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(
"string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t
,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(
l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[
0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(
!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(
e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(
e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(
this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},
S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),
originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}
S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(
le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),
null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"
],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},
S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{
set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o
)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(
" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;
t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode
,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),
e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(
new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};
var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();
return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",
isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(
t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global
)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(
v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();
while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))
}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),
t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){
return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(
e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r]
,C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(
function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,
"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}
),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each(
"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){
return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
/*! jQuery UI - v1.13.2 - 2022-08-01
* http://jqueryui.com
* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/resizable.js, widgets/mouse.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(y){"use strict";y.ui=y.ui||{};y.ui.version="1.13.2";var n,i=0,h=Array.prototype.hasOwnProperty,a=Array.prototype.slice;y.cleanData=(n=y.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=y._data(i,"events"))&&e.remove&&y(i).triggerHandler("remove");n(t)}),y.widget=function(t,i,e){var s,n,o,h={},a=t.split(".")[0],r=a+"-"+(t=t.split(".")[1]);return e||(e=i,i=y.Widget),Array.isArray(e)&&(e=y.extend.apply(null,[{}].concat(e))),y.expr.pseudos[r.toLowerCase()]=function(t){return!!y.data(t,r)},y[a]=y[a]||{},s=y[a][t],n=y[a][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},y.extend(n,s,{version:e.version,_proto:y.extend({},e),_childConstructors:[]}),(o=new i).options=y.widget.extend({},o.options),y.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}
function o(t){return i.prototype[e].apply(this,t)}h[e]="function"==typeof s?function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),n.prototype=y.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},h,{constructor:n,namespace:a,widgetName:t,widgetFullName:r}),s?(y.each(s._childConstructors,function(t,e){var i=e.prototype;y.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),y.widget.bridge(t,n),n},y.widget.extend=function(t){for(var e,i,s=a.call(arguments,1),n=0,o=s.length;n<o;n++)for(e in s[n])i=s[n][e],h.call(s[n],e)&&void 0!==i&&(y.isPlainObject(i)?t[e]=y.isPlainObject(t[e])?y.widget.extend({},t[e],i):y.widget.extend({},i):t[e]=i);return t},y.widget.bridge=function(o,e){var h=e.prototype.widgetFullName||o;y.fn[o]=function(i){var t="string"==typeof i,s=a.call(arguments,1),n=this;return t?this.length||"instance"!==i?this.each(function(){var t,
e=y.data(this,h);return"instance"===i?(n=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?y.error("no such method '"+i+"' for "+o+" widget instance"):(t=e[i].apply(e,s))!==e&&void 0!==t?(n=t&&t.jquery?n.pushStack(t.get()):t,!1):void 0:y.error("cannot call methods on "+o+" prior to initialization; attempted to call method '"+i+"'")}):n=void 0:(s.length&&(i=y.widget.extend.apply(null,[i].concat(s))),this.each(function(){var t=y.data(this,h);t?(t.option(i||{}),t._init&&t._init()):y.data(this,h,new e(i,this))})),n}},y.Widget=function(){},y.Widget._childConstructors=[],y.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t
){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t
]=y.widget.extend({},this.options[t]),n=0;n<i.length-1;n++)s[i[n]]=s[i[n]]||{},s=s[i[n]];if(t=i.pop(),1===arguments.length)return void 0===s[t]?null:s[t];s[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=e}return this._setOptions(o),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,s;for(e in t)s=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&s&&s.length&&(i=y(s.get()),this._removeClass(s,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},
disable:function(){return this._setOptions({disabled:!0})},_classes:function(n){var o=[],h=this;function t(t,e){for(var i,s=0;s<t.length;s++)i=h.classesElementLookup[t[s]]||y(),i=n.add?(function(){var i=[];n.element.each(function(t,e){y.map(h.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),h._on(y(i),{remove:"_untrackClassesElement"})}(),y(y.uniqueSort(i.get().concat(n.element.get())))):y(i.not(n.element).get()),h.classesElementLookup[t[s]]=i,o.push(t[s]),e&&n.classes[t[s]]&&o.push(n.classes[t[s]])}return(n=y.extend({element:this.element,classes:this.options.classes||{}},n)).keys&&t(n.keys.match(/\S+/g)||[],!0),n.extra&&t(n.extra.match(/\S+/g)||[]),o.join(" ")},_untrackClassesElement:function(i){var s=this;y.each(s.classesElementLookup,function(t,e){-1!==y.inArray(i.target,e)&&(s.classesElementLookup[t]=y(e.not(i.target).get()))}),this._off(y(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){
return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){var n="string"==typeof t||null===t,i={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s="boolean"==typeof s?s:i};return i.element.toggleClass(this._classes(i),s),this},_on:function(n,o,t){var h,a=this;"boolean"!=typeof n&&(t=o,o=n,n=!1),t?(o=h=y(o),this.bindings=this.bindings.add(o)):(t=o,o=this.element,h=this.widget()),y.each(t,function(t,e){function i(){if(n||!0!==a.options.disabled&&!y(this).hasClass("ui-state-disabled"))return("string"==typeof e?a[e]:e).apply(a,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||y.guid++);var s=t.match(/^([\w:-]*)\s*(.*)$/),t=s[1]+a.eventNamespace,s=s[2];s?h.on(t,s,i):o.on(t,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=y(this.bindings.not(t).get()),this.focusable=y(this.focusable.not(t).get()),this.hoverable=y(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return(
"string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(y(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(y(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(y(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(y(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var s,n,o=this.options[t];if(i=i||{},(e=y.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],n=e.originalEvent)for(s in n)s in e||(e[s]=n[s]);return this.element.trigger(e,i),!("function"==typeof o&&!1===o.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},y.each({show:"fadeIn",hide:"fadeOut"},function(o,h){y.Widget.prototype["_"+o]=function(e,t,i){var s,n=(t="string"==typeof t?{effect:t}:t
)?!0!==t&&"number"!=typeof t&&t.effect||h:o;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),s=!y.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),s&&y.effects&&y.effects.effect[n]?e[o](t):n!==o&&e[n]?e[n](t.duration,t.easing,i):e.queue(function(t){y(this)[o](),i&&i.call(e[0]),t()})}});var s,x,D,o,r,l,u,p,W;y.widget;function E(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function H(t,e){return parseInt(y.css(t,e),10)||0}function S(t){return null!=t&&t===t.window}x=Math.max,D=Math.abs,o=/left|center|right/,r=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,u=/^\w+/,p=/%$/,W=y.fn.position,y.position={scrollbarWidth:function(){if(void 0!==s)return s;var t,e=y("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},
getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?y.position.scrollbarWidth():0,height:e?y.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=y(t||window),i=S(e[0]),s=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:s,offset:!i&&!s?y(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},y.fn.position=function(p){if(!p||!p.of)return W.apply(this,arguments);var d,c,f,g,m,t,_="string"==typeof(p=y.extend({},p)).of?y(document).find(p.of):y(p.of),w=y.position.getWithinInfo(p.within),v=y.position.getScrollInfo(w),b=(p.collision||"flip").split(" "),z={},e=9===(t=(e=_)[0]).nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:S(t)?{width:e.width(),height:e.height(),offset:{
top:e.scrollTop(),left:e.scrollLeft()}}:t.preventDefault?{width:0,height:0,offset:{top:t.pageY,left:t.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()};return _[0].preventDefault&&(p.at="left top"),c=e.width,f=e.height,m=y.extend({},g=e.offset),y.each(["my","at"],function(){var t,e,i=(p[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):r.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=r.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),z[this]=[t?t[0]:0,e?e[0]:0],p[this]=[u.exec(i[0])[0],u.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===p.at[0]?m.left+=c:"center"===p.at[0]&&(m.left+=c/2),"bottom"===p.at[1]?m.top+=f:"center"===p.at[1]&&(m.top+=f/2),d=E(z.at,c,f),m.left+=d[0],m.top+=d[1],this.each(function(){var i,t,h=y(this),a=h.outerWidth(),r=h.outerHeight(),e=H(this,"marginLeft"),s=H(this,"marginTop"),n=a+e+H(this,"marginRight")+v.width,o=r+s+H(this,"marginBottom")+v.height,l=y.extend({},m),u=E(z.my,h.outerWidth()
,h.outerHeight());"right"===p.my[0]?l.left-=a:"center"===p.my[0]&&(l.left-=a/2),"bottom"===p.my[1]?l.top-=r:"center"===p.my[1]&&(l.top-=r/2),l.left+=u[0],l.top+=u[1],i={marginLeft:e,marginTop:s},y.each(["left","top"],function(t,e){y.ui.position[b[t]]&&y.ui.position[b[t]][e](l,{targetWidth:c,targetHeight:f,elemWidth:a,elemHeight:r,collisionPosition:i,collisionWidth:n,collisionHeight:o,offset:[d[0]+u[0],d[1]+u[1]],my:p.my,at:p.at,within:w,elem:h})}),p.using&&(t=function(t){var e=g.left-l.left,i=e+c-a,s=g.top-l.top,n=s+f-r,o={target:{element:_,left:g.left,top:g.top,width:c,height:f},element:{element:h,left:l.left,top:l.top,width:a,height:r},horizontal:i<0?"left":0<e?"right":"center",vertical:n<0?"top":0<s?"bottom":"middle"};c<a&&D(e+i)<c&&(o.horizontal="center"),f<r&&D(s+n)<f&&(o.vertical="middle"),x(D(e),D(i))>x(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,
s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0<h&&a<=0?(i=t.left+h+e.collisionWidth-n-s,t.left+=h-i):t.left=!(0<a&&h<=0)&&a<h?s+n-e.collisionWidth:s:0<h?t.left+=h:0<a?t.left-=a:t.left=x(t.left-o,t.left)},top:function(t,e){var i=e.within,s=i.isWindow?i.scrollTop:i.offset.top,n=e.within.height,o=t.top-e.collisionPosition.marginTop,h=s-o,a=o+e.collisionHeight-n-s;e.collisionHeight>n?0<h&&a<=0?(i=t.top+h+e.collisionHeight-n-s,t.top+=h-i):t.top=!(0<a&&h<=0)&&a<h?s+n-e.collisionHeight:s:0<h?t.top+=h:0<a?t.top-=a:t.top=x(t.top-o,t.top)}},flip:{left:function(t,e){var i=e.within,s=i.offset.left+i.scrollLeft,n=i.width,o=i.isWindow?i.scrollLeft:i.offset.left,h=t.left-e.collisionPosition.marginLeft,a=h-o,r=h+e.collisionWidth-n-o,l="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,i="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];a<0?((s=t.left+l+i+h+e.collisionWidth-n-s)<0||s<D(a)
)&&(t.left+=l+i+h):0<r&&(0<(o=t.left-e.collisionPosition.marginLeft+l+i+h-o)||D(o)<r)&&(t.left+=l+i+h)},top:function(t,e){var i=e.within,s=i.offset.top+i.scrollTop,n=i.height,o=i.isWindow?i.scrollTop:i.offset.top,h=t.top-e.collisionPosition.marginTop,a=h-o,r=h+e.collisionHeight-n-o,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,i="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];a<0?((s=t.top+l+i+h+e.collisionHeight-n-s)<0||s<D(a))&&(t.top+=l+i+h):0<r&&(0<(o=t.top-e.collisionPosition.marginTop+l+i+h-o)||D(o)<r)&&(t.top+=l+i+h)}},flipfit:{left:function(){y.ui.position.flip.left.apply(this,arguments),y.ui.position.fit.left.apply(this,arguments)},top:function(){y.ui.position.flip.top.apply(this,arguments),y.ui.position.fit.top.apply(this,arguments)}}};var t;y.ui.position,y.extend(y.expr.pseudos,{data:y.expr.createPseudo?y.expr.createPseudo(function(e){return function(t){return!!y.data(t,e)}}):function(t,e,i){return!!y.data(t,i[3])}}),y.fn.extend({
disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}});y.ui.focusable=function(t,e){var i,s,n,o,h=t.nodeName.toLowerCase();return"area"===h?(s=(i=t.parentNode).name,!(!t.href||!s||"map"!==i.nodeName.toLowerCase())&&(0<(s=y("img[usemap='#"+s+"']")).length&&s.is(":visible"))):(/^(input|select|textarea|button|object)$/.test(h)?(n=!t.disabled)&&(o=y(t).closest("fieldset")[0])&&(n=!o.disabled):n="a"===h&&t.href||e,n&&y(t).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"visible"===e}(y(t)))},y.extend(y.expr.pseudos,{focusable:function(t){return y.ui.focusable(t,null!=y.attr(t,"tabindex"))}});var e,d;y.ui.focusable,y.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):y(this[0].form)},y.ui.formResetMixin={_formResetHandler:function(
){var e=y(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");y.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=this.element._form(),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(y.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}};y.expr.pseudos||(y.expr.pseudos=y.expr[":"]),y.uniqueSort||(y.uniqueSort=y.unique),y.escapeSelector||(e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,d=function(t,e){return e?"\0"===t?"<22>":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},y.escapeSelector=function(t){return(t+"").replace(e,d)}),y.fn.even&&y.fn.odd||y.fn.extend({even:function(){
return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}});y.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},y.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+y.escapeSelector(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},y.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,s=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=y(this);return(!i||"static"!==t.css("position"))&&s.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:y(this[0].ownerDocument||document)},y.extend(y.expr.pseudos,{tabbable:function(t){
var e=y.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&y.ui.focusable(t,i)}}),y.fn.extend({uniqueId:(c=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++c)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&y(this).removeAttr("id")})}}),y.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var c,f=!1;y(document).on("mouseup",function(){f=!1});y.widget("ui.mouse",{version:"1.13.2",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(t){if(!0===y.data(t.target,e.widgetName+".preventClickEvent"))return y.removeData(t.target,e.widgetName+".preventClickEvent"),t.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off(
"mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!f){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var e=this,i=1===t.which,s=!("string"!=typeof this.options.cancel||!t.target.nodeName)&&y(t.target).closest(this.options.cancel).length;return i&&!s&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(t),!this._mouseStarted)?(t.preventDefault(),!0):(!0===y.data(t.target,this.widgetName+".preventClickEvent")&&y.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return e._mouseMove(t)},this._mouseUpDelegate=function(t){return e._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),f=!0)):!0}},
_mouseMove:function(t){if(this._mouseMoved){if(y.ui.ie&&(!document.documentMode||document.documentMode<9)&&!t.button)return this._mouseUp(t);if(!t.which)if(t.originalEvent.altKey||t.originalEvent.ctrlKey||t.originalEvent.metaKey||t.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,t),this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&y.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),
delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,f=!1,t.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n<o.length;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}};y.widget("ui.resizable",y.ui.mouse,{version:"1.13.2",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,
handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(t,e){if("hidden"===y(t).css("overflow"))return!1;var i=e&&"left"===e?"scrollLeft":"scrollTop",e=!1;if(0<t[i])return!0;try{t[i]=1,e=0<t[i],t[i]=0}catch(t){}return e},_create:function(){var t,e=this.options,i=this;this._addClass("ui-resizable"),y.extend(this,{_aspectRatio:!!e.aspectRatio,aspectRatio:e.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:e.helper||e.ghost||e.animate?e.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(y("<div class='ui-wrapper'></div>").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),
this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t
).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(
","),this.handles={},e=0;e<i.length;e++)s="ui-resizable-"+(t=String.prototype.trim.call(i[e])),n=y("<div>"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(
this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{
width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),
!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){
this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),s<n.maxWidth&&(n.maxWidth=s),t<n.maxHeight&&(n.maxHeight=t)
),this._vBoundaries=n},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height
,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e<this._proportionallyResizeElements.length;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({
height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,e=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||y("<div></div>").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,
i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left
)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e
){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),
i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth(
)-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,
function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0
]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidth<d,g=i.maxHeight&&i.maxHeight<c,m=i.minWidth&&i.minWidth>d,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0<c-l?(e.size.height=c,e.position.top=o.top-p):(c=l-t.height,e.size.height=c,e.position.top=o.top+n.height-c),0<d-r?(e.size.width=d,e.position.left=o.left-u):(d=r-t.width,e.size.width=d,e.position.left=o.left+n.width-d))}});y.ui.resizable});
/**
* Copyright (c) 2007 Ariel Flesler - aflesler gmail com | https://github.com/flesler
* Licensed under MIT
* @author Ariel Flesler
* @version 2.1.2
*/(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"===typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9e9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case"number":case"string":if(
/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e=h(e);break}e=l?$(e):$(e,q);case"object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&&"%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};
$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()},set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});
/*!
PowerTip v1.3.1 (2018-04-15)
https://stevenbenner.github.io/jquery-powertip/
Copyright (c) 2018 Steven Benner (http://stevenbenner.com/).
Released under MIT license.
https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
*/
(function(root,factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof module==="object"&&module.exports){module.exports=factory(require("jquery"))}else{factory(root.jQuery)}})(this,function($){var $document=$(document),$window=$(window),$body=$("body");var DATA_DISPLAYCONTROLLER="displayController",DATA_HASACTIVEHOVER="hasActiveHover",DATA_FORCEDOPEN="forcedOpen",DATA_HASMOUSEMOVE="hasMouseMove",DATA_MOUSEONTOTIP="mouseOnToPopup",DATA_ORIGINALTITLE="originalTitle",DATA_POWERTIP="powertip",DATA_POWERTIPJQ="powertipjq",DATA_POWERTIPTARGET="powertiptarget",EVENT_NAMESPACE=".powertip",RAD2DEG=180/Math.PI,MOUSE_EVENTS=["click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave","contextmenu"];var session={tooltips:null,isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,closeDelayTimeout:null,mouseTrackingActive:false,
delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var Collision={none:0,top:1,bottom:2,left:4,right:8};$.fn.powerTip=function(opts,arg){var targetElements=this,options,tipController;if(!targetElements.length){return targetElements}if($.type(opts)==="string"&&$.powerTip[opts]){return $.powerTip[opts].call(targetElements,targetElements,arg)}options=$.extend({},$.fn.powerTip.defaults,opts);tipController=new TooltipController(options);initTracking();targetElements.each(function elementSetup(){var $this=$(this),dataPowertip=$this.data(DATA_POWERTIP),dataElem=$this.data(DATA_POWERTIPJQ),dataTarget=$this.data(DATA_POWERTIPTARGET),title=$this.attr("title");if(!dataPowertip&&!dataTarget&&!dataElem&&title){$this.data(DATA_POWERTIP,title);$this.data(DATA_ORIGINALTITLE,title);$this.removeAttr("title")}$this.data(DATA_DISPLAYCONTROLLER,new DisplayController($this,options,tipController))});if(!options.manual){$.each(options.openEvents,function(idx,evt){if($.inArray(evt,options.closeEvents)>-1){
targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se",
"n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(
session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}
closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference<options.intentSensitivity){cancelClose();closeAnyDelayed();tipController.showTip(element)}else{session.previousX=session.currentX;session.previousY=session.currentY;
openTooltip()}}function cancelTimer(stopClose){hoverTimer=clearTimeout(hoverTimer);if(session.closeDelayTimeout&&myCloseDelay===session.closeDelayTimeout||stopClose){cancelClose()}}function cancelClose(){session.closeDelayTimeout=clearTimeout(session.closeDelayTimeout);session.delayInProgress=false}function closeAnyDelayed(){if(session.delayInProgress&&session.activeHover&&!session.activeHover.is(element)){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide(true)}}function repositionTooltip(){tipController.resetPosition(element)}this.show=openTooltip;this.hide=closeTooltip;this.cancel=cancelTimer;this.resetPosition=repositionTooltip}function PlacementCalculator(){function computePlacementCoords(element,placement,tipWidth,tipHeight,offset){var placementBase=placement.split("-")[0],coords=new CSSCoordinates,position;if(isSvgElement(element)){position=getSvgPlacement(element,placementBase)}else{position=getHtmlPlacement(element,placementBase)}switch(placement){case"n":coords.set("left",position.left-tipWidth/2
);coords.set("bottom",session.windowHeight-position.top+offset);break;case"e":coords.set("left",position.left+offset);coords.set("top",position.top-tipHeight/2);break;case"s":coords.set("left",position.left-tipWidth/2);coords.set("top",position.top+offset);break;case"w":coords.set("top",position.top-tipHeight/2);coords.set("right",session.windowWidth-position.left+offset);break;case"nw":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"nw-alt":coords.set("left",position.left);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne":coords.set("left",position.left-20);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne-alt":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left);break;case"sw":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"sw-alt":coords.set("left",
position.left);coords.set("top",position.top+offset);break;case"se":coords.set("left",position.left-20);coords.set("top",position.top+offset);break;case"se-alt":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left);break}return coords}function getHtmlPlacement(element,placement){var objectOffset=element.offset(),objectWidth=element.outerWidth(),objectHeight=element.outerHeight(),left,top;switch(placement){case"n":left=objectOffset.left+objectWidth/2;top=objectOffset.top;break;case"e":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight/2;break;case"s":left=objectOffset.left+objectWidth/2;top=objectOffset.top+objectHeight;break;case"w":left=objectOffset.left;top=objectOffset.top+objectHeight/2;break;case"nw":left=objectOffset.left;top=objectOffset.top;break;case"ne":left=objectOffset.left+objectWidth;top=objectOffset.top;break;case"sw":left=objectOffset.left;top=objectOffset.top+objectHeight;break;case"se":left=objectOffset.left+objectWidth;
top=objectOffset.top+objectHeight;break}return{top:top,left:left}}function getSvgPlacement(element,placement){var svgElement=element.closest("svg")[0],domElement=element[0],point=svgElement.createSVGPoint(),boundingBox=domElement.getBBox(),matrix=domElement.getScreenCTM(),halfWidth=boundingBox.width/2,halfHeight=boundingBox.height/2,placements=[],placementKeys=["nw","n","ne","e","se","s","sw","w"],coords,rotation,steps,x;function pushPlacement(){placements.push(point.matrixTransform(matrix))}point.x=boundingBox.x;point.y=boundingBox.y;pushPlacement();point.x+=halfWidth;pushPlacement();point.x+=halfWidth;pushPlacement();point.y+=halfHeight;pushPlacement();point.y+=halfHeight;pushPlacement();point.x-=halfWidth;pushPlacement();point.x-=halfWidth;pushPlacement();point.y-=halfHeight;pushPlacement();if(placements[0].y!==placements[1].y||placements[0].x!==placements[7].x){rotation=Math.atan2(matrix.b,matrix.a)*RAD2DEG;steps=Math.ceil((rotation%360-22.5)/45);if(steps<1){steps+=8}while(steps--){placementKeys.push(
placementKeys.shift())}}for(x=0;x<placements.length;x++){if(placementKeys[x]===placement){coords=placements[x];break}}return{top:coords.y+session.scrollTop,left:coords.x+session.scrollLeft}}this.compute=computePlacementCoords}function TooltipController(options){var placementCalculator=new PlacementCalculator,tipElement=$("#"+options.popupId);if(tipElement.length===0){tipElement=$("<div/>",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(
session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,
function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);
tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,
finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));
return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}
function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),
elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,
viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.top<viewportTop||Math.abs(coords.bottom-session.windowHeight)-elementHeight<viewportTop){collisions|=Collision.top}if(coords.top+elementHeight>viewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.left<viewportLeft||coords.right+elementWidth>viewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right<viewportLeft){collisions|=Collision.right}return collisions}function countFlags(value){var count=0;while(value){value&=value-1;count++}return count}return $.powerTip});
/*!
* jQuery UI Touch Punch 0.2.3
*
* Copyright 20112014, Dave Furfero
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* Depends:
* jquery.ui.widget.js
* jquery.ui.mouse.js
*/!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,
"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);
/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017
* http://www.smartmenus.org/
* Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),
mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend(
$.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(
this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("<span/>").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData(
"smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id"
).indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(
this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(
var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){
return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((
!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(
this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0
]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass(
"highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){
t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]"
)||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],$('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){
t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),
a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y<o.upEnd)&&a.eq(o.up?1:0).show(),o.y==n)mouse&&a.eq(o.up?0:1).hide(),this.menuScrollStop(t);else if(!e){this.opts.scrollAccelerate&&o.step<this.opts.scrollStep&&(o.step+=.2);var h=this;this.scrollTimeout=requestAnimationFrame(function(){h.menuScroll(t)})}},menuScrollMousewheel:function(t,e){if(this.getClosestMenu(e.target)==t[0]){e=e.originalEvent;var i=(
e.wheelDelta||-e.detail)>0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,
downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2)
)&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t
)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),
canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},
rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}
return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,
bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$});

134
menu.js
View File

@ -1,134 +0,0 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
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.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function initMenu(relPath,searchEnabled,serverSide,searchPage,search,treeview) {
function makeTree(data,relPath) {
let result='';
if ('children' in data) {
result+='<ul>';
for (let i in data.children) {
let url;
const link = data.children[i].url;
if (link.substring(0,1)=='^') {
url = link.substring(1);
} else {
url = relPath+link;
}
result+='<li><a href="'+url+'">'+
data.children[i].text+'</a>'+
makeTree(data.children[i],relPath)+'</li>';
}
result+='</ul>';
}
return result;
}
let searchBoxHtml;
if (searchEnabled) {
if (serverSide) {
searchBoxHtml='<div id="MSearchBox" class="MSearchBoxInactive">'+
'<div class="left">'+
'<form id="FSearchBox" action="'+relPath+searchPage+
'" method="get"><span id="MSearchSelectExt">&#160;</span>'+
'<input type="text" id="MSearchField" name="query" value="" placeholder="'+search+
'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)"'+
' onblur="searchBox.OnSearchFieldFocus(false)"/>'+
'</form>'+
'</div>'+
'<div class="right"></div>'+
'</div>';
} else {
searchBoxHtml='<div id="MSearchBox" class="MSearchBoxInactive">'+
'<span class="left">'+
'<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()"'+
' onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>'+
'<input type="text" id="MSearchField" value="" placeholder="'+search+
'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" '+
'onblur="searchBox.OnSearchFieldFocus(false)" '+
'onkeyup="searchBox.OnSearchFieldChange(event)"/>'+
'</span>'+
'<span class="right"><a id="MSearchClose" '+
'href="javascript:searchBox.CloseResultsWindow()">'+
'<img id="MSearchCloseImg" border="0" src="'+relPath+
'search/close.svg" alt=""/></a>'+
'</span>'+
'</div>';
}
}
$('#main-nav').before('<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>'+
'<label class="main-menu-btn" for="main-menu-state">'+
'<span class="main-menu-btn-icon"></span> '+
'Toggle main menu visibility</label>'+
'<span id="searchBoxPos1" style="position:absolute;right:8px;top:8px;height:36px;"></span>'+
'</div>');
$('#main-nav').append(makeTree(menudata,relPath));
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
if (searchBoxHtml) {
$('#main-menu').append('<li id="searchBoxPos2" style="float:right"></li>');
}
const $mainMenuState = $('#main-menu-state');
let prevWidth = 0;
if ($mainMenuState.length) {
const initResizableIfExists = function() {
if (typeof initResizable==='function') initResizable(treeview);
}
// animate mobile menu
$mainMenuState.change(function() {
const $menu = $('#main-menu');
let options = { duration: 250, step: initResizableIfExists };
if (this.checked) {
options['complete'] = () => $menu.css('display', 'block');
$menu.hide().slideDown(options);
} else {
options['complete'] = () => $menu.css('display', 'none');
$menu.show().slideUp(options);
}
});
// set default menu visibility
const resetState = function() {
const $menu = $('#main-menu');
const newWidth = $(window).outerWidth();
if (newWidth!=prevWidth) {
if ($(window).outerWidth()<768) {
$mainMenuState.prop('checked',false); $menu.hide();
$('#searchBoxPos1').html(searchBoxHtml);
$('#searchBoxPos2').hide();
} else {
$menu.show();
$('#searchBoxPos1').empty();
$('#searchBoxPos2').html(searchBoxHtml);
$('#searchBoxPos2').show();
}
if (typeof searchBox!=='undefined') {
searchBox.CloseResultsWindow();
}
prevWidth = newWidth;
}
}
$(window).ready(function() { resetState(); initResizableIfExists(); });
$(window).resize(resetState);
}
$('#main-menu').smartmenus();
}
/* @license-end */

View File

@ -1,51 +0,0 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
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.
@licend The above is the entire license notice for the JavaScript code in this file
*/
var menudata={children:[
{text:"Main Page",url:"index.html"},
{text:"Classes",url:"annotated.html",children:[
{text:"Class List",url:"annotated.html"},
{text:"Class Index",url:"classes.html"},
{text:"Class Hierarchy",url:"hierarchy.html"},
{text:"Class Members",url:"functions.html",children:[
{text:"All",url:"functions.html",children:[
{text:"a",url:"functions.html#index_a"},
{text:"c",url:"functions.html#index_c"},
{text:"d",url:"functions.html#index_d"},
{text:"f",url:"functions.html#index_f"},
{text:"h",url:"functions.html#index_h"},
{text:"m",url:"functions.html#index_m"},
{text:"o",url:"functions.html#index_o"},
{text:"~",url:"functions.html#index__7E"}]},
{text:"Functions",url:"functions_func.html",children:[
{text:"a",url:"functions_func.html#index_a"},
{text:"c",url:"functions_func.html#index_c"},
{text:"d",url:"functions_func.html#index_d"},
{text:"f",url:"functions_func.html#index_f"},
{text:"h",url:"functions_func.html#index_h"},
{text:"o",url:"functions_func.html#index_o"},
{text:"~",url:"functions_func.html#index__7E"}]},
{text:"Variables",url:"functions_vars.html"}]}]},
{text:"Files",url:"files.html",children:[
{text:"File List",url:"files.html"}]}]}

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
<rect style="fill:#fcfcfc;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 582 B

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
<rect style="fill:#000000;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 582 B

BIN
nav_f.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 B

BIN
nav_g.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 B

BIN
nav_h.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 B

View File

@ -1,149 +0,0 @@
#nav-tree .children_ul {
margin:0;
padding:4px;
}
#nav-tree ul {
list-style:none outside none;
margin:0px;
padding:0px;
}
#nav-tree li {
white-space:nowrap;
margin:0px;
padding:0px;
}
#nav-tree .plus {
margin:0px;
}
#nav-tree .selected {
background-image: url('tab_a.png');
background-repeat:repeat-x;
color: var(--nav-text-active-color);
text-shadow: var(--nav-text-active-shadow);
}
#nav-tree .selected .arrow {
color: var(--nav-arrow-selected-color);
text-shadow: none;
}
#nav-tree img {
margin:0px;
padding:0px;
border:0px;
vertical-align: middle;
}
#nav-tree a {
text-decoration:none;
padding:0px;
margin:0px;
}
#nav-tree .label {
margin:0px;
padding:0px;
font: 12px var(--font-family-nav);
}
#nav-tree .label a {
padding:2px;
}
#nav-tree .selected a {
text-decoration:none;
color:var(--nav-text-active-color);
}
#nav-tree .children_ul {
margin:0px;
padding:0px;
}
#nav-tree .item {
margin:0px;
padding:0px;
}
#nav-tree {
padding: 0px 0px;
font-size:14px;
overflow:auto;
}
#doc-content {
overflow:auto;
display:block;
padding:0px;
margin:0px;
-webkit-overflow-scrolling : touch; /* iOS 5+ */
}
#side-nav {
padding:0 6px 0 0;
margin: 0px;
display:block;
position: absolute;
left: 0px;
width: $width;
overflow : hidden;
}
.ui-resizable .ui-resizable-handle {
display:block;
}
.ui-resizable-e {
background-image:var(--nav-splitbar-image);
background-size:100%;
background-repeat:repeat-y;
background-attachment: scroll;
cursor:ew-resize;
height:100%;
right:0;
top:0;
width:6px;
}
.ui-resizable-handle {
display:none;
font-size:0.1px;
position:absolute;
z-index:1;
}
#nav-tree-contents {
margin: 6px 0px 0px 0px;
}
#nav-tree {
background-repeat:repeat-x;
background-color: var(--nav-background-color);
-webkit-overflow-scrolling : touch; /* iOS 5+ */
}
#nav-sync {
position:absolute;
top:5px;
right:24px;
z-index:0;
}
#nav-sync img {
opacity:0.3;
}
#nav-sync img:hover {
opacity:0.9;
}
@media print
{
#nav-tree { display: none; }
div.ui-resizable-handle { display: none; position: relative; }
}

BIN
open.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 B

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
<rect style="fill:#fcfcfc;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
<rect style="fill:#808080;stroke-width:0" width="15.874998" height="52.916668" x="44.979168" y="26.458332" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 696 B

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
<rect style="fill:#000000;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
<rect style="fill:#808080;stroke-width:0" width="15.874998" height="52.916668" x="44.979168" y="26.458332" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 696 B

147
resize.js
View File

@ -1,147 +0,0 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
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.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function initResizable(treeview) {
let sidenav,navtree,content,header,footer,barWidth=6;
const RESIZE_COOKIE_NAME = ''+'width';
function resizeWidth() {
const sidenavWidth = $(sidenav).outerWidth();
content.css({marginLeft:parseInt(sidenavWidth)+"px"});
if (typeof page_layout!=='undefined' && page_layout==1) {
footer.css({marginLeft:parseInt(sidenavWidth)+"px"});
}
Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth);
}
function restoreWidth(navWidth) {
content.css({marginLeft:parseInt(navWidth)+barWidth+"px"});
if (typeof page_layout!=='undefined' && page_layout==1) {
footer.css({marginLeft:parseInt(navWidth)+barWidth+"px"});
}
sidenav.css({width:navWidth + "px"});
}
function resizeHeight(treeview) {
const headerHeight = header.outerHeight();
const windowHeight = $(window).height();
let contentHeight;
if (treeview)
{
const footerHeight = footer.outerHeight();
let navtreeHeight,sideNavHeight;
if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */
contentHeight = windowHeight - headerHeight - footerHeight;
navtreeHeight = contentHeight;
sideNavHeight = contentHeight;
} else if (page_layout==1) { /* DISABLE_INDEX=YES */
contentHeight = windowHeight - footerHeight;
navtreeHeight = windowHeight - headerHeight;
sideNavHeight = windowHeight;
}
navtree.css({height:navtreeHeight + "px"});
sidenav.css({height:sideNavHeight + "px"});
}
else
{
contentHeight = windowHeight - headerHeight;
}
content.css({height:contentHeight + "px"});
if (location.hash.slice(1)) {
(document.getElementById(location.hash.slice(1))||document.body).scrollIntoView();
}
}
function collapseExpand() {
let newWidth;
if (sidenav.width()>0) {
newWidth=0;
} else {
const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250);
newWidth = (width>250 && width<$(window).width()) ? width : 250;
}
restoreWidth(newWidth);
const sidenavWidth = $(sidenav).outerWidth();
Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth);
}
header = $("#top");
content = $("#doc-content");
footer = $("#nav-path");
sidenav = $("#side-nav");
if (!treeview) {
// title = $("#titlearea");
// titleH = $(title).height();
// let animating = false;
// content.on("scroll", function() {
// slideOpts = { duration: 200,
// step: function() {
// contentHeight = $(window).height() - header.outerHeight();
// content.css({ height : contentHeight + "px" });
// },
// done: function() { animating=false; }
// };
// if (content.scrollTop()>titleH && title.css('display')!='none' && !animating) {
// title.slideUp(slideOpts);
// animating=true;
// } else if (content.scrollTop()<=titleH && title.css('display')=='none' && !animating) {
// title.slideDown(slideOpts);
// animating=true;
// }
// });
} else {
navtree = $("#nav-tree");
$(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
$(sidenav).resizable({ minWidth: 0 });
}
$(window).resize(function() { resizeHeight(treeview); });
if (treeview)
{
const device = navigator.userAgent.toLowerCase();
const touch_device = device.match(/(iphone|ipod|ipad|android)/);
if (touch_device) { /* wider split bar for touch only devices */
$(sidenav).css({ paddingRight:'20px' });
$('.ui-resizable-e').css({ width:'20px' });
$('#nav-sync').css({ right:'34px' });
barWidth=20;
}
const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250);
if (width) { restoreWidth(width); } else { resizeWidth(); }
}
resizeHeight(treeview);
const url = location.href;
const i=url.indexOf("#");
if (i>=0) window.location.hash=url.substr(i);
const _preventDefault = function(evt) { evt.preventDefault(); };
if (treeview)
{
$("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
$(".ui-resizable-handle").dblclick(collapseExpand);
// workaround for firefox
$("body").css({overflow: "hidden"});
}
$(window).on('load',function() { resizeHeight(treeview); });
}
/* @license-end */

View File

@ -1,6 +0,0 @@
var searchData=
[
['and_20templates_0',['Functions and Templates',['../index.html#autotoc_md3',1,'']]],
['attach_1',['attach',['../classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd',1,'macstd::handle']]],
['attach_5fduplicated_2',['attach_duplicated',['../classmacstd_1_1dplhandle.html#acf0b725b54793b240572c0fe86537f3c',1,'macstd::dplhandle']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['cfrelease_5fdelete_0',['CFRelease_delete',['../structmacstd_1_1_c_f_release__delete.html',1,'macstd::CFRelease_delete'],['../structmacstd_1_1_c_f_release__delete.html#a6aa1065ba889687f0e8798deb57ba3cc',1,'macstd::CFRelease_delete::CFRelease_delete()']]]
];

View File

@ -1,7 +0,0 @@
var searchData=
[
['detach_0',['detach',['../classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325',1,'macstd::handle']]],
['dplhandle_1',['dplhandle',['../classmacstd_1_1dplhandle.html',1,'macstd::dplhandle&lt; T, INVAL &gt;'],['../classmacstd_1_1dplhandle.html#a1b873380277a79a12dca3ba59f862529',1,'macstd::dplhandle::dplhandle() noexcept'],['../classmacstd_1_1dplhandle.html#a7250ebf4632a7d48b071dc10b8e4b986',1,'macstd::dplhandle::dplhandle(T h) noexcept'],['../classmacstd_1_1dplhandle.html#a835eca8008bbdd42aa4bbb76072c637b',1,'macstd::dplhandle::dplhandle(const dplhandle&lt; T, INVAL &gt; &amp;h)'],['../classmacstd_1_1dplhandle.html#a8bb0531c1a3eacc4a60604e438b3ed71',1,'macstd::dplhandle::dplhandle(dplhandle&lt; T, INVAL &gt; &amp;&amp;h) noexcept']]],
['duplicate_2',['duplicate',['../classmacstd_1_1dplhandle.html#ae43e59554d0d11b4500daa5bd50bda0d',1,'macstd::dplhandle']]],
['duplicate_5finternal_3',['duplicate_internal',['../classmacstd_1_1dplhandle.html#a33df964f028970ac0321568c3582d550',1,'macstd::dplhandle']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['example_0',['Example',['../index.html#autotoc_md4',1,'']]]
];

View File

@ -1,7 +0,0 @@
var searchData=
[
['features_0',['Features',['../index.html#autotoc_md1',1,'']]],
['free_1',['free',['../classmacstd_1_1handle.html#afbc07860aaf0eeeabe6e7e7474b6d176',1,'macstd::handle']]],
['free_5finternal_2',['free_internal',['../classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe',1,'macstd::handle::free_internal()'],['../classmacstd_1_1io__object.html#a897840743bbbdc938e757781fc453cb5',1,'macstd::io_object::free_internal()']]],
['functions_20and_20templates_3',['Functions and Templates',['../index.html#autotoc_md3',1,'']]]
];

View File

@ -1,5 +0,0 @@
var searchData=
[
['handle_0',['handle',['../classmacstd_1_1handle.html',1,'macstd::handle&lt; T, INVAL &gt;'],['../classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e',1,'macstd::handle::handle() noexcept'],['../classmacstd_1_1handle.html#a5906d39969037175bf5b148935ab1d05',1,'macstd::handle::handle(T h) noexcept'],['../classmacstd_1_1handle.html#ae5e62370d363a2db991b691f5fa4d914',1,'macstd::handle::handle(handle&lt; T, INVAL &gt; &amp;&amp;h) noexcept']]],
['handle_3c_20t_2c_200_20_3e_1',['handle&lt; T, 0 &gt;',['../classmacstd_1_1handle.html',1,'macstd']]]
];

View File

@ -1,5 +0,0 @@
var searchData=
[
['io_5fobject_0',['io_object',['../classmacstd_1_1io__object.html',1,'macstd']]],
['is_20not_1',['What MacStd Is Not',['../index.html#autotoc_md5',1,'']]]
];

View File

@ -1,6 +0,0 @@
var searchData=
[
['m_5fh_0',['m_h',['../classmacstd_1_1handle.html#ab65b198a6e06f14b29be176cdff7556e',1,'macstd::handle']]],
['macstd_1',['MacStd',['../index.html',1,'']]],
['macstd_20is_20not_2',['What MacStd Is Not',['../index.html#autotoc_md5',1,'']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['not_0',['What MacStd Is Not',['../index.html#autotoc_md5',1,'']]]
];

View File

@ -1,16 +0,0 @@
var searchData=
[
['operator_20t_0',['operator T',['../classmacstd_1_1handle.html#a1c6c0152d5cc967558720e9f8ce218df',1,'macstd::handle']]],
['operator_21_1',['operator!',['../classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62',1,'macstd::handle']]],
['operator_21_3d_2',['operator!=',['../classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a',1,'macstd::handle']]],
['operator_26_3',['operator&amp;',['../classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960',1,'macstd::handle']]],
['operator_28_29_4',['operator()',['../structmacstd_1_1_c_f_release__delete.html#ada4a1d4eab1b2f91d655335b64cc2726',1,'macstd::CFRelease_delete']]],
['operator_2a_5',['operator*',['../classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c',1,'macstd::handle']]],
['operator_2d_3e_6',['operator-&gt;',['../classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878',1,'macstd::handle']]],
['operator_3c_7',['operator&lt;',['../classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23',1,'macstd::handle']]],
['operator_3c_3d_8',['operator&lt;=',['../classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b',1,'macstd::handle']]],
['operator_3d_9',['operator=',['../classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd',1,'macstd::handle::operator=(T h) noexcept'],['../classmacstd_1_1handle.html#a2027dc26b8d7dac3410dd9e302a01e31',1,'macstd::handle::operator=(handle&lt; T, INVAL &gt; &amp;&amp;h) noexcept'],['../classmacstd_1_1dplhandle.html#a5f336d173be030936c7eaec80727a0a6',1,'macstd::dplhandle::operator=(T h) noexcept'],['../classmacstd_1_1dplhandle.html#af25c2323ce6030400bf12be762565350',1,'macstd::dplhandle::operator=(const dplhandle&lt; T, INVAL &gt; &amp;h) noexcept'],['../classmacstd_1_1dplhandle.html#a71b36749116393468cc7b9307ff21128',1,'macstd::dplhandle::operator=(dplhandle&lt; T, INVAL &gt; &amp;&amp;h) noexcept']]],
['operator_3d_3d_10',['operator==',['../classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129',1,'macstd::handle']]],
['operator_3e_11',['operator&gt;',['../classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2',1,'macstd::handle']]],
['operator_3e_3d_12',['operator&gt;=',['../classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e',1,'macstd::handle']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['portable_0',['Portable',['../index.html#autotoc_md2',1,'']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['templates_0',['Functions and Templates',['../index.html#autotoc_md3',1,'']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['usage_0',['Usage',['../index.html#autotoc_md6',1,'']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['what_20macstd_20is_20not_0',['What MacStd Is Not',['../index.html#autotoc_md5',1,'']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['_7eio_5fobject_0',['~io_object',['../classmacstd_1_1io__object.html#a0608c7dbed214b5cb4626fb23a9b1aca',1,'macstd::io_object']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['cfrelease_5fdelete_0',['CFRelease_delete',['../structmacstd_1_1_c_f_release__delete.html',1,'macstd']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['dplhandle_0',['dplhandle',['../classmacstd_1_1dplhandle.html',1,'macstd']]]
];

View File

@ -1,5 +0,0 @@
var searchData=
[
['handle_0',['handle',['../classmacstd_1_1handle.html',1,'macstd']]],
['handle_3c_20t_2c_200_20_3e_1',['handle&lt; T, 0 &gt;',['../classmacstd_1_1handle.html',1,'macstd']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['io_5fobject_0',['io_object',['../classmacstd_1_1io__object.html',1,'macstd']]]
];

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 11 11"
height="11"
width="11"
id="svg2"
version="1.1">
<defs
id="defs6" />
<path
id="path12"
d="M 5.5 0.5 A 5 5 0 0 0 0.5 5.5 A 5 5 0 0 0 5.5 10.5 A 5 5 0 0 0 10.5 5.5 A 5 5 0 0 0 5.5 0.5 z M 3.5820312 3 A 0.58291923 0.58291923 0 0 1 4 3.1757812 L 5.5 4.6757812 L 7 3.1757812 A 0.58291923 0.58291923 0 0 1 7.4003906 3 A 0.58291923 0.58291923 0 0 1 7.8242188 4 L 6.3242188 5.5 L 7.8242188 7 A 0.58291923 0.58291923 0 1 1 7 7.8242188 L 5.5 6.3242188 L 4 7.8242188 A 0.58291923 0.58291923 0 1 1 3.1757812 7 L 4.6757812 5.5 L 3.1757812 4 A 0.58291923 0.58291923 0 0 1 3.5820312 3 z "
style="stroke-width:1.09870648;fill:#bababa;fill-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 947 B

View File

@ -1,5 +0,0 @@
var searchData=
[
['attach_0',['attach',['../classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd',1,'macstd::handle']]],
['attach_5fduplicated_1',['attach_duplicated',['../classmacstd_1_1dplhandle.html#acf0b725b54793b240572c0fe86537f3c',1,'macstd::dplhandle']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['cfrelease_5fdelete_0',['CFRelease_delete',['../structmacstd_1_1_c_f_release__delete.html#a6aa1065ba889687f0e8798deb57ba3cc',1,'macstd::CFRelease_delete']]]
];

View File

@ -1,7 +0,0 @@
var searchData=
[
['detach_0',['detach',['../classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325',1,'macstd::handle']]],
['dplhandle_1',['dplhandle',['../classmacstd_1_1dplhandle.html#a1b873380277a79a12dca3ba59f862529',1,'macstd::dplhandle::dplhandle() noexcept'],['../classmacstd_1_1dplhandle.html#a7250ebf4632a7d48b071dc10b8e4b986',1,'macstd::dplhandle::dplhandle(T h) noexcept'],['../classmacstd_1_1dplhandle.html#a835eca8008bbdd42aa4bbb76072c637b',1,'macstd::dplhandle::dplhandle(const dplhandle&lt; T, INVAL &gt; &amp;h)'],['../classmacstd_1_1dplhandle.html#a8bb0531c1a3eacc4a60604e438b3ed71',1,'macstd::dplhandle::dplhandle(dplhandle&lt; T, INVAL &gt; &amp;&amp;h) noexcept']]],
['duplicate_2',['duplicate',['../classmacstd_1_1dplhandle.html#ae43e59554d0d11b4500daa5bd50bda0d',1,'macstd::dplhandle']]],
['duplicate_5finternal_3',['duplicate_internal',['../classmacstd_1_1dplhandle.html#a33df964f028970ac0321568c3582d550',1,'macstd::dplhandle']]]
];

View File

@ -1,5 +0,0 @@
var searchData=
[
['free_0',['free',['../classmacstd_1_1handle.html#afbc07860aaf0eeeabe6e7e7474b6d176',1,'macstd::handle']]],
['free_5finternal_1',['free_internal',['../classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe',1,'macstd::handle::free_internal()'],['../classmacstd_1_1io__object.html#a897840743bbbdc938e757781fc453cb5',1,'macstd::io_object::free_internal()']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['handle_0',['handle',['../classmacstd_1_1handle.html#a58be08519d6208ba2716dcd79d2f295e',1,'macstd::handle::handle() noexcept'],['../classmacstd_1_1handle.html#a5906d39969037175bf5b148935ab1d05',1,'macstd::handle::handle(T h) noexcept'],['../classmacstd_1_1handle.html#ae5e62370d363a2db991b691f5fa4d914',1,'macstd::handle::handle(handle&lt; T, INVAL &gt; &amp;&amp;h) noexcept']]]
];

View File

@ -1,16 +0,0 @@
var searchData=
[
['operator_20t_0',['operator T',['../classmacstd_1_1handle.html#a1c6c0152d5cc967558720e9f8ce218df',1,'macstd::handle']]],
['operator_21_1',['operator!',['../classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62',1,'macstd::handle']]],
['operator_21_3d_2',['operator!=',['../classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a',1,'macstd::handle']]],
['operator_26_3',['operator&amp;',['../classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960',1,'macstd::handle']]],
['operator_28_29_4',['operator()',['../structmacstd_1_1_c_f_release__delete.html#ada4a1d4eab1b2f91d655335b64cc2726',1,'macstd::CFRelease_delete']]],
['operator_2a_5',['operator*',['../classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c',1,'macstd::handle']]],
['operator_2d_3e_6',['operator-&gt;',['../classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878',1,'macstd::handle']]],
['operator_3c_7',['operator&lt;',['../classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23',1,'macstd::handle']]],
['operator_3c_3d_8',['operator&lt;=',['../classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b',1,'macstd::handle']]],
['operator_3d_9',['operator=',['../classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd',1,'macstd::handle::operator=(T h) noexcept'],['../classmacstd_1_1handle.html#a2027dc26b8d7dac3410dd9e302a01e31',1,'macstd::handle::operator=(handle&lt; T, INVAL &gt; &amp;&amp;h) noexcept'],['../classmacstd_1_1dplhandle.html#a5f336d173be030936c7eaec80727a0a6',1,'macstd::dplhandle::operator=(T h) noexcept'],['../classmacstd_1_1dplhandle.html#af25c2323ce6030400bf12be762565350',1,'macstd::dplhandle::operator=(const dplhandle&lt; T, INVAL &gt; &amp;h) noexcept'],['../classmacstd_1_1dplhandle.html#a71b36749116393468cc7b9307ff21128',1,'macstd::dplhandle::operator=(dplhandle&lt; T, INVAL &gt; &amp;&amp;h) noexcept']]],
['operator_3d_3d_10',['operator==',['../classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129',1,'macstd::handle']]],
['operator_3e_11',['operator&gt;',['../classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2',1,'macstd::handle']]],
['operator_3e_3d_12',['operator&gt;=',['../classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e',1,'macstd::handle']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['_7eio_5fobject_0',['~io_object',['../classmacstd_1_1io__object.html#a0608c7dbed214b5cb4626fb23a9b1aca',1,'macstd::io_object']]]
];

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 20 19"
height="19"
width="20"
id="svg2"
version="1.1">
<defs
id="defs6" />
<circle
r="3.5"
cy="8.5"
cx="5.5"
id="path4611"
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
<path
id="path4630"
d="m 8.1085854,11.109059 2.7823556,2.782356"
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 804 B

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 20 19"
height="19"
width="20"
id="svg2"
version="1.1">
<defs
id="defs6" />
<circle
r="3.5"
cy="8.5"
cx="5.5"
id="path4611"
style="fill:#000000;fill-opacity:0;stroke:#C5C5C5;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
<path
id="path4630"
d="m 8.1085854,11.109059 2.7823556,2.782356"
style="fill:none;stroke:#C5C5C5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 804 B

View File

@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg2"
width="20"
height="19"
viewBox="0 0 20 19"
>
<defs
id="defs6" />
<circle
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
id="path4611"
cx="5.5"
cy="8.5"
r="3.5" />
<path
style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 11,7 13.5,10 16,7 Z"
id="path4609"
/>
<path
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.1085854,11.109059 2.7823556,2.782356"
id="path4630"
/>
</svg>

Before

Width:  |  Height:  |  Size: 1019 B

View File

@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg2"
width="20"
height="19"
viewBox="0 0 20 19"
>
<defs
id="defs6" />
<circle
style="fill:#000000;fill-opacity:0;stroke:#c5C5C5;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
id="path4611"
cx="5.5"
cy="8.5"
r="3.5" />
<path
style="fill:#c5C5C5;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 11,7 13.5,10 16,7 Z"
id="path4609"
/>
<path
style="fill:none;stroke:#c5C5C5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.1085854,11.109059 2.7823556,2.782356"
id="path4630"
/>
</svg>

Before

Width:  |  Height:  |  Size: 1019 B

View File

@ -1,4 +0,0 @@
var searchData=
[
['macstd_0',['MacStd',['../index.html',1,'']]]
];

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