460 lines
41 KiB
HTML
460 lines
41 KiB
HTML
<!-- HTML header for doxygen 1.9.1-->
|
|
<!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">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.15.0"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>L4Re Operating System Framework: cxx Namespace 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>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.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" />
|
|
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
<link href="l4re-awesome.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 style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="L4Re_rgb_logo_quer_hg_h55.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">L4Re Operating System Framework
|
|
</div>
|
|
<div id="projectbrief">Interface and Usage Documentation</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.15.0 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
</script>
|
|
<script type="text/javascript">
|
|
$(function() { codefold.init(); });
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search',true);
|
|
$(function() { init_search(); });
|
|
});
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(function(){initNavTree('namespacecxx.html','',''); });
|
|
</script>
|
|
<div id="container">
|
|
<div id="doc-content">
|
|
<!-- 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">cxx Namespace Reference<div class="ingroups"><a class="el" href="group__cxx__api.html">Small C++ Template Library</a></div></div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Our C++ library.
|
|
<a href="#details">More...</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-namespaces" class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
Namespaces</h2></td></tr>
|
|
<tr class="memitem:Bits" id="r_Bits"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecxx_1_1Bits.html">Bits</a></td></tr>
|
|
<tr class="memdesc:namespacecxx_1_1Bits"><td class="mdescLeft"> </td><td class="mdescRight">Internal helpers for the cxx package. <br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
Data Structures</h2></td></tr>
|
|
<tr class="memitem:Avl_5Fmap" id="r_Avl_5Fmap"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Avl__map.html">Avl_map</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">AVL tree based associative container. <a href="classcxx_1_1Avl__map.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Avl_5Fset" id="r_Avl_5Fset"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Avl__set.html">Avl_set</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">AVL set for simple comparable items. <a href="classcxx_1_1Avl__set.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Avl_5Ftree_5Fnode" id="r_Avl_5Ftree_5Fnode"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Avl__tree__node.html">Avl_tree_node</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Node of an AVL tree. <a href="classcxx_1_1Avl__tree__node.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Avl_5Ftree" id="r_Avl_5Ftree"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Avl__tree.html">Avl_tree</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A generic AVL tree. <a href="classcxx_1_1Avl__tree.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Bitfield" id="r_Bitfield"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Bitfield.html">Bitfield</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Definition for a member (part) of a bit field. <a href="classcxx_1_1Bitfield.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Bitmap_5Fbase" id="r_Bitmap_5Fbase"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Bitmap__base.html">Bitmap_base</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic bitmap abstraction. <a href="classcxx_1_1Bitmap__base.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Bitmap" id="r_Bitmap"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Bitmap.html">Bitmap</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A static bitmap. <a href="classcxx_1_1Bitmap.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:H_5Flist_5Fitem_5Ft" id="r_H_5Flist_5Fitem_5Ft"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1H__list__item__t.html">H_list_item_t</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic element type for a double-linked <a class="el" href="classcxx_1_1H__list.html" title="General double-linked list of unspecified cxx::H_list_item elements.">H_list</a>. <a href="classcxx_1_1H__list__item__t.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:H_5Flist" id="r_H_5Flist"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1H__list.html">H_list</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">General double-linked list of unspecified <a class="el" href="#a808b2bc56f24c4146f03aa6696d80c65" title="Untyped list item.">cxx::H_list_item</a> elements. <a href="classcxx_1_1H__list.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:H_5Flist_5Ft" id="r_H_5Flist_5Ft"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcxx_1_1H__list__t.html">H_list_t</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Double-linked list of typed <a class="el" href="classcxx_1_1H__list__item__t.html" title="Basic element type for a double-linked H_list.">H_list_item_t</a> elements. <a href="structcxx_1_1H__list__t.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:List_5Fitem" id="r_List_5Fitem"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1List__item.html">List_item</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic list item. <a href="classcxx_1_1List__item.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:List" id="r_List"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1List.html">List</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Doubly linked list, with internal allocation. <a href="classcxx_1_1List.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:List_5Falloc" id="r_List_5Falloc"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1List__alloc.html">List_alloc</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Standard list-based allocator. <a href="classcxx_1_1List__alloc.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Pair" id="r_Pair"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcxx_1_1Pair.html">Pair</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structcxx_1_1Pair.html" title="Pair of two values.">Pair</a> of two values. <a href="structcxx_1_1Pair.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Pair_5Ffirst_5Fcompare" id="r_Pair_5Ffirst_5Fcompare"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Pair__first__compare.html">Pair_first_compare</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Comparison functor for <a class="el" href="structcxx_1_1Pair.html" title="Pair of two values.">Pair</a>. <a href="classcxx_1_1Pair__first__compare.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Ref_5Fptr" id="r_Ref_5Fptr"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Ref__ptr.html">Ref_ptr</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A reference-counting pointer with automatic cleanup. <a href="classcxx_1_1Ref__ptr.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Ref_5Fobj_5Flist_5Fitem" id="r_Ref_5Fobj_5Flist_5Fitem"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcxx_1_1Ref__obj__list__item.html">Ref_obj_list_item</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Item for list linked via <a class="el" href="classcxx_1_1Ref__ptr.html" title="A reference-counting pointer with automatic cleanup.">cxx::Ref_ptr</a> with default refence counting. <a href="structcxx_1_1Ref__obj__list__item.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Base_5Fslab" id="r_Base_5Fslab"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Base__slab.html">Base_slab</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic slab allocator. <a href="classcxx_1_1Base__slab.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Slab" id="r_Slab"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Slab.html">Slab</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classcxx_1_1Slab.html" title="Slab allocator for object of type Type.">Slab</a> allocator for object of type <span class="tt">Type</span>. <a href="classcxx_1_1Slab.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Base_5Fslab_5Fstatic" id="r_Base_5Fslab_5Fstatic"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Base__slab__static.html">Base_slab_static</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Merged slab allocator (allocators for objects of the same size are merged together). <a href="classcxx_1_1Base__slab__static.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Slab_5Fstatic" id="r_Slab_5Fstatic"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Slab__static.html">Slab_static</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Merged slab allocator (allocators for objects of the same size are merged together). <a href="classcxx_1_1Slab__static.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:S_5Flist" id="r_S_5Flist"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1S__list.html">S_list</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Simple single-linked list. <a href="classcxx_1_1S__list.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:static_5Fvector" id="r_static_5Fvector"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1static__vector.html">static_vector</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Simple encapsulation for a dynamically allocated array. <a href="classcxx_1_1static__vector.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Nothrow" id="r_Nothrow"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Nothrow.html">Nothrow</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper type to distinguish the <code> operator new </code> version that does not throw exceptions. <a href="classcxx_1_1Nothrow.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:New_5Fallocator" id="r_New_5Fallocator"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1New__allocator.html">New_allocator</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Standard allocator based on <code>operator new () </code>. <a href="classcxx_1_1New__allocator.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Lt_5Ffunctor" id="r_Lt_5Ffunctor"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcxx_1_1Lt__functor.html">Lt_functor</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Generic comparator class that defaults to the less-than operator. <a href="structcxx_1_1Lt__functor.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:String" id="r_String"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1String.html">String</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Allocation free string class with explicit length field. <a href="classcxx_1_1String.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Weak_5Fref_5Fbase" id="r_Weak_5Fref_5Fbase"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Weak__ref__base.html">Weak_ref_base</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Generic (base) weak reference to some object. <a href="classcxx_1_1Weak__ref__base.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Weak_5Fref" id="r_Weak_5Fref"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcxx_1_1Weak__ref.html">Weak_ref</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Typed weak reference to an object of type <span class="tt">T</span>. <a href="classcxx_1_1Weak__ref.html#details">More...</a><br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-typedef-members" class="groupheader"><a id="typedef-members" name="typedef-members"></a>
|
|
Typedefs</h2></td></tr>
|
|
<tr class="memitem:a808b2bc56f24c4146f03aa6696d80c65" id="r_a808b2bc56f24c4146f03aa6696d80c65"><td class="memItemLeft" align="right" valign="top"><a id="a808b2bc56f24c4146f03aa6696d80c65" name="a808b2bc56f24c4146f03aa6696d80c65"></a>
|
|
typedef <a class="el" href="classcxx_1_1H__list__item__t.html">H_list_item_t</a>< void > </td><td class="memItemRight" valign="bottom"><b>H_list_item</b></td></tr>
|
|
<tr class="memdesc:a808b2bc56f24c4146f03aa6696d80c65"><td class="mdescLeft"> </td><td class="mdescRight">Untyped list item. <br /></td></tr>
|
|
<tr class="memitem:a774ec22bafe77f8279eea526d142ad70" id="r_a774ec22bafe77f8279eea526d142ad70"><td class="memTemplParams" colspan="2"><a id="a774ec22bafe77f8279eea526d142ad70" name="a774ec22bafe77f8279eea526d142ad70"></a>
|
|
template<typename T> </td></tr>
|
|
<tr class="memitem:a774ec22bafe77f8279eea526d142ad70 template"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><b>Ref_ptr_list_item</b> = <a class="el" href="classcxx_1_1Bits_1_1Smart__ptr__list__item.html">Bits::Smart_ptr_list_item</a><T, <a class="el" href="classcxx_1_1Ref__ptr.html">cxx::Ref_ptr</a><T> ></td></tr>
|
|
<tr class="memdesc:a774ec22bafe77f8279eea526d142ad70"><td class="mdescLeft"> </td><td class="mdescRight">Item for list linked with <a class="el" href="classcxx_1_1Ref__ptr.html" title="A reference-counting pointer with automatic cleanup.">cxx::Ref_ptr</a>. <br /></td></tr>
|
|
<tr class="memitem:af8c1df390e1795be437285a99b4a7aaa" id="r_af8c1df390e1795be437285a99b4a7aaa"><td class="memTemplParams" colspan="2"><a id="af8c1df390e1795be437285a99b4a7aaa" name="af8c1df390e1795be437285a99b4a7aaa"></a>
|
|
template<typename T> </td></tr>
|
|
<tr class="memitem:af8c1df390e1795be437285a99b4a7aaa template"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><b>Ref_ptr_list</b> = <a class="el" href="classcxx_1_1Bits_1_1Smart__ptr__list.html">Bits::Smart_ptr_list</a><<a class="el" href="#a774ec22bafe77f8279eea526d142ad70">Ref_ptr_list_item</a><T> ></td></tr>
|
|
<tr class="memdesc:af8c1df390e1795be437285a99b4a7aaa"><td class="mdescLeft"> </td><td class="mdescRight">Single-linked list where elements are connected via a <a class="el" href="classcxx_1_1Ref__ptr.html" title="A reference-counting pointer with automatic cleanup.">cxx::Ref_ptr</a>. <br /></td></tr>
|
|
<tr class="memitem:ac5377a17e484f8d039662ce8cfd7b4ae" id="r_ac5377a17e484f8d039662ce8cfd7b4ae"><td class="memTemplParams" colspan="2"><a id="ac5377a17e484f8d039662ce8cfd7b4ae" name="ac5377a17e484f8d039662ce8cfd7b4ae"></a>
|
|
template<typename T> </td></tr>
|
|
<tr class="memitem:ac5377a17e484f8d039662ce8cfd7b4ae template"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><b>Unique_ptr_list_item</b> = <a class="el" href="classcxx_1_1Bits_1_1Smart__ptr__list__item.html">Bits::Smart_ptr_list_item</a><T, cxx::unique_ptr<T> ></td></tr>
|
|
<tr class="memdesc:ac5377a17e484f8d039662ce8cfd7b4ae"><td class="mdescLeft"> </td><td class="mdescRight">Item for list linked with cxx::unique_ptr. <br /></td></tr>
|
|
<tr class="memitem:ad1fb5c4282df16d90b42641e5e443dfb" id="r_ad1fb5c4282df16d90b42641e5e443dfb"><td class="memTemplParams" colspan="2"><a id="ad1fb5c4282df16d90b42641e5e443dfb" name="ad1fb5c4282df16d90b42641e5e443dfb"></a>
|
|
template<typename T> </td></tr>
|
|
<tr class="memitem:ad1fb5c4282df16d90b42641e5e443dfb template"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><b>Unique_ptr_list</b> = <a class="el" href="classcxx_1_1Bits_1_1Smart__ptr__list.html">Bits::Smart_ptr_list</a><<a class="el" href="#ac5377a17e484f8d039662ce8cfd7b4ae">Unique_ptr_list_item</a><T> ></td></tr>
|
|
<tr class="memdesc:ad1fb5c4282df16d90b42641e5e443dfb"><td class="mdescLeft"> </td><td class="mdescRight">Single-linked list where elements are connected with a cxx::unique_ptr. <br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:ga6c502a1807d77feaaff27dc8ff58bd45" id="r_ga6c502a1807d77feaaff27dc8ff58bd45"><td class="memTemplParams" colspan="2">template<typename A, typename ... ARGS> </td></tr>
|
|
<tr class="memitem:ga6c502a1807d77feaaff27dc8ff58bd45 template"><td class="memItemLeft" align="right" valign="top">constexpr A const & </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cxx__api.html#ga6c502a1807d77feaaff27dc8ff58bd45">min</a> (A const &a1, A const &a2, ARGS const &...a)</td></tr>
|
|
<tr class="memdesc:ga6c502a1807d77feaaff27dc8ff58bd45"><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum of <span class="tt">a1</span> and <span class="tt">a2</span> upt to <span class="tt">aN</span>. <br /></td></tr>
|
|
<tr class="memitem:ga02e5de4cc0616778a1858f3cc288fe0e" id="r_ga02e5de4cc0616778a1858f3cc288fe0e"><td class="memTemplParams" colspan="2">template<typename A, typename ... ARGS> </td></tr>
|
|
<tr class="memitem:ga02e5de4cc0616778a1858f3cc288fe0e template"><td class="memItemLeft" align="right" valign="top">constexpr A const & </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cxx__api.html#ga02e5de4cc0616778a1858f3cc288fe0e">min</a> (cxx::identity_t< A > const &a1, cxx::identity_t< A > const &a2, ARGS const &...a)</td></tr>
|
|
<tr class="memdesc:ga02e5de4cc0616778a1858f3cc288fe0e"><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum of <span class="tt">a1</span> and <span class="tt">a2</span> upt to <span class="tt">aN</span>. <br /></td></tr>
|
|
<tr class="memitem:ga6b40508618e1b52959e20850cf820dc9" id="r_ga6b40508618e1b52959e20850cf820dc9"><td class="memTemplParams" colspan="2">template<typename A, typename ... ARGS> </td></tr>
|
|
<tr class="memitem:ga6b40508618e1b52959e20850cf820dc9 template"><td class="memItemLeft" align="right" valign="top">constexpr A const & </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cxx__api.html#ga6b40508618e1b52959e20850cf820dc9">max</a> (A const &a1, A const &a2, ARGS const &...a)</td></tr>
|
|
<tr class="memdesc:ga6b40508618e1b52959e20850cf820dc9"><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum of <span class="tt">a1</span> and <span class="tt">a2</span> upt to <span class="tt">aN</span>. <br /></td></tr>
|
|
<tr class="memitem:ga46630b12dffccbfe3bb39758c3d844a6" id="r_ga46630b12dffccbfe3bb39758c3d844a6"><td class="memTemplParams" colspan="2">template<typename A, typename ... ARGS> </td></tr>
|
|
<tr class="memitem:ga46630b12dffccbfe3bb39758c3d844a6 template"><td class="memItemLeft" align="right" valign="top">constexpr A const & </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cxx__api.html#ga46630b12dffccbfe3bb39758c3d844a6">max</a> (cxx::identity_t< A > const &a1, cxx::identity_t< A > const &a2, ARGS const &...a)</td></tr>
|
|
<tr class="memdesc:ga46630b12dffccbfe3bb39758c3d844a6"><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum of <span class="tt">a1</span> and <span class="tt">a2</span> upt to <span class="tt">aN</span>. <br /></td></tr>
|
|
<tr class="memitem:ga3af01832fd9bfa1ea526f705a8aa0680" id="r_ga3af01832fd9bfa1ea526f705a8aa0680"><td class="memTemplParams" colspan="2">template<typename T1> </td></tr>
|
|
<tr class="memitem:ga3af01832fd9bfa1ea526f705a8aa0680 template"><td class="memItemLeft" align="right" valign="top">T1 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cxx__api.html#ga3af01832fd9bfa1ea526f705a8aa0680">clamp</a> (T1 v, T1 lo, T1 hi)</td></tr>
|
|
<tr class="memdesc:ga3af01832fd9bfa1ea526f705a8aa0680"><td class="mdescLeft"> </td><td class="mdescRight">Limit <em class="arg">v</em> to the range given by <em class="arg">lo</em> and <em class="arg">hi</em>. <br /></td></tr>
|
|
<tr class="memitem:aa775ceed3c83b808b525bc72df2dd50f" id="r_aa775ceed3c83b808b525bc72df2dd50f"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:aa775ceed3c83b808b525bc72df2dd50f template"><td class="memItemLeft" align="right" valign="top">constexpr T </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa775ceed3c83b808b525bc72df2dd50f">gcd</a> (T a, T b)</td></tr>
|
|
<tr class="memdesc:aa775ceed3c83b808b525bc72df2dd50f"><td class="mdescLeft"> </td><td class="mdescRight">Compute the greatest common divisor of two unsigned values. <br /></td></tr>
|
|
<tr class="memitem:adc794acbc320e2e285f648904f5d37b0" id="r_adc794acbc320e2e285f648904f5d37b0"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:adc794acbc320e2e285f648904f5d37b0 template"><td class="memItemLeft" align="right" valign="top">constexpr T </td><td class="memItemRight" valign="bottom"><a class="el" href="#adc794acbc320e2e285f648904f5d37b0">lcm</a> (T a, T b)</td></tr>
|
|
<tr class="memdesc:adc794acbc320e2e285f648904f5d37b0"><td class="mdescLeft"> </td><td class="mdescRight">Compute the least common multiple of two unsigned values. <br /></td></tr>
|
|
<tr class="memitem:ab148b2c460eb31462ced9a1eafd9667c" id="r_ab148b2c460eb31462ced9a1eafd9667c"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:ab148b2c460eb31462ced9a1eafd9667c template"><td class="memItemLeft" align="right" valign="top">T </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab148b2c460eb31462ced9a1eafd9667c">access_once</a> (T const *a)</td></tr>
|
|
<tr class="memdesc:ab148b2c460eb31462ced9a1eafd9667c"><td class="mdescLeft"> </td><td class="mdescRight">Read the value at an address at most once. <br /></td></tr>
|
|
<tr class="memitem:a7f2e154fabb0f6bc7fe788d6debf4338" id="r_a7f2e154fabb0f6bc7fe788d6debf4338"><td class="memTemplParams" colspan="2">template<typename T, typename VAL> </td></tr>
|
|
<tr class="memitem:a7f2e154fabb0f6bc7fe788d6debf4338 template"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7f2e154fabb0f6bc7fe788d6debf4338">write_now</a> (T *a, VAL &&val)</td></tr>
|
|
<tr class="memdesc:a7f2e154fabb0f6bc7fe788d6debf4338"><td class="mdescLeft"> </td><td class="mdescRight">Write a value at an address exactly once. <br /></td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Our C++ library. </p>
|
|
<p>Small Low-Level C++ Library.</p>
|
|
<p>Strings.</p>
|
|
<p>Various kinds of C++ utilities. </p>
|
|
</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
|
|
<a id="ab148b2c460eb31462ced9a1eafd9667c" name="ab148b2c460eb31462ced9a1eafd9667c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab148b2c460eb31462ced9a1eafd9667c">◆ </a></span>access_once()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">T cxx::access_once </td>
|
|
<td>(</td>
|
|
<td class="paramtype">T const *</td> <td class="paramname"><span class="paramname"><em>a</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Read the value at an address at most once. </p>
|
|
<p>The read might be omitted if the result is not used by any code unless <span class="tt">typename</span> contains <span class="tt">volatile</span>. If the read operation has side effects and must not be omitted, use different means like <a class="el" href="structL4drivers_1_1Mmio__register__block.html" title="An MMIO block with up to 64-bit register access (32-bit default) and little endian byte order.">L4drivers::Mmio_register_block</a> or similar.</p>
|
|
<p>The compiler is disallowed to reuse a previous read at the same address, for example: </p><div class="fragment"><div class="line">val1 = *a;</div>
|
|
<div class="line">val2 = <a class="code hl_function" href="#ab148b2c460eb31462ced9a1eafd9667c">access_once</a>(a); <span class="comment">// compiler may not replace this by val2 = val1;</span></div>
|
|
<div class="ttc" id="anamespacecxx_html_ab148b2c460eb31462ced9a1eafd9667c"><div class="ttname"><a href="#ab148b2c460eb31462ced9a1eafd9667c">cxx::access_once</a></div><div class="ttdeci">T access_once(T const *a)</div><div class="ttdoc">Read the value at an address at most once.</div><div class="ttdef"><b>Definition</b> <a href="utils_source.html#l00040">utils:40</a></div></div>
|
|
</div><!-- fragment --><p>The compiler is also disallowed to repeat the read, for example: </p><div class="fragment"><div class="line">val1 = <a class="code hl_function" href="#ab148b2c460eb31462ced9a1eafd9667c">access_once</a>(a);</div>
|
|
<div class="line">val2 = val1; <span class="comment">// compiler may not replace this by val2 = *a;</span></div>
|
|
</div><!-- fragment --><p>The above implies that the compiler is also disallowed to move the read out of or into loops.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>The read might still be moved relative to other code. </dd>
|
|
<dd>
|
|
The value might be read from a hardware cache, not from RAM. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="utils_source.html#l00040">40</a> of file <a class="el" href="utils_source.html">utils</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="virtio_source.html#l00570">L4virtio::Svr::Request_processor::next()</a>, and <a class="el" href="virtio_source.html#l00501">L4virtio::Svr::Request_processor::start()</a>.</p>
|
|
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the caller graph for this function:</div>
|
|
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="namespacecxx_ab148b2c460eb31462ced9a1eafd9667c_icgraph.svg" width="823" height="623"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa775ceed3c83b808b525bc72df2dd50f" name="aa775ceed3c83b808b525bc72df2dd50f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa775ceed3c83b808b525bc72df2dd50f">◆ </a></span>gcd()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">T cxx::gcd </td>
|
|
<td>(</td>
|
|
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>a</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>b</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel constexpr">constexpr</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Compute the greatest common divisor of two unsigned values. </p>
|
|
<p>This uses the Euclidean modulo algorithm.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Contrary to the C++17 specification, this implementation requires the same unsigned type of both arguments and returns the same type (not a common type). This should be fine for most practical use cases.</dd>
|
|
<dd>
|
|
Contrary to the C++17 specification, this implementation does not accept signed arguments and negative literals.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Unsigned integer type of the values. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">a</td><td>First input. </td></tr>
|
|
<tr><td class="paramname">b</td><td>Second input.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Greatest common divisor of the input values. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="numeric_source.html#l00034">34</a> of file <a class="el" href="numeric_source.html">numeric</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="numeric_source.html#l00068">lcm()</a>.</p>
|
|
<div id="dynsection-1" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the caller graph for this function:</div>
|
|
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="namespacecxx_aa775ceed3c83b808b525bc72df2dd50f_icgraph.svg" width="212" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adc794acbc320e2e285f648904f5d37b0" name="adc794acbc320e2e285f648904f5d37b0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adc794acbc320e2e285f648904f5d37b0">◆ </a></span>lcm()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">T cxx::lcm </td>
|
|
<td>(</td>
|
|
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>a</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>b</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel constexpr">constexpr</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Compute the least common multiple of two unsigned values. </p>
|
|
<p>This uses the greatest common divisor to compute the least common multiple.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Contrary to the C++17 specification, this implementation requires the same unsigned type of both arguments and returns the same type (not a common type). This should be fine for most practical use cases.</dd>
|
|
<dd>
|
|
Contrary to the C++17 specification, this implementation does not accept signed arguments and negative literals.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Unsigned integer type of the values. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">a</td><td>First input. </td></tr>
|
|
<tr><td class="paramname">b</td><td>Second input.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Least common multiple of the input values. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="numeric_source.html#l00068">68</a> of file <a class="el" href="numeric_source.html">numeric</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="numeric_source.html#l00034">gcd()</a>.</p>
|
|
<div id="dynsection-2" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-2-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-2-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="namespacecxx_adc794acbc320e2e285f648904f5d37b0_cgraph.svg" width="212" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7f2e154fabb0f6bc7fe788d6debf4338" name="a7f2e154fabb0f6bc7fe788d6debf4338"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7f2e154fabb0f6bc7fe788d6debf4338">◆ </a></span>write_now()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T, typename VAL> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void cxx::write_now </td>
|
|
<td>(</td>
|
|
<td class="paramtype">T *</td> <td class="paramname"><span class="paramname"><em>a</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VAL &&</td> <td class="paramname"><span class="paramname"><em>val</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Write a value at an address exactly once. </p>
|
|
<p>The compiler is disallowed to skip the write, for example: </p><div class="fragment"><div class="line">*a = val;</div>
|
|
<div class="line"><a class="code hl_function" href="#a7f2e154fabb0f6bc7fe788d6debf4338">write_now</a>(a, val); <span class="comment">// compiler may not skip this line</span></div>
|
|
<div class="ttc" id="anamespacecxx_html_a7f2e154fabb0f6bc7fe788d6debf4338"><div class="ttname"><a href="#a7f2e154fabb0f6bc7fe788d6debf4338">cxx::write_now</a></div><div class="ttdeci">void write_now(T *a, VAL &&val)</div><div class="ttdoc">Write a value at an address exactly once.</div><div class="ttdef"><b>Definition</b> <a href="utils_source.html#l00071">utils:71</a></div></div>
|
|
</div><!-- fragment --><p>The compiler is also disallowed to repeat the write.</p>
|
|
<p>The above implies that the compiler is also disallowed to move the write out of or into loops.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>The write might still be moved relative to other code. </dd>
|
|
<dd>
|
|
The value might be written just to a hardware cache for the moment, not immediately to RAM. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="utils_source.html#l00071">71</a> of file <a class="el" href="utils_source.html">utils</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<div id="page-nav" class="page-nav-panel">
|
|
<div id="page-nav-resize-handle"></div>
|
|
<div id="page-nav-tree">
|
|
<div id="page-nav-contents">
|
|
</div><!-- page-nav-contents -->
|
|
</div><!-- page-nav-tree -->
|
|
</div><!-- page-nav -->
|
|
</div><!-- container -->
|
|
<!-- HTML footer for doxygen 1.9.1-->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a href="namespacecxx.html">cxx</a></li>
|
|
<li class="footer">Generated on <span class="timestamp"></span> for L4Re Operating System Framework by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|