2018-01-12 21:47:58 +01:00
<!--
Copyright Louis Dionne 2013-2017
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-->
<!-- boost - no - inspect -->
<!-- HTML header for doxygen 1.8.9.1 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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" / >
2021-10-05 21:37:46 +02:00
< meta name = "generator" content = "Doxygen 1.8.20" / >
2018-01-12 21:47:58 +01:00
< title > Boost.Hana: Todo 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 >
< link href = "navtree.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "resize.js" > < / script >
< script type = "text/javascript" src = "navtreedata.js" > < / script >
< script type = "text/javascript" src = "navtree.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 >
< script type = "text/javascript" >
2021-10-05 21:37:46 +02:00
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
2018-01-12 21:47:58 +01:00
$(document).ready(function() { init_search(); });
2021-10-05 21:37:46 +02:00
/* @license-end */
2018-01-12 21:47:58 +01:00
< / script >
< script type = "text/x-mathjax-config" >
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
// Copyright Louis Dionne 2013-2017
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
MathJax.Hub.Config({
"HTML-CSS": {
linebreaks: {
automatic: true,
width: "75% container"
}
}
});
2021-10-05 21:37:46 +02:00
< / script >
< script type = "text/javascript" async = "async" src = "https://cdn.mathjax.org/mathjax/latest/MathJax.js" > < / script >
2018-01-12 21:47:58 +01:00
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
<!-- Additional javascript for drawing charts. -->
< script type = "text/javascript" src = "highcharts.js" > < / script >
< script type = "text/javascript" src = "highcharts-data.js" > < / script >
< script type = "text/javascript" src = "highcharts-exporting.js" > < / script >
< script type = "text/javascript" src = "chart.js" > < / script >
< script type = "text/javascript" src = "hana.js" > < / script >
< / 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 = "Boost.png" / > < / td >
< td style = "padding-left: 0.5em;" >
< div id = "projectname" > Boost.Hana
2021-10-05 21:37:46 +02:00
  < span id = "projectnumber" > 1.7.0< / span >
2018-01-12 21:47:58 +01:00
< / div >
< div id = "projectbrief" > Your standard library for metaprogramming< / div >
< / td >
< td > < div id = "MSearchBox" class = "MSearchBoxInactive" >
< span class = "left" >
2021-10-05 21:37:46 +02:00
< img id = "MSearchSelect" src = "search/mag_sel.svg"
2018-01-12 21:47:58 +01:00
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
< input type = "text" id = "MSearchField" value = "Search" accesskey = "S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
< / span > < span class = "right" >
2021-10-05 21:37:46 +02:00
< a id = "MSearchClose" href = "javascript:searchBox.CloseResultsWindow()" > < img id = "MSearchCloseImg" border = "0" src = "search/close.svg" alt = "" / > < / a >
2018-01-12 21:47:58 +01:00
< / span >
< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
2021-10-05 21:37:46 +02:00
<!-- Generated by Doxygen 1.8.20 -->
2018-01-12 21:47:58 +01:00
< script type = "text/javascript" >
2021-10-05 21:37:46 +02:00
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
2018-01-12 21:47:58 +01:00
var searchBox = new SearchBox("searchBox", "search",false,'Search');
2021-10-05 21:37:46 +02:00
/* @license-end */
2018-01-12 21:47:58 +01:00
< / script >
< / 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" >
2021-10-05 21:37:46 +02:00
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('todo.html',''); initResizable(); });
/* @license-end */
2018-01-12 21:47:58 +01:00
< / script >
< 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" >
< iframe src = "javascript:void(0)" frameborder = "0"
name="MSearchResults" id="MSearchResults">
< / iframe >
< / div >
2021-10-05 21:37:46 +02:00
< div class = "PageDoc" > < div class = "header" >
2018-01-12 21:47:58 +01:00
< div class = "headertitle" >
< div class = "title" > Todo List < / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
< div class = "textblock" > < dl class = "reflist" >
2021-10-05 21:37:46 +02:00
< dt > Class < a class = "el" href = "structboost_1_1hana_1_1constant__detail_1_1which.html" > boost::hana::constant_detail::which< A, B, C > < / a > < / dt >
< dd > < a class = "anchor" id = "_todo000002" > < / a > This is an awful hack to avoid having < / dd >
< dt > Class < a class = "el" href = "structboost_1_1hana_1_1detail_1_1has__duplicates.html" > boost::hana::detail::has_duplicates< T > < / a > < / dt >
< dd > < a class = "anchor" id = "_todo000003" > < / a > This implementation is O(n^2). We could do it in O(n), but that would require a more elaborate setup including storage with O(1) lookup (which could be based on a compile-time hash). If we implement such storage for associative sequences, we could use it to optimize this. < / dd >
< dt > Member < a class = "el" href = "group__group-_applicative.html#ga4b7188568b24c715ec8e43595de6844d" > boost::hana::A< / a > (T_1) \times \cdots \times A(T_n) \to A(U) @f$. const expr auto ap< / dt >
< dd > < a class = "anchor" id = "_todo000004" > < / a > Consider giving access to all the arguments to the tag-dispatched implementation for performance purposes. < / dd >
< dt > Member < a class = "el" href = "group__group-_orderable.html#ga999eee8ca8750f9b1afa0d7a1db28030" > boost::hana::max< / a > < / dt >
< dd > < a class = "anchor" id = "_todo000005" > < / a > Can't specify the signature here either. See < code > min< / code > for details. < / dd >
< dt > Member < a class = "el" href = "group__group-_orderable.html#ga2d54f189ea6f57fb2c0d772169440c5c" > boost::hana::min< / a > < / dt >
< dd > < a class = "anchor" id = "_todo000006" > < / a > We can't specify the signature right now, because the tag of the returned object depends on whether < code > x < y< / code > or not. If we wanted to be mathematically correct, we should probably ask that < code > if_(cond, x, y)< / code > returns a common data type of < code > x< / code > and < code > y< / code > , and then the behavior of < code > min< / code > would follow naturally. However, I'm unsure whether this is desirable because that's a big requirement. < / dd >
< dt > page < a class = "el" href = "index.html" > User Manual< / a > < / dt >
< dd > < p class = "startdd" > < a class = "anchor" id = "_todo000012" > < / a > Improve this explanation and talk about non-integral constant expressions wrapped into types.< / p >
< p class = "enddd" > < a class = "anchor" id = "_todo000013" > < / a > Explain how side-effects may not appear inside constant expressions, even if the expression they yield are not accessed.< / p >
2018-01-12 21:47:58 +01:00
< / dd >
< / dl >
< / div > < / div > <!-- contents -->
2021-10-05 21:37:46 +02:00
< / div > <!-- PageDoc -->
2018-01-12 21:47:58 +01:00
< / div > <!-- doc - content -->
<!--
Copyright Louis Dionne 2013-2017
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-->
<!-- boost - no - inspect -->
<!-- HTML footer for doxygen 1.8.9.1 -->
<!-- start footer part -->
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul >
< / ul >
< / div >
< / body >
< / html >