From c863d1a3427f4f2fa1d9982e330f933373215921 Mon Sep 17 00:00:00 2001 From: UnboxTheCat Date: Sun, 20 Jul 2025 21:43:54 -0400 Subject: [PATCH 1/5] Add doxygen documentation. --- Doxyfile | 52 + docs/clipboard.js | 61 + docs/cookie.js | 58 + docs/doxygen.css | 2461 +++++++++++++++++++++++++++++++++++++ docs/doxygen.svg | 28 + docs/doxygen_crawl.html | 14 + docs/dynsections.js | 198 +++ docs/index.html | 106 ++ docs/jquery.js | 204 +++ docs/menu.js | 131 ++ docs/menudata.js | 26 + docs/navtree.css | 327 +++++ docs/navtree.js | 899 ++++++++++++++ docs/navtreedata.js | 37 + docs/navtreeindex0.js | 5 + docs/search/search.css | 378 ++++++ docs/search/search.js | 708 +++++++++++ docs/search/searchdata.js | 12 + docs/tabs.css | 1 + 19 files changed, 5706 insertions(+) create mode 100644 Doxyfile create mode 100644 docs/clipboard.js create mode 100644 docs/cookie.js create mode 100644 docs/doxygen.css create mode 100644 docs/doxygen.svg create mode 100644 docs/doxygen_crawl.html create mode 100644 docs/dynsections.js create mode 100644 docs/index.html create mode 100644 docs/jquery.js create mode 100644 docs/menu.js create mode 100644 docs/menudata.js create mode 100644 docs/navtree.css create mode 100644 docs/navtree.js create mode 100644 docs/navtreedata.js create mode 100644 docs/navtreeindex0.js create mode 100644 docs/search/search.css create mode 100644 docs/search/search.js create mode 100644 docs/search/searchdata.js create mode 100644 docs/tabs.css diff --git a/Doxyfile b/Doxyfile new file mode 100644 index 0000000..0890636 --- /dev/null +++ b/Doxyfile @@ -0,0 +1,52 @@ +# --------- Project Info --------- +PROJECT_NAME = "Flow" +PROJECT_BRIEF = "Documentation for the Flow C++ Library" +OUTPUT_DIRECTORY = docs +CREATE_SUBDIRS = NO + +# --------- Build Control --------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_ANON_NSPACES = YES + +# --------- Input Settings --------- +INPUT = flow/ +RECURSIVE = YES +FILE_PATTERNS = *.cpp *.h *.hpp *.cxx *.cc +EXCLUDE = + +# --------- Source Browsing --------- +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +CALL_GRAPH = YES +CALLER_GRAPH = YES + +# --------- Output Formats --------- +GENERATE_HTML = YES +HTML_OUTPUT = . +HTML_FILE_EXTENSION = .html +HTML_COLORSTYLE_HUE = 220 +HTML_DYNAMIC_SECTIONS = YES +GENERATE_LATEX = NO +GENERATE_MAN = NO +GENERATE_RTF = NO +GENERATE_XML = NO +GENERATE_DOCBOOK = NO + +# --------- Markdown Support --------- +MARKDOWN_SUPPORT = YES +USE_MDFILE_AS_MAINPAGE = + +# --------- Warnings --------- +WARN_IF_UNDOCUMENTED = YES +WARN_NO_PARAMDOC = YES + +# --------- Misc --------- +QUIET = NO +WARNINGS = YES +GENERATE_TREEVIEW = YES +STRIP_FROM_PATH = DataStructure/flow diff --git a/docs/clipboard.js b/docs/clipboard.js new file mode 100644 index 0000000..9da9f3c --- /dev/null +++ b/docs/clipboard.js @@ -0,0 +1,61 @@ +/** + +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 = `` +let clipboard_successIcon = `` +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) + } + } +}) diff --git a/docs/cookie.js b/docs/cookie.js new file mode 100644 index 0000000..53ad21d --- /dev/null +++ b/docs/cookie.js @@ -0,0 +1,58 @@ +/*! + 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); + } + }, +} diff --git a/docs/doxygen.css b/docs/doxygen.css new file mode 100644 index 0000000..5d2eecd --- /dev/null +++ b/docs/doxygen.css @@ -0,0 +1,2461 @@ +/* The standard CSS for doxygen 1.14.0*/ + +html { +/* page base colors */ +--page-background-color: white; +--page-foreground-color: black; +--page-link-color: #3D578C; +--page-visited-link-color: #3D578C; +--page-external-link-color: #334975; + +/* index */ +--index-odd-item-bg-color: #F8F9FC; +--index-even-item-bg-color: white; +--index-header-color: black; +--index-separator-color: #A0A0A0; + +/* header */ +--header-background-color: #F9FAFC; +--header-separator-color: #C4CFE5; +--group-header-separator-color: #D9E0EE; +--group-header-color: #354C7B; +--inherit-header-color: gray; + +--footer-foreground-color: #2A3D61; +--footer-logo-width: 75px; +--citation-label-color: #334975; +--glow-color: cyan; + +--title-background-color: white; +--title-separator-color: #C4CFE5; +--directory-separator-color: #9CAFD4; +--separator-color: #4A6AAA; + +--blockquote-background-color: #F7F8FB; +--blockquote-border-color: #9CAFD4; + +--scrollbar-thumb-color: #C4CFE5; +--scrollbar-background-color: #F9FAFC; + +--icon-background-color: #728DC1; +--icon-foreground-color: white; +/* +--icon-doc-image: url('doc.svg'); +--icon-folder-open-image: url('folderopen.svg'); +--icon-folder-closed-image: url('folderclosed.svg');*/ +--icon-folder-open-fill-color: #C4CFE5; +--icon-folder-fill-color: #D8DFEE; +--icon-folder-border-color: #4665A2; +--icon-doc-fill-color: #D8DFEE; +--icon-doc-border-color: #4665A2; + +/* brief member declaration list */ +--memdecl-background-color: #F9FAFC; +--memdecl-separator-color: #DEE4F0; +--memdecl-foreground-color: #555; +--memdecl-template-color: #4665A2; +--memdecl-border-color: #D5DDEC; + +/* detailed member list */ +--memdef-border-color: #A8B8D9; +--memdef-title-background-color: #E2E8F2; +--memdef-proto-background-color: #EEF1F7; +--memdef-proto-text-color: #253555; +--memdef-doc-background-color: white; +--memdef-param-name-color: #602020; +--memdef-template-color: #4665A2; + +/* tables */ +--table-cell-border-color: #2D4068; +--table-header-background-color: #374F7F; +--table-header-foreground-color: #FFFFFF; + +/* labels */ +--label-background-color: #728DC1; +--label-left-top-border-color: #5373B4; +--label-right-bottom-border-color: #C4CFE5; +--label-foreground-color: white; + +/** navigation bar/tree/menu */ +--nav-background-color: #F9FAFC; +--nav-foreground-color: #364D7C; +--nav-border-color: #C4CFE5; +--nav-breadcrumb-separator-color: #C4CFE5; +--nav-breadcrumb-active-bg: #EEF1F7; +--nav-breadcrumb-color: #354C7B; +--nav-breadcrumb-border-color: #E1E7F2; +--nav-splitbar-bg-color: #DCE2EF; +--nav-splitbar-handle-color: #9CAFD4; +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #283A5D; +--nav-text-hover-color: white; +--nav-text-active-color: white; +--nav-menu-button-color: #364D7C; +--nav-menu-background-color: white; +--nav-menu-foreground-color: #555555; +--nav-menu-active-bg: #DCE2EF; +--nav-menu-active-color: #9CAFD4; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.5); +--nav-arrow-color: #B6C4DF; +--nav-arrow-selected-color: #90A5CE; + +/* sync icon */ +--sync-icon-border-color: #C4CFE5; +--sync-icon-background-color: #F9FAFC; +--sync-icon-selected-background-color: #EEF1F7; +--sync-icon-color: #C4CFE5; +--sync-icon-selected-color: #6884BD; + +/* table of contents */ +--toc-background-color: #F4F6FA; +--toc-border-color: #D8DFEE; +--toc-header-color: #4665A2; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: white; +--search-foreground-color: #909090; +--search-active-color: black; +--search-filter-background-color: rgba(255,255,255,.7); +--search-filter-backdrop-filter: blur(4px); +--search-filter-foreground-color: black; +--search-filter-border-color: rgba(150,150,150,.4); +--search-filter-highlight-text-color: white; +--search-filter-highlight-bg-color: #3D578C; +--search-results-foreground-color: #425E97; +--search-results-background-color: rgba(255,255,255,.8); +--search-results-backdrop-filter: blur(4px); +--search-results-border-color: rgba(150,150,150,.4); +--search-box-border-color: #B6C4DF; +--search-close-icon-bg-color: #A0A0A0; +--search-close-icon-fg-color: white; + +/** code fragments */ +--code-keyword-color: #008000; +--code-type-keyword-color: #604020; +--code-flow-keyword-color: #E08000; +--code-comment-color: #800000; +--code-preprocessor-color: #806020; +--code-string-literal-color: #002080; +--code-char-literal-color: #008080; +--code-xml-cdata-color: black; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #4665A2; +--code-external-link-color: #4665A2; +--fragment-foreground-color: black; +--fragment-background-color: #FBFCFD; +--fragment-border-color: #C4CFE5; +--fragment-lineno-border-color: #00FF00; +--fragment-lineno-background-color: #E8E8E8; +--fragment-lineno-foreground-color: black; +--fragment-lineno-link-fg-color: #4665A2; +--fragment-lineno-link-bg-color: #D8D8D8; +--fragment-lineno-link-hover-fg-color: #4665A2; +--fragment-lineno-link-hover-bg-color: #C8C8C8; +--fragment-copy-ok-color: #2EC82E; +--tooltip-foreground-color: black; +--tooltip-background-color: rgba(255,255,255,0.8); +--tooltip-arrow-background-color: white; +--tooltip-border-color: rgba(150,150,150,0.7); +--tooltip-backdrop-filter: blur(3px); +--tooltip-doc-color: grey; +--tooltip-declaration-color: #006318; +--tooltip-link-color: #4665A2; +--tooltip-shadow: 0 4px 8px 0 rgba(0,0,0,.25); +--fold-line-color: #808080; + +/** font-family */ +--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +/** special sections */ +--warning-color-bg: #f8d1cc; +--warning-color-hl: #b61825; +--warning-color-text: #75070f; +--note-color-bg: #faf3d8; +--note-color-hl: #f3a600; +--note-color-text: #5f4204; +--todo-color-bg: #e4f3ff; +--todo-color-hl: #1879C4; +--todo-color-text: #274a5c; +--test-color-bg: #e8e8ff; +--test-color-hl: #3939C4; +--test-color-text: #1a1a5c; +--deprecated-color-bg: #ecf0f3; +--deprecated-color-hl: #5b6269; +--deprecated-color-text: #43454a; +--bug-color-bg: #e4dafd; +--bug-color-hl: #5b2bdd; +--bug-color-text: #2a0d72; +--invariant-color-bg: #d8f1e3; +--invariant-color-hl: #44b86f; +--invariant-color-text: #265532; +} + +@media (prefers-color-scheme: dark) { + html:not(.dark-mode) { + color-scheme: dark; + +/* page base colors */ +--page-background-color: black; +--page-foreground-color: #C9D1D9; +--page-link-color: #90A5CE; +--page-visited-link-color: #90A5CE; +--page-external-link-color: #A3B4D7; + +/* index */ +--index-odd-item-bg-color: #0B101A; +--index-even-item-bg-color: black; +--index-header-color: #C4CFE5; +--index-separator-color: #334975; + +/* header */ +--header-background-color: #070B11; +--header-separator-color: #141C2E; +--group-header-separator-color: #1D2A43; +--group-header-color: #90A5CE; +--inherit-header-color: #A0A0A0; + +--footer-foreground-color: #5B7AB7; +--footer-logo-width: 60px; +--citation-label-color: #90A5CE; +--glow-color: cyan; + +--title-background-color: #090D16; +--title-separator-color: #212F4B; +--directory-separator-color: #283A5D; +--separator-color: #283A5D; + +--blockquote-background-color: #101826; +--blockquote-border-color: #283A5D; + +--scrollbar-thumb-color: #2C3F65; +--scrollbar-background-color: #070B11; + +--icon-background-color: #334975; +--icon-foreground-color: #C4CFE5; +--icon-folder-open-fill-color: #4665A2; +--icon-folder-fill-color: #5373B4; +--icon-folder-border-color: #C4CFE5; +--icon-doc-fill-color: #6884BD; +--icon-doc-border-color: #C4CFE5; + +/* brief member declaration list */ +--memdecl-background-color: #0B101A; +--memdecl-separator-color: #2C3F65; +--memdecl-foreground-color: #BBB; +--memdecl-template-color: #7C95C6; +--memdecl-border-color: #233250; + +/* detailed member list */ +--memdef-border-color: #233250; +--memdef-title-background-color: #1B2840; +--memdef-proto-background-color: #19243A; +--memdef-proto-text-color: #9DB0D4; +--memdef-doc-background-color: black; +--memdef-param-name-color: #D28757; +--memdef-template-color: #7C95C6; + +/* tables */ +--table-cell-border-color: #283A5D; +--table-header-background-color: #283A5D; +--table-header-foreground-color: #C4CFE5; + +/* labels */ +--label-background-color: #354C7B; +--label-left-top-border-color: #4665A2; +--label-right-bottom-border-color: #283A5D; +--label-foreground-color: #CCCCCC; + +/** navigation bar/tree/menu */ +--nav-background-color: #101826; +--nav-foreground-color: #364D7C; +--nav-border-color: #212F4B; +--nav-breadcrumb-separator-color: #212F4B; +--nav-breadcrumb-active-bg: #1D2A43; +--nav-breadcrumb-color: #90A5CE; +--nav-breadcrumb-border-color: #2A3D61; +--nav-splitbar-bg-color: #283A5D; +--nav-splitbar-handle-color: #4665A2; +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #B6C4DF; +--nav-text-hover-color: #DCE2EF; +--nav-text-active-color: #DCE2EF; +--nav-menu-button-color: #B6C4DF; +--nav-menu-background-color: #05070C; +--nav-menu-foreground-color: #BBBBBB; +--nav-menu-active-bg: #1D2A43; +--nav-menu-active-color: #C9D3E7; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.2); +--nav-arrow-color: #4665A2; +--nav-arrow-selected-color: #6884BD; + +/* sync icon */ +--sync-icon-border-color: #212F4B; +--sync-icon-background-color: #101826; +--sync-icon-selected-background-color: #1D2A43; +--sync-icon-color: #4665A2; +--sync-icon-selected-color: #5373B4; + +/* table of contents */ +--toc-background-color: #151E30; +--toc-border-color: #202E4A; +--toc-header-color: #A3B4D7; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: black; +--search-foreground-color: #C5C5C5; +--search-active-color: #F5F5F5; +--search-filter-background-color: #101826; +--search-filter-foreground-color: #90A5CE; +--search-filter-backdrop-filter: none; +--search-filter-border-color: #7C95C6; +--search-filter-highlight-text-color: #BCC9E2; +--search-filter-highlight-bg-color: #283A5D; +--search-results-background-color: black; +--search-results-foreground-color: #90A5CE; +--search-results-backdrop-filter: none; +--search-results-border-color: #334975; +--search-box-border-color: #334975; +--search-close-icon-bg-color: #909090; +--search-close-icon-fg-color: black; + +/** code fragments */ +--code-keyword-color: #CC99CD; +--code-type-keyword-color: #AB99CD; +--code-flow-keyword-color: #E08000; +--code-comment-color: #717790; +--code-preprocessor-color: #65CABE; +--code-string-literal-color: #7EC699; +--code-char-literal-color: #00E0F0; +--code-xml-cdata-color: #C9D1D9; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #C0C0C0; +--code-vhdl-keyword-color: #CF53C9; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #79C0FF; +--code-external-link-color: #79C0FF; +--fragment-foreground-color: #C9D1D9; +--fragment-background-color: #090D16; +--fragment-border-color: #30363D; +--fragment-lineno-border-color: #30363D; +--fragment-lineno-background-color: black; +--fragment-lineno-foreground-color: #6E7681; +--fragment-lineno-link-fg-color: #6E7681; +--fragment-lineno-link-bg-color: #303030; +--fragment-lineno-link-hover-fg-color: #8E96A1; +--fragment-lineno-link-hover-bg-color: #505050; +--fragment-copy-ok-color: #0EA80E; +--tooltip-foreground-color: #C9D1D9; +--tooltip-background-color: #202020; +--tooltip-arrow-background-color: #202020; +--tooltip-backdrop-filter: none; +--tooltip-border-color: #C9D1D9; +--tooltip-doc-color: #D9E1E9; +--tooltip-declaration-color: #20C348; +--tooltip-link-color: #79C0FF; +--tooltip-shadow: none; +--fold-line-color: #808080; + +/** font-family */ +--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +/** special sections */ +--warning-color-bg: #2e1917; +--warning-color-hl: #ad2617; +--warning-color-text: #f5b1aa; +--note-color-bg: #3b2e04; +--note-color-hl: #f1b602; +--note-color-text: #ceb670; +--todo-color-bg: #163750; +--todo-color-hl: #1982D2; +--todo-color-text: #dcf0fa; +--test-color-bg: #121258; +--test-color-hl: #4242cf; +--test-color-text: #c0c0da; +--deprecated-color-bg: #2e323b; +--deprecated-color-hl: #738396; +--deprecated-color-text: #abb0bd; +--bug-color-bg: #2a2536; +--bug-color-hl: #7661b3; +--bug-color-text: #ae9ed6; +--invariant-color-bg: #303a35; +--invariant-color-hl: #76ce96; +--invariant-color-text: #cceed5; +}} +body { + background-color: var(--page-background-color); + color: var(--page-foreground-color); +} + +body, table, div, p, dl { + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 22px; +} + +body.resizing { + user-select: none; + -webkit-user-select: none; +} + +#doc-content { + scrollbar-width: thin; +} + +/* @group Heading Levels */ + +.title { + font-family: var(--font-family-normal); + line-height: 28px; + font-size: 160%; + font-weight: 400; + margin: 10px 2px; +} + +h1.groupheader { + font-size: 150%; +} + +h2.groupheader { + box-shadow: 12px 0 var(--page-background-color), + -12px 0 var(--page-background-color), + 12px 1px var(--group-header-separator-color), + -12px 1px var(--group-header-separator-color); + color: var(--group-header-color); + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +td h2.groupheader { + box-shadow: 13px 0 var(--page-background-color), + -13px 0 var(--page-background-color), + 13px 1px var(--group-header-separator-color), + -13px 1px var(--group-header-separator-color); +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px var(--glow-color); +} + +dt { + font-weight: bold; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + margin-right: 6px; + padding-right: 6px; + text-align: right; + line-height: 110%; + background-color: var(--nav-background-color); +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL { + padding-right: 6px; + padding-left: 6px; + border-radius: 0 6px 6px 0; + background-color: var(--nav-menu-active-bg); +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: var(--index-separator-color); +} + +#main-menu a:focus { + outline: auto; + z-index: 10; + position: relative; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: var(--index-header-color); +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.even { + background-color: var(--index-even-item-bg-color); +} + +.classindex dl.odd { + background-color: var(--index-odd-item-bg-color); +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: var(--page-link-color); + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: var(--page-visited-link-color); +} + +span.label a:hover { + text-decoration: none; + background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%); +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.el, a.el:visited, a.code, a.code:visited, a.line, a.line:visited { + color: var(--page-link-color); +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: var(--page-external-link-color); +} + +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul.check { + list-style:none; + text-indent: -16px; + padding-left: 38px; +} +li.unchecked:before { + content: "\2610\A0"; +} +li.checked:before { + content: "\2611\A0"; +} + +ol { + text-indent: 0px; +} + +ul { + text-indent: 0px; + overflow: visible; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; + overflow-y: hidden; + position: relative; + min-height: 12px; + margin: 10px 0px; + padding: 10px 10px; + border: 1px solid var(--fragment-border-color); + border-radius: 4px; + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); +} + +pre.fragment { + word-wrap: break-word; + font-size: 10pt; + line-height: 125%; + font-family: var(--font-family-monospace); +} + +span.tt { + white-space: pre; + font-family: var(--font-family-monospace); +} + +.clipboard { + width: 24px; + height: 24px; + right: 5px; + top: 5px; + opacity: 0; + position: absolute; + display: inline; + overflow: hidden; + justify-content: center; + align-items: center; + cursor: pointer; +} + +.clipboard.success { + border: 1px solid var(--fragment-foreground-color); + border-radius: 4px; +} + +.fragment:hover .clipboard, .clipboard.success { + opacity: .4; +} + +.clipboard:hover, .clipboard.success { + opacity: 1 !important; +} + +.clipboard:active:not([class~=success]) svg { + transform: scale(.91); +} + +.clipboard.success svg { + fill: var(--fragment-copy-ok-color); +} + +.clipboard.success { + border-color: var(--fragment-copy-ok-color); +} + +div.line { + font-family: var(--font-family-monospace); + font-size: 13px; + min-height: 13px; + line-height: 1.2; + text-wrap: wrap; + word-break: break-all; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -62px; + padding-left: 62px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: var(--glow-color); + box-shadow: 0 0 10px var(--glow-color); +} + +span.fold { + display: inline-block; + width: 12px; + height: 12px; + margin-left: 4px; + margin-right: 1px; +} + +span.foldnone { + display: inline-block; + position: relative; + cursor: pointer; + user-select: none; +} + +span.fold.plus, span.fold.minus { + width: 10px; + height: 10px; + background-color: var(--fragment-background-color); + position: relative; + border: 1px solid var(--fold-line-color); + margin-right: 1px; +} + +span.fold.plus::before, span.fold.minus::before { + content: ''; + position: absolute; + background-color: var(--fold-line-color); +} + +span.fold.plus::before { + width: 2px; + height: 6px; + top: 2px; + left: 4px; +} + +span.fold.plus::after { + content: ''; + position: absolute; + width: 6px; + height: 2px; + top: 4px; + left: 2px; + background-color: var(--fold-line-color); +} + +span.fold.minus::before { + width: 6px; + height: 2px; + top: 4px; + left: 2px; +} + +span.lineno { + padding-right: 4px; + margin-right: 9px; + text-align: right; + border-right: 2px solid var(--fragment-lineno-border-color); + color: var(--fragment-lineno-foreground-color); + background-color: var(--fragment-lineno-background-color); + white-space: pre; +} +span.lineno a, span.lineno a:visited { + color: var(--fragment-lineno-link-fg-color); + background-color: var(--fragment-lineno-link-bg-color); +} + +span.lineno a:hover { + color: var(--fragment-lineno-link-hover-fg-color); + background-color: var(--fragment-lineno-link-hover-bg-color); +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + box-shadow: 13px 0 var(--page-background-color), + -13px 0 var(--page-background-color), + 13px 1px var(--group-header-separator-color), + -13px 1px var(--group-header-separator-color); + color: var(--group-header-color); + font-size: 110%; + font-weight: 500; + margin-left: 0px; + margin-top: 0em; + margin-bottom: 6px; + padding-top: 8px; + padding-bottom: 4px; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + color: var(--page-foreground-color); + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 12px; +} + +p.formulaDsp { + text-align: center; +} + +img.dark-mode-visible { + display: none; +} +img.light-mode-visible { + display: none; +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; + width: var(--footer-logo-width); +} + +.compoundTemplParams { + color: var(--memdecl-template-color); + font-size: 80%; + line-height: 120%; +} + +/* @group Code Colorization */ + +span.keyword { + color: var(--code-keyword-color); +} + +span.keywordtype { + color: var(--code-type-keyword-color); +} + +span.keywordflow { + color: var(--code-flow-keyword-color); +} + +span.comment { + color: var(--code-comment-color); +} + +span.preprocessor { + color: var(--code-preprocessor-color); +} + +span.stringliteral { + color: var(--code-string-literal-color); +} + +span.charliteral { + color: var(--code-char-literal-color); +} + +span.xmlcdata { + color: var(--code-xml-cdata-color); +} + +span.vhdldigit { + color: var(--code-vhdl-digit-color); +} + +span.vhdlchar { + color: var(--code-vhdl-char-color); +} + +span.vhdlkeyword { + color: var(--code-vhdl-keyword-color); +} + +span.vhdllogic { + color: var(--code-vhdl-logic-color); +} + +blockquote { + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid var(--table-cell-border-color); +} + +th.dirtab { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-weight: bold; +} + +hr { + border: none; + margin-top: 16px; + margin-bottom: 16px; + height: 1px; + box-shadow: 13px 0 var(--page-background-color), + -13px 0 var(--page-background-color), + 13px 1px var(--group-header-separator-color), + -13px 1px var(--group-header-separator-color); +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); +} + +.memberdecls tr[class^='memitem'] { + font-family: var(--font-family-monospace); +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight { + padding-top: 2px; + padding-bottom: 2px; +} + +.memTemplParams { + padding-left: 10px; + padding-top: 5px; +} + +.memItemLeft, .memItemRight, .memTemplParams { + background-color: var(--memdecl-background-color); +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: var(--memdecl-foreground-color); +} + +tr[class^='memdesc'] { + box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,.075); +} + +.mdescLeft { + border-left: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); +} + +.mdescRight { + border-right: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); +} + +.memTemplParams { + color: var(--memdecl-template-color); + white-space: nowrap; + font-size: 80%; + border-left: 1px solid var(--memdecl-border-color); + border-right: 1px solid var(--memdecl-border-color); +} + +td.ititle { + border: 1px solid var(--memdecl-border-color); + border-top-left-radius: 4px; + border-top-right-radius: 4px; + padding-left: 10px; +} + +tr:not(:first-child) > td.ititle { + border-top: 0; + border-radius: 0; +} + +.memItemLeft { + white-space: nowrap; + border-left: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); + padding-left: 10px; + transition: none; +} + +.memItemRight { + width: 100%; + border-right: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); + padding-right: 10px; + transition: none; +} + +tr.heading + tr[class^='memitem'] td.memItemLeft, +tr.groupHeader + tr[class^='memitem'] td.memItemLeft, +tr.inherit_header + tr[class^='memitem'] td.memItemLeft { + border-top: 1px solid var(--memdecl-border-color); + border-top-left-radius: 4px; +} + +tr.heading + tr[class^='memitem'] td.memItemRight, +tr.groupHeader + tr[class^='memitem'] td.memItemRight, +tr.inherit_header + tr[class^='memitem'] td.memItemRight { + border-top: 1px solid var(--memdecl-border-color); + border-top-right-radius: 4px; +} + +tr.heading + tr[class^='memitem'] td.memTemplParams, +tr.heading + tr td.ititle, +tr.groupHeader + tr[class^='memitem'] td.memTemplParams, +tr.groupHeader + tr td.ititle, +tr.inherit_header + tr[class^='memitem'] td.memTemplParams { + border-top: 1px solid var(--memdecl-border-color); + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +table.memberdecls tr:last-child td.memItemLeft, +table.memberdecls tr:last-child td.mdescLeft, +table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, +table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, +table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, +table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft { + border-bottom-left-radius: 4px; +} + +table.memberdecls tr:last-child td.memItemRight, +table.memberdecls tr:last-child td.mdescRight, +table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, +table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, +table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, +table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight { + border-bottom-right-radius: 4px; +} + +tr.template .memItemLeft, tr.template .memItemRight { + border-top: none; + padding-top: 0; +} + + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-color: var(--memdef-proto-background-color); + line-height: 1.25; + font-family: var(--font-family-monospace); + font-weight: 500; + font-size: 16px; + float:left; + box-shadow: 0 10px 0 -1px var(--memdef-proto-background-color), + 0 2px 8px 0 rgba(0,0,0,.075); + position: relative; +} + +.memtitle:after { + content: ''; + display: block; + background: var(--memdef-proto-background-color); + height: 10px; + bottom: -10px; + left: 0px; + right: -14px; + position: absolute; + border-top-right-radius: 6px; +} + +.permalink +{ + font-family: var(--font-family-monospace); + font-weight: 500; + line-height: 1.25; + font-size: 16px; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: var(--memdef-template-color); + font-family: var(--font-family-monospace); + font-weight: normal; + margin-left: 9px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + display: table !important; + width: 100%; + box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); + border-radius: 4px; +} + +.memitem.glow { + box-shadow: 0 0 15px var(--glow-color); +} + +.memname { + font-family: var(--font-family-monospace); + font-size: 13px; + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 0px 6px 0px; + color: var(--memdef-proto-text-color); + font-weight: bold; + background-color: var(--memdef-proto-background-color); + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); +} + +.overload { + font-family: var(--font-family-monospace); + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 10px 2px 10px; + border-top-width: 0; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; + padding: 0px; + padding-bottom: 1px; +} + +.paramname { + white-space: nowrap; + padding: 0px; + padding-bottom: 1px; + margin-left: 2px; +} + +.paramname em { + color: var(--memdef-param-name-color); + font-style: normal; + margin-right: 1px; +} + +.paramname .paramdefval { + font-family: var(--font-family-monospace); +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: var(--font-family-monospace); + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); + text-shadow: none; + color: var(--label-foreground-color); + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.odd { + padding-left: 6px; + background-color: var(--index-odd-item-bg-color); +} + +.directory tr.even { + padding-left: 6px; + background-color: var(--index-even-item-bg-color); +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: var(--page-link-color); +} + +.arrow { + color: var(--nav-background-color); + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 14px; + transition: opacity 0.3s ease; +} + +span.arrowhead { + position: relative; + padding: 0; + margin: 0 0 0 2px; + display: inline-block; + width: 5px; + height: 5px; + border-right: 2px solid var(--nav-arrow-color); + border-bottom: 2px solid var(--nav-arrow-color); + transform: rotate(-45deg); + transition: transform 0.3s ease; +} + +span.arrowhead.opened { + transform: rotate(45deg); +} + +.selected span.arrowhead { + border-right: 2px solid var(--nav-arrow-selected-color); + border-bottom: 2px solid var(--nav-arrow-selected-color); +} + +.icon { + font-family: var(--font-family-icon); + line-height: normal; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfolder { + width: 24px; + height: 18px; + margin-top: 6px; + vertical-align:top; + display: inline-block; + position: relative; +} + +.icondoc { + width: 24px; + height: 18px; + margin-top: 3px; + vertical-align:top; + display: inline-block; + position: relative; +} + +.folder-icon { + width: 16px; + height: 11px; + background-color: var(--icon-folder-fill-color); + border: 1px solid var(--icon-folder-border-color); + border-radius: 0 2px 2px 2px; + position: relative; + box-sizing: content-box; +} + +.folder-icon::after { + content: ''; + position: absolute; + top: 2px; + left: -1px; + width: 16px; + height: 7px; + background-color: var(--icon-folder-open-fill-color); + border: 1px solid var(--icon-folder-border-color); + border-radius: 7px 7px 2px 2px; + transform-origin: top left; + opacity: 0; + transition: all 0.3s linear; +} + +.folder-icon::before { + content: ''; + position: absolute; + top: -3px; + left: -1px; + width: 6px; + height: 2px; + background-color: var(--icon-folder-fill-color); + border-top: 1px solid var(--icon-folder-border-color); + border-left: 1px solid var(--icon-folder-border-color); + border-right: 1px solid var(--icon-folder-border-color); + border-radius: 2px 2px 0 0; +} + +.folder-icon.open::after { + top: 3px; + opacity: 1; +} + +.doc-icon { + left: 6px; + width: 12px; + height: 16px; + background-color: var(--icon-doc-border-color); + clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%); + position: relative; + display: inline-block; +} +.doc-icon::before { + content: ""; + left: 1px; + top: 1px; + width: 10px; + height: 14px; + background-color: var(--icon-doc-fill-color); + clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%); + position: absolute; + box-sizing: border-box; +} +.doc-icon::after { + content: ""; + left: 7px; + top: 0px; + width: 3px; + height: 3px; + background-color: transparent; + position: absolute; + border: 1px solid var(--icon-doc-border-color); +} + + + + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +span.dynarrow { + position: relative; + display: inline-block; + width: 12px; + bottom: 1px; +} + +address { + font-style: normal; + color: var(--footer-foreground-color); +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid var(--table-cell-border-color); + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + margin-bottom: 10px; + border: 1px solid var(--memdef-border-color); + border-spacing: 0px; + border-radius: 4px; + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit { + white-space: nowrap; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fieldinit { + padding-top: 3px; + text-align: right; +} + + +.fieldtable td.fielddoc { + border-bottom: 1px solid var(--memdef-border-color); +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-color: var(--memdef-title-background-color); + font-size: 90%; + color: var(--memdef-proto-text-color); + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); +} + +/* ----------- navigation breadcrumb styling ----------- */ + +#nav-path ul { + height: 30px; + line-height: 30px; + color: var(--nav-text-normal-color); + overflow: hidden; + margin: 0px; + padding-left: 4px; + background-image: none; + background: var(--page-background-color); + border-bottom: 1px solid var(--nav-breadcrumb-separator-color); + font-size: var(--nav-font-size-level1); + font-family: var(--font-family-nav); + position: relative; + z-index: 100; +} + +#main-nav { + border-bottom: 1px solid var(--nav-border-color); +} + +.navpath li { + list-style-type:none; + float:left; + color: var(--nav-foreground-color); +} + +.navpath li.footer { + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + font-size: 8pt; + color: var(--footer-foreground-color); +} + +#nav-path li.navelem { + background-image: none; + display: flex; + align-items: center; + padding-left: 15px; +} + +.navpath li.navelem a { + text-shadow: none; + display: inline-block; + color: var(--nav-breadcrumb-color); + position: relative; + top: 0px; + height: 30px; + margin-right: -20px; +} + +#nav-path li.navelem:after { + content: ''; + display: inline-block; + position: relative; + top: 0; + right: -15px; + width: 30px; + height: 30px; + transform: scaleX(0.5) scale(0.707) rotate(45deg); + z-index: 10; + background: var(--page-background-color); + box-shadow: 2px -2px 0 2px var(--nav-breadcrumb-separator-color); + border-radius: 0 5px 0 50px; +} + +#nav-path li.navelem:first-child { + margin-left: -6px; +} + +#nav-path li.navelem:hover, +#nav-path li.navelem:hover:after { + background-color: var(--nav-breadcrumb-active-bg); +} + +/* ---------------------- */ + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + margin: 0px; + background-color: var(--header-background-color); + border-bottom: 1px solid var(--header-separator-color); +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl { + padding: 0 0 0 0; +} + +dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { + font-weight: bold !important; +} + +dl.warning, dl.attention, dl.important, dl.note, dl.deprecated, dl.bug, +dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { + padding: 10px; + margin: 10px 0px; + overflow: hidden; + margin-left: 0; + border-radius: 4px; +} + +dl.section dd { + margin-bottom: 2px; +} + +dl.warning, dl.attention, dl.important { + background: var(--warning-color-bg); + border-left: 8px solid var(--warning-color-hl); + color: var(--warning-color-text); +} + +dl.warning dt, dl.attention dt, dl.important dt { + color: var(--warning-color-hl); +} + +dl.note, dl.remark { + background: var(--note-color-bg); + border-left: 8px solid var(--note-color-hl); + color: var(--note-color-text); +} + +dl.note dt, dl.remark dt { + color: var(--note-color-hl); +} + +dl.todo { + background: var(--todo-color-bg); + border-left: 8px solid var(--todo-color-hl); + color: var(--todo-color-text); +} + +dl.todo dt { + color: var(--todo-color-hl); +} + +dl.test { + background: var(--test-color-bg); + border-left: 8px solid var(--test-color-hl); + color: var(--test-color-text); +} + +dl.test dt { + color: var(--test-color-hl); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.bug { + background: var(--bug-color-bg); + border-left: 8px solid var(--bug-color-hl); + color: var(--bug-color-text); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.deprecated { + background: var(--deprecated-color-bg); + border-left: 8px solid var(--deprecated-color-hl); + color: var(--deprecated-color-text); +} + +dl.deprecated dt a { + color: var(--deprecated-color-hl) !important; +} + +dl.note dd, dl.warning dd, dl.pre dd, dl.post dd, +dl.remark dd, dl.attention dd, dl.important dd, dl.invariant dd, +dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre, dl.post { + background: var(--invariant-color-bg); + border-left: 8px solid var(--invariant-color-hl); + color: var(--invariant-color-text); +} + +dl.invariant dt, dl.pre dt, dl.post dt { + color: var(--invariant-color-hl); +} + + +#projectrow +{ + height: 56px; +} + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; + padding-left: 0.5em; +} + +#projectname +{ + font-size: 200%; + font-family: var(--font-family-title); + margin: 0; + padding: 0; +} + +#side-nav #projectname +{ + font-size: 130%; +} + +#projectbrief +{ + font-size: 90%; + font-family: var(--font-family-title); + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font-size: 50%; + font-family: var(--font-family-title); + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0 0 0 5px; + margin: 0px; + border-bottom: 1px solid var(--title-separator-color); + background-color: var(--title-background-color); +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:var(--citation-label-color); + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; + font: 10px/1.2 var(--font-family-toc); + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 var(--font-family-toc); + color: var(--toc-header-color); + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li[class^='level'] { + margin-left: 15px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.empty { + background-image: none; + margin-top: 0px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +span.obfuscator { + display: none; +} + +.inherit_header { + font-weight: 400; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0 2px 0; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 12px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + color: var(--tooltip-foreground-color); + background-color: var(--tooltip-background-color); + backdrop-filter: var(--tooltip-backdrop-filter); + -webkit-backdrop-filter: var(--tooltip-backdrop-filter); + border: 1px solid var(--tooltip-border-color); + border-radius: 4px; + box-shadow: var(--tooltip-shadow); + display: none; + font-size: smaller; + max-width: 80%; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: var(--tooltip-doc-color); + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip a { + color: var(--tooltip-link-color); +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: var(--tooltip-declaration-color); +} + +#powerTip div { + margin: 0px; + padding: 0px; + font-size: 12px; + font-family: var(--font-family-tooltip); + line-height: 16px; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: var(--tooltip-arrow-background-color); + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { + border-top-color: var(--tooltip-border-color); + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: var(--tooltip-arrow-background-color); + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: var(--tooltip-border-color); + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: var(--tooltip-border-color); + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: var(--tooltip-border-color); + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: var(--tooltip-border-color); + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: var(--tooltip-border-color); + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid var(--table-cell-border-color); + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +tt, code, kbd +{ + display: inline-block; +} +tt, code, kbd +{ + vertical-align: top; +} +/* @end */ + +u { + text-decoration: underline; +} + +details>summary { + list-style-type: none; +} + +details > summary::-webkit-details-marker { + display: none; +} + +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; +} + +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; +} + +:root { + scrollbar-width: thin; + scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); +} + +::-webkit-scrollbar { + background-color: var(--scrollbar-background-color); + height: 12px; + width: 12px; +} +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); + border: solid 2px transparent; +} +::-webkit-scrollbar-corner { + background-color: var(--scrollbar-background-color); +} + diff --git a/docs/doxygen.svg b/docs/doxygen.svg new file mode 100644 index 0000000..79a7635 --- /dev/null +++ b/docs/doxygen.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/doxygen_crawl.html b/docs/doxygen_crawl.html new file mode 100644 index 0000000..2a9b3ef --- /dev/null +++ b/docs/doxygen_crawl.html @@ -0,0 +1,14 @@ + + + +Validator / crawler helper + + + + + + + + + + diff --git a/docs/dynsections.js b/docs/dynsections.js new file mode 100644 index 0000000..d89724e --- /dev/null +++ b/docs/dynsections.js @@ -0,0 +1,198 @@ +/* + @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.slideUp('fast'); + summary.show(); + $(linkObj).find('.arrowhead').addClass('closed').removeClass('opened'); + } else { + content.slideDown('fast'); + summary.hide(); + $(linkObj).find('.arrowhead').removeClass('closed').addClass('opened'); + } + 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'); + // add vertical lines to other rows + $('span[class=lineno]').not(':eq(0)').append(''); + // 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(''); + // append div for folded (closed) representation + $(this).after(''); + // 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]').addClass('plus').removeClass('minus'); + // append ellipsis + $(line).append(' '+start+''+end); + // insert constructed line into closed div + $('#foldclosed'+id).html(line); + }); + }, +}; +/* @license-end */ +$(function() { + $('.code,.codeRef').each(function() { + $(this).data('powertip',$('#a'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html()); + $.fn.powerTip.smartPlacementLists.s = [ 's', 'n', 'ne', 'se' ]; + $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true }); + }); +}); diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..b5663f7 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,106 @@ + + + + + + + +Flow: Main Page + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Flow +
+
Documentation for the Flow C++ Library
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Flow Documentation
+
+
+ +
+
+
+ + + + diff --git a/docs/jquery.js b/docs/jquery.js new file mode 100644 index 0000000..875ada7 --- /dev/null +++ b/docs/jquery.js @@ -0,0 +1,204 @@ +/*! 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+~]|"+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?"�":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="",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="";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":{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:\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)[^>]*|#([\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\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="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_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",""]);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\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").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="
",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").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",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=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.widthx(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?0n?0=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").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"),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),st.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").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.maxWidthd,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=f[g]?0:Math.min(f[g],n));!a&&1-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",{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.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){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=$("").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=$('
').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",$([$('')[0],$('')[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.y0;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"},$}); diff --git a/docs/menu.js b/docs/menu.js new file mode 100644 index 0000000..15f9c52 --- /dev/null +++ b/docs/menu.js @@ -0,0 +1,131 @@ +/* + @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+='
    '; + 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+='
  • '+ + data.children[i].text+''+ + makeTree(data.children[i],relPath)+'
  • '; + } + result+='
'; + } + return result; + } + let searchBoxHtml; + if (searchEnabled) { + if (serverSide) { + searchBoxHtml='
'+ + '
'+ + '
'+ + ''+ + '
'+ + '
'+ + '
'+ + '
'; + } else { + searchBoxHtml='
'+ + ''+ + ''+ + ''+ + ''+ + ''+ + '
'+ + '
'+ + '
'; + } + } + + $('#main-nav').before('
'+ + ''+ + ''+ + '
'); + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + $('#main-menu').append('
  • '); + 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 */ diff --git a/docs/menudata.js b/docs/menudata.js new file mode 100644 index 0000000..d1ece13 --- /dev/null +++ b/docs/menudata.js @@ -0,0 +1,26 @@ +/* + @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"}]} diff --git a/docs/navtree.css b/docs/navtree.css new file mode 100644 index 0000000..0ea3a07 --- /dev/null +++ b/docs/navtree.css @@ -0,0 +1,327 @@ +#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:0; + padding:0; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + position: relative; + background-color: var(--nav-menu-active-bg); + border-radius: 0 6px 6px 0; + /*margin-right: 5px;*/ +} + +#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); + line-height: 22px; +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + color:var(--page-link-color); +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin: 0 6px 0 -5px; + padding: 0 0 0 5px; + height: 22px; +} + +#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; + overflow : hidden; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + transition: opacity 0.5s ease; + background-color: var(--nav-splitbar-bg-color); + opacity:0; + cursor:col-resize; + height:100%; + right:0; + top:0; + width:6px; + position: relative; +} + +.ui-resizable-e:after { + content: ''; + display: block; + top: 50%; + left: 1px; + width: 2px; + height: 15px; + border-left: 1px solid var(--nav-splitbar-handle-color); + border-right: 1px solid var(--nav-splitbar-handle-color); + position: absolute; +} + +.ui-resizable-e:hover { + opacity: 1; +} + +.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-color: var(--nav-background-color); + -webkit-overflow-scrolling : touch; /* iOS 5+ */ + scrollbar-width: thin; + border-right: 1px solid var(--nav-border-color); + padding-left: 5px; +} + +#nav-sync { + position:absolute; + top:0px; + right:0px; + z-index:1; +} + +#nav-sync img { + opacity:0.3; +} + +div.nav-sync-icon { + position: relative; + width: 24px; + height: 17px; + left: -6px; + top: -1px; + opacity: 0.7; + display: inline-block; + background-color: var(--sync-icon-background-color); + border: 1px solid var(--sync-icon-border-color); + box-sizing: content-box; +} + +div.nav-sync-icon:hover { + background-color: var(--sync-icon-selected-background-color); + opacity: 1.0; +} + +div.nav-sync-icon.active:after { + content: ''; + background-color: var(--sync-icon-background-color); + border-top: 2px solid var(--sync-icon-color); + position: absolute; + width: 16px; + height: 0px; + top: 7px; + left: 4px; +} + +div.nav-sync-icon.active:hover:after { + border-top: 2px solid var(--sync-icon-selected-color); +} + +span.sync-icon-left { + position: absolute; + padding: 0; + margin: 0; + top: 3px; + left: 4px; + display: inline-block; + width: 8px; + height: 8px; + border-left: 2px solid var(--sync-icon-color); + border-top: 2px solid var(--sync-icon-color); + transform: rotate(-45deg); +} + +span.sync-icon-right { + position: absolute; + padding: 0; + margin: 0; + top: 3px; + left: 10px; + display: inline-block; + width: 8px; + height: 8px; + border-right: 2px solid var(--sync-icon-color); + border-bottom: 2px solid var(--sync-icon-color); + transform: rotate(-45deg); +} + +div.nav-sync-icon:hover span.sync-icon-left { + border-left: 2px solid var(--sync-icon-selected-color); + border-top: 2px solid var(--sync-icon-selected-color); +} + +div.nav-sync-icon:hover span.sync-icon-right { + border-right: 2px solid var(--sync-icon-selected-color); + border-bottom: 2px solid var(--sync-icon-selected-color); +} + +#nav-path ul { + border-top: 1px solid var(--nav-breadcrumb-separator-color); +} + +@media print +{ + #nav-tree { display: none; } + div.ui-resizable-handle { display: none; position: relative; } +} + +/*---------------------------*/ +#container { + display: grid; + grid-template-columns: auto auto; + overflow: hidden; +} + +#page-nav { + background: var(--nav-background-color); + display: block; + width: 250px; + box-sizing: content-box; + position: relative; + border-left: 1px solid var(--nav-border-color); +} + +#page-nav-tree { + display: inline-block; +} + +#page-nav-resize-handle { + transition: opacity 0.5s ease; + background-color: var(--nav-splitbar-bg-color); + opacity:0; + cursor:col-resize; + height:100%; + right:0; + top:0; + width:6px; + position: relative; + z-index: 1; + user-select: none; +} + +#page-nav-resize-handle:after { + content: ''; + display: block; + top: 50%; + left: 1px; + width: 2px; + height: 15px; + border-left: 1px solid var(--nav-splitbar-handle-color); + border-right: 1px solid var(--nav-splitbar-handle-color); + position: absolute; +} + +#page-nav-resize-handle.dragging, +#page-nav-resize-handle:hover { + opacity: 1; +} + +#page-nav-contents { + padding: 0; + margin: 0; + display: block; + top: 0; + left: 0; + height: 100%; + width: 100%; + position: absolute; + overflow: auto; + scrollbar-width: thin; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +ul.page-outline, +ul.page-outline ul { + text-indent: 0; + list-style: none outside none; + padding: 0 0 0 4px; +} + +ul.page-outline { + margin: 0 4px 4px 6px; +} + +ul.page-outline div.item { + font: 12px var(--font-family-nav); + line-height: 22px; +} + +ul.page-outline li { + white-space: nowrap; +} + +ul.page-outline li.vis { + background-color: var(--nav-breadcrumb-active-bg); +} + +#container.resizing { + cursor: col-resize; + user-select: none; +} diff --git a/docs/navtree.js b/docs/navtree.js new file mode 100644 index 0000000..4fcf6e3 --- /dev/null +++ b/docs/navtree.js @@ -0,0 +1,899 @@ +/* + @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 initNavTree(toroot,relpath,allMembersFile) { + let navTreeSubIndices = []; + const ARROW_DOWN = ''; + const ARROW_RIGHT = ''; + const NAVPATH_COOKIE_NAME = ''+'navpath'; + const fullSidebar = typeof page_layout!=='undefined' && page_layout==1; + + function getScrollBarWidth () { + let outer = $('
    ').css({visibility: 'hidden', width: 100, overflow: 'scroll', scrollbarWidth: 'thin'}).appendTo('body'); + let widthWithScroll = $('
    ').css({width: '100%'}).appendTo(outer).outerWidth(); + outer.remove(); + return 100 - widthWithScroll; + } + const scrollbarWidth = getScrollBarWidth(); + + function adjustSyncIconPosition() { + if (!fullSidebar) { + const nt = document.getElementById("nav-tree"); + const hasVerticalScrollbar = nt.scrollHeight > nt.clientHeight; + $("#nav-sync").css({right:parseInt(hasVerticalScrollbar?scrollbarWidth:0)}); + } + } + + const getData = function(varName) { + const i = varName.lastIndexOf('/'); + const n = i>=0 ? varName.substring(i+1) : varName; + const e = n.replace(/-/g,'_'); + return window[e]; + } + + const stripPath = function(uri) { + return uri.substring(uri.lastIndexOf('/')+1); + } + + const stripPath2 = function(uri) { + const i = uri.lastIndexOf('/'); + const s = uri.substring(i+1); + const m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; + } + + const hashValue = function() { + return $(location).attr('hash').substring(1).replace(/[^\w-]/g,''); + } + + const hashUrl = function() { + return '#'+hashValue(); + } + + const pathName = function() { + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;()]/g, ''); + } + + const storeLink = function(link) { + if (!$("#nav-sync").hasClass('sync')) { + Cookie.writeSetting(NAVPATH_COOKIE_NAME,link,0); + } + } + + const deleteLink = function() { + Cookie.eraseSetting(NAVPATH_COOKIE_NAME); + } + + const cachedLink = function() { + return Cookie.readSetting(NAVPATH_COOKIE_NAME,''); + } + + const getScript = function(scriptName,func) { + const head = document.getElementsByTagName("head")[0]; + const script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = function() { func(); adjustSyncIconPosition(); } + script.src = scriptName+'.js'; + head.appendChild(script); + } + + const createIndent = function(o,domNode,node) { + let level=-1; + let n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + const imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=ARROW_RIGHT; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast",adjustSyncIconPosition); + $(node.plus_img.childNodes[0]).removeClass('opened').addClass('closed'); + node.expanded = false; + } else { + expandNode(o, node, false, true); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + let span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } + } + + let animationInProgress = false; + + const gotoAnchor = function(anchor,aname) { + let pos, docContent = $('#doc-content'); + let ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || ancParent.hasClass('memtitle') || + ancParent.hasClass('fieldname') || ancParent.hasClass('fieldtype') || + ancParent.is(':header')) { + pos = ancParent.offset().top; + } else if (anchor.position()) { + pos = anchor.offset().top; + } + if (pos) { + const dcOffset = docContent.offset().top; + const dcHeight = docContent.height(); + const dcScrHeight = docContent[0].scrollHeight + const dcScrTop = docContent.scrollTop(); + let dist = Math.abs(Math.min(pos-dcOffset,dcScrHeight-dcHeight-dcScrTop)); + animationInProgress = true; + docContent.animate({ + scrollTop: pos + dcScrTop - dcOffset + },Math.max(50,Math.min(500,dist)),function() { + animationInProgress=false; + if (anchor.parent().attr('class')=='memItemLeft') { + let rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname') { + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype') { + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } + }); + } + } + + function htmlToNode(html) { + const template = document.createElement('template'); + template.innerHTML = html; + const nNodes = template.content.childNodes.length; + if (nNodes !== 1) { + throw new Error(`html parameter must represent a single node; got ${nNodes}. `); + } + return template.content.firstChild; + } + + const newNode = function(o, po, text, link, childrenData, lastNode) { + const node = { + children : [], + childrenData : childrenData, + depth : po.depth + 1, + relpath : po.relpath, + isLast : lastNode, + li : document.createElement("li"), + parentNode : po, + itemDiv : document.createElement("div"), + labelSpan : document.createElement("span"), + expanded : false, + childrenUL : null, + getChildrenUL : function() { + if (!this.childrenUL) { + this.childrenUL = document.createElement("ul"); + this.childrenUL.className = "children_ul"; + this.childrenUL.style.display = "none"; + this.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }, + }; + + node.itemDiv.className = "item"; + node.labelSpan.className = "label"; + createIndent(o,node.itemDiv,node); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + const a = document.createElement("a"); + node.labelSpan.appendChild(a); + po.getChildrenUL().appendChild(node.li); + a.appendChild(htmlToNode(''+text+'')); + if (link) { + let url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + const aname = '#'+link.split('#')[1]; + const srcPage = stripPath(pathName()); + const targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : aname; + a.onclick = function() { + storeLink(link); + aPPar = $(a).parent().parent(); + if (!aPPar.hasClass('selected')) { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + aPPar.addClass('selected'); + aPPar.attr('id','selected'); + } + const anchor = $(aname); + gotoAnchor(anchor,aname); + }; + } else { + a.href = url; + a.onclick = () => storeLink(link); + } + } else if (childrenData != null) { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + return node; + } + + const showRoot = function() { + const headerHeight = $("#top").height(); + const footerHeight = $("#nav-path").height(); + const windowHeight = $(window).height() - headerHeight - footerHeight; + (function() { // retry until we can scroll to the selected item + try { + const navtree=$('#nav-tree'); + navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); + } + + const expandNode = function(o, node, imm, setFocus) { + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + const varName = node.childrenData; + getScript(node.relpath+varName,function() { + node.childrenData = getData(varName); + expandNode(o, node, imm, setFocus); + }); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).slideDown("fast",adjustSyncIconPosition); + $(node.plus_img.childNodes[0]).addClass('opened').removeClass('closed'); + node.expanded = true; + if (setFocus) { + $(node.expandToggle).focus(); + } + } + } + } + + const glowEffect = function(n,duration) { + n.addClass('glow').delay(duration).queue(function(next) { + $(this).removeClass('glow');next(); + }); + } + + const highlightAnchor = function() { + const aname = hashUrl(); + const anchor = $(aname); + gotoAnchor(anchor,aname); + } + + const selectAndHighlight = function(hash,n) { + let a; + if (hash) { + const link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + let topOffset=5; + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + topOffset+=25; + } + showRoot(); + } + + const showNode = function(o, node, index, hash) { + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + const varName = node.childrenData; + getScript(node.relpath+varName,function() { + node.childrenData = getData(varName); + showNode(o,node,index,hash); + }); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + $(node.plus_img.childNodes[0]).removeClass('closed').addClass('opened'); + node.expanded = true; + const n = node.children[o.breadcrumbs[index]]; + if (index+10) { // try root page without hash as fallback + gotoUrl(o,root,'',relpath); + } else { + o.breadcrumbs = $.extend(true, [], nti); + if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index + navTo(o,NAVTREE[0][1],"",relpath); + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + } + if (o.breadcrumbs) { + o.breadcrumbs.unshift(0); // add 0 for root node + showNode(o, o.node, 0, hash); + } + } + } + + const gotoUrl = function(o,root,hash,relpath) { + const url=root+hash; + let i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function() { + navTreeSubIndices[i] = window['NAVTREEINDEX'+i]; + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + }); + } + } + + const navTo = function(o,root,hash,relpath) { + const link = cachedLink(); + if (link) { + const parts = link.split('#'); + root = parts[0]; + hash = parts.length>1 ? '#'+parts[1].replace(/[^\w-]/g,'') : ''; + } + if (hash.match(/^#l\d+$/)) { + const anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + gotoUrl(o,root,hash,relpath); + } + + const showSyncOff = function(n,relpath) { + n.html(''); + } + + const showSyncOn = function(n,relpath) { + n.html(''); + } + + const o = { + toroot : toroot, + node : { + childrenData : NAVTREE, + children : [], + childrenUL : document.createElement("ul"), + getChildrenUL : function() { return this.childrenUL }, + li : document.getElementById("nav-tree-contents"), + depth : 0, + relpath : relpath, + expanded : false, + isLast : true, + plus_img : document.createElement("span"), + }, + }; + o.node.li.appendChild(o.node.childrenUL); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = ARROW_RIGHT; + + const navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + + navSync.click(() => { + const navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } + }); + + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + + $(window).bind('hashchange', () => { + if (!animationInProgress) { + if (window.location.hash && window.location.hash.length>1) { + let a; + if ($(location).attr('hash')) { + const clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/ try to keep right panel width + const shrinkLeft = Math.min(deficit, leftPanelWidth-minPanelWidth); + leftPanelWidth -= shrinkLeft; + const remainingDeficit = deficit - shrinkLeft; + const shrinkRight = Math.min(remainingDeficit, rightPanelWidth-minPanelWidth); + rightPanelWidth -= shrinkRight; + } else { // dragging right handle -> try to keep left panel width + const shrinkRight = Math.min(deficit, rightPanelWidth-minPanelWidth); + rightPanelWidth -= shrinkRight; + const remainingDeficit = deficit - shrinkRight; + const shrinkLeft = Math.min(remainingDeficit, leftPanelWidth-minPanelWidth); + leftPanelWidth -= shrinkLeft; + } + } else { + rightPanelWidth = pagenav.length ? Math.max(minPanelWidth,rightPanelWidth) : 0; + leftPanelWidth = Math.max(minPanelWidth,leftPanelWidth); + } + return { leftPanelWidth, rightPanelWidth } + } + + function updateWidths(sidenavWidth,pagenavWidth,dragLeft) + { + const widths = constrainPanelWidths(sidenavWidth,pagenavWidth,dragLeft); + const widthStr = parseInt(widths.leftPanelWidth)+"px"; + content.css({marginLeft:widthStr}); + if (fullSidebar) { + footer.css({marginLeft:widthStr}); + if (mainnav) { + mainnav.css({marginLeft:widthStr}); + } + } + sidenav.css({width:widthStr}); + if (pagenav.length) { + container.css({gridTemplateColumns:'auto '+parseInt(widths.rightPanelWidth)+'px'}); + pagenav.css({width:parseInt(widths.rightPanelWidth-1)+'px'}); + } + return widths; + } + + function resizeWidth(dragLeft) { + const sidenavWidth = $(sidenav).outerWidth()-barWidth; + const pagenavWidth = pagenav.length ? $(pagenav).outerWidth() : 0; + const widths = updateWidths(sidenavWidth,pagenavWidth,dragLeft); + Cookie.writeSetting(RESIZE_COOKIE_NAME,widths.leftPanelWidth-barWidth); + if (pagenav.length) { + Cookie.writeSetting(PAGENAV_COOKIE_NAME,widths.rightPanelWidth); + } + } + + function restoreWidth(sidenavWidth,pagenavWidth) { + updateWidths(sidenavWidth,pagenavWidth,false); + showHideNavBar(); + } + + function resizeHeight() { + const headerHeight = header.outerHeight(); + const windowHeight = $(window).height(); + let contentHeight; + const footerHeight = footer.outerHeight(); + let navtreeHeight,sideNavHeight; + if (!fullSidebar) { + contentHeight = windowHeight - headerHeight - footerHeight - 1; + navtreeHeight = contentHeight; + sideNavHeight = contentHeight; + } else if (fullSidebar) { + contentHeight = windowHeight - footerHeight - 1; + navtreeHeight = windowHeight - headerHeight - 1; + sideNavHeight = windowHeight - 1; + if (mainnav) { + contentHeight -= mainnav.outerHeight(); + } + } + navtree.css({height:navtreeHeight + "px"}); + sidenav.css({height:sideNavHeight + "px"}); + content.css({height:contentHeight + "px"}); + resizeWidth(false); + showHideNavBar(); + if (location.hash.slice(1)) { + (document.getElementById(location.hash.slice(1))||document.body).scrollIntoView(); + } + } + + header = $("#top"); + content = $("#doc-content"); + footer = $("#nav-path"); + sidenav = $("#side-nav"); + if (document.getElementById('main-nav')) { + mainnav = $("#main-nav"); + } + navtree = $("#nav-tree"); + pagenav = $("#page-nav"); + container = $("#container"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(true); } }); + $(sidenav).resizable({ minWidth: 0 }); + if (pagenav.length) { + pagehandle = $("#page-nav-resize-handle"); + pagehandle.on('mousedown touchstart',function(e) { + $('body').addClass('resizing'); + pagehandle.addClass('dragging'); + $(document).on('mousemove touchmove',function(e) { + const clientX = e.clientX || e.originalEvent.touches[0].clientX; + let pagenavWidth = container[0].offsetWidth-clientX+barWidth/2; + const sidenavWidth = sidenav.width(); + const widths = constrainPanelWidths(sidenavWidth,pagenavWidth,false); + container.css({gridTemplateColumns:'auto '+parseInt(widths.rightPanelWidth)+'px'}); + pagenav.css({width:parseInt(widths.rightPanelWidth-1)+'px'}); + content.css({marginLeft:parseInt(widths.leftPanelWidth)+'px'}); + Cookie.writeSetting(PAGENAV_COOKIE_NAME,pagenavWidth); + }); + $(document).on('mouseup touchend', function(e) { + $('body').removeClass('resizing'); + pagehandle.removeClass('dragging'); + $(document).off('mousemove mouseup touchmove touchend'); + }); + }); + } else { + container.css({gridTemplateColumns:'auto'}); + } + const width = parseInt(Cookie.readSetting(RESIZE_COOKIE_NAME,250)); + const pagenavWidth = parseInt(Cookie.readSetting(PAGENAV_COOKIE_NAME,250)); + if (width) { restoreWidth(width+barWidth,pagenavWidth); } else { resizeWidth(); } + const url = location.href; + const i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + const _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(window).ready(function() { + let lastWidth = -1; + let lastHeight = -1; + $(window).resize(function() { + const newWidth = $(this).width(), newHeight = $(this).height(); + if (newWidth!=lastWidth || newHeight!=lastHeight) { + resizeHeight(); + navtree_trampoline.updateContentTop(); + lastWidth = newWidth; + lastHeight = newHeight; + } + }); + resizeHeight(); + lastWidth = $(window).width(); + lastHeight = $(window).height(); + content.scroll(function() { + navtree_trampoline.updateContentTop(); + }); + }); + } + + + function initPageToc() { + const topMapping = []; + const toc_contents = $('#page-nav-contents'); + const content=$('
    diff --git a/docs/_binomial_heap_8h_source.html b/docs/_binomial_heap_8h_source.html index 423b7a6..be336b2 100644 --- a/docs/_binomial_heap_8h_source.html +++ b/docs/_binomial_heap_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/BinomialHeap.h Source File +Flow: BinomialHeap.h Source File @@ -378,7 +378,7 @@ diff --git a/docs/_disjoint_set_8h.html b/docs/_disjoint_set_8h.html index e61ba49..61520e8 100644 --- a/docs/_disjoint_set_8h.html +++ b/docs/_disjoint_set_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/DisjointSet.h File Reference +Flow: DisjointSet.h File Reference @@ -114,7 +114,7 @@ diff --git a/docs/_disjoint_set_8h_source.html b/docs/_disjoint_set_8h_source.html index cedd307..a4034b6 100644 --- a/docs/_disjoint_set_8h_source.html +++ b/docs/_disjoint_set_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/DisjointSet.h Source File +Flow: DisjointSet.h Source File @@ -289,7 +289,7 @@ diff --git a/docs/_integer_iterator_8h.html b/docs/_integer_iterator_8h.html index 1763450..70eae6a 100644 --- a/docs/_integer_iterator_8h.html +++ b/docs/_integer_iterator_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/IntegerIterator.h File Reference +Flow: IntegerIterator.h File Reference @@ -362,7 +362,7 @@

    diff --git a/docs/_integer_iterator_8h_source.html b/docs/_integer_iterator_8h_source.html index d6c8145..c99035c 100644 --- a/docs/_integer_iterator_8h_source.html +++ b/docs/_integer_iterator_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/IntegerIterator.h Source File +Flow: IntegerIterator.h Source File @@ -282,7 +282,7 @@ diff --git a/docs/_linked_list_8h.html b/docs/_linked_list_8h.html index de66608..0fcf8ba 100644 --- a/docs/_linked_list_8h.html +++ b/docs/_linked_list_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/LinkedList.h File Reference +Flow: LinkedList.h File Reference @@ -159,7 +159,7 @@

    diff --git a/docs/_linked_list_8h_source.html b/docs/_linked_list_8h_source.html index cbc632b..3117c84 100644 --- a/docs/_linked_list_8h_source.html +++ b/docs/_linked_list_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/LinkedList.h Source File +Flow: LinkedList.h Source File @@ -309,7 +309,7 @@ diff --git a/docs/_p_s_d_a_8h.html b/docs/_p_s_d_a_8h.html index 54d57d0..fda9ea9 100644 --- a/docs/_p_s_d_a_8h.html +++ b/docs/_p_s_d_a_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/PSDA.h File Reference +Flow: PSDA.h File Reference @@ -115,7 +115,7 @@ diff --git a/docs/_p_s_d_a_8h_source.html b/docs/_p_s_d_a_8h_source.html index 661faaa..5609c8f 100644 --- a/docs/_p_s_d_a_8h_source.html +++ b/docs/_p_s_d_a_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/PSDA.h Source File +Flow: PSDA.h Source File @@ -309,7 +309,7 @@ diff --git a/docs/_random_meldable_heap_8h.html b/docs/_random_meldable_heap_8h.html index 0f83905..cf5afb4 100644 --- a/docs/_random_meldable_heap_8h.html +++ b/docs/_random_meldable_heap_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/RandomMeldableHeap.h File Reference +Flow: RandomMeldableHeap.h File Reference @@ -117,7 +117,7 @@ diff --git a/docs/_random_meldable_heap_8h_source.html b/docs/_random_meldable_heap_8h_source.html index fb005bc..8cfac0f 100644 --- a/docs/_random_meldable_heap_8h_source.html +++ b/docs/_random_meldable_heap_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/RandomMeldableHeap.h Source File +Flow: RandomMeldableHeap.h Source File @@ -247,7 +247,7 @@ diff --git a/docs/_segment_tree_8h.html b/docs/_segment_tree_8h.html index abb89ee..4f89d75 100644 --- a/docs/_segment_tree_8h.html +++ b/docs/_segment_tree_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/SegmentTree.h File Reference +Flow: SegmentTree.h File Reference @@ -117,7 +117,7 @@ diff --git a/docs/_segment_tree_8h_source.html b/docs/_segment_tree_8h_source.html index 1fab150..3dd96ff 100644 --- a/docs/_segment_tree_8h_source.html +++ b/docs/_segment_tree_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/SegmentTree.h Source File +Flow: SegmentTree.h Source File @@ -298,7 +298,7 @@ diff --git a/docs/_skip_list_8h.html b/docs/_skip_list_8h.html index da551a9..bd7cb4a 100644 --- a/docs/_skip_list_8h.html +++ b/docs/_skip_list_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/SkipList.h File Reference +Flow: SkipList.h File Reference @@ -121,7 +121,7 @@ diff --git a/docs/_skip_list_8h_source.html b/docs/_skip_list_8h_source.html index acfbb36..1c16ea4 100644 --- a/docs/_skip_list_8h_source.html +++ b/docs/_skip_list_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/SkipList.h Source File +Flow: SkipList.h Source File @@ -379,7 +379,7 @@ diff --git a/docs/_sparse_table_8h.html b/docs/_sparse_table_8h.html index e9eef0c..81c1e98 100644 --- a/docs/_sparse_table_8h.html +++ b/docs/_sparse_table_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/SparseTable.h File Reference +Flow: SparseTable.h File Reference @@ -115,7 +115,7 @@ diff --git a/docs/_sparse_table_8h_source.html b/docs/_sparse_table_8h_source.html index 082b31c..94a42c0 100644 --- a/docs/_sparse_table_8h_source.html +++ b/docs/_sparse_table_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/SparseTable.h Source File +Flow: SparseTable.h Source File @@ -213,7 +213,7 @@ diff --git a/docs/_trie_8h.html b/docs/_trie_8h.html index 7752c89..922dfc6 100644 --- a/docs/_trie_8h.html +++ b/docs/_trie_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/Trie.h File Reference +Flow: Trie.h File Reference @@ -116,7 +116,7 @@ diff --git a/docs/_trie_8h_source.html b/docs/_trie_8h_source.html index 391e06d..441d505 100644 --- a/docs/_trie_8h_source.html +++ b/docs/_trie_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/Trie.h Source File +Flow: Trie.h Source File @@ -269,7 +269,7 @@ diff --git a/docs/benchmark_8h.html b/docs/benchmark_8h.html index 97032e7..b75b3bf 100644 --- a/docs/benchmark_8h.html +++ b/docs/benchmark_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/benchmark.h File Reference +Flow: benchmark.h File Reference @@ -133,7 +133,7 @@ diff --git a/docs/benchmark_8h_source.html b/docs/benchmark_8h_source.html index f47d802..cf77190 100644 --- a/docs/benchmark_8h_source.html +++ b/docs/benchmark_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/benchmark.h Source File +Flow: benchmark.h Source File @@ -465,7 +465,7 @@ diff --git a/docs/class_a_v_l_tree.html b/docs/class_a_v_l_tree.html index c42ed88..a70e137 100644 --- a/docs/class_a_v_l_tree.html +++ b/docs/class_a_v_l_tree.html @@ -698,7 +698,7 @@

    AVLTree.h +
  • AVLTree.h
  • diff --git a/docs/class_a_v_l_tree_1_1_node.html b/docs/class_a_v_l_tree_1_1_node.html index 65f21a7..5200635 100644 --- a/docs/class_a_v_l_tree_1_1_node.html +++ b/docs/class_a_v_l_tree_1_1_node.html @@ -1245,7 +1245,7 @@

    AVLTree.h +
  • AVLTree.h
  • diff --git a/docs/class_binary_heap.html b/docs/class_binary_heap.html index 02e5fcf..0d895dc 100644 --- a/docs/class_binary_heap.html +++ b/docs/class_binary_heap.html @@ -564,7 +564,7 @@

    BinaryHeap.h +
  • BinaryHeap.h
  • diff --git a/docs/class_binomial_heap.html b/docs/class_binomial_heap.html index c97f10c..02ad2b7 100644 --- a/docs/class_binomial_heap.html +++ b/docs/class_binomial_heap.html @@ -830,7 +830,7 @@

    BinomialHeap.h +
  • BinomialHeap.h
  • diff --git a/docs/class_binomial_heap_1_1_flag_tree.html b/docs/class_binomial_heap_1_1_flag_tree.html index 426baf6..bd26426 100644 --- a/docs/class_binomial_heap_1_1_flag_tree.html +++ b/docs/class_binomial_heap_1_1_flag_tree.html @@ -476,7 +476,7 @@

    BinomialHeap.h +
  • BinomialHeap.h
  • diff --git a/docs/class_disjoint_set.html b/docs/class_disjoint_set.html index 9b1ccdc..8fa5ad0 100644 --- a/docs/class_disjoint_set.html +++ b/docs/class_disjoint_set.html @@ -570,7 +570,7 @@

    DisjointSet.h +
  • DisjointSet.h
  • diff --git a/docs/class_integer_iterator.html b/docs/class_integer_iterator.html index 3de29e1..692a856 100644 --- a/docs/class_integer_iterator.html +++ b/docs/class_integer_iterator.html @@ -723,7 +723,7 @@

    IntegerIterator.h +
  • IntegerIterator.h
  • diff --git a/docs/class_linked_list.html b/docs/class_linked_list.html index 9899b5e..e0ccb9a 100644 --- a/docs/class_linked_list.html +++ b/docs/class_linked_list.html @@ -781,7 +781,7 @@

    LinkedList.h +
  • LinkedList.h
  • diff --git a/docs/class_linked_list_1_1_iterator_impl.html b/docs/class_linked_list_1_1_iterator_impl.html index 233c5e6..65ea30e 100644 --- a/docs/class_linked_list_1_1_iterator_impl.html +++ b/docs/class_linked_list_1_1_iterator_impl.html @@ -391,7 +391,7 @@

    LinkedList.h +
  • LinkedList.h
  • diff --git a/docs/class_linked_list_1_1_node.html b/docs/class_linked_list_1_1_node.html index 75a5472..9d47582 100644 --- a/docs/class_linked_list_1_1_node.html +++ b/docs/class_linked_list_1_1_node.html @@ -238,7 +238,7 @@

    LinkedList.h +
  • LinkedList.h
  • diff --git a/docs/class_p_s_d_a.html b/docs/class_p_s_d_a.html index 3a17573..6ef030c 100644 --- a/docs/class_p_s_d_a.html +++ b/docs/class_p_s_d_a.html @@ -617,7 +617,7 @@

    PSDA.h +
  • PSDA.h
  • diff --git a/docs/class_random_meldable_heap.html b/docs/class_random_meldable_heap.html index ba7d2a7..31aa692 100644 --- a/docs/class_random_meldable_heap.html +++ b/docs/class_random_meldable_heap.html @@ -722,7 +722,7 @@

    RandomMeldableHeap.h +
  • RandomMeldableHeap.h
  • diff --git a/docs/class_segment_tree.html b/docs/class_segment_tree.html index ae28454..cf354e9 100644 --- a/docs/class_segment_tree.html +++ b/docs/class_segment_tree.html @@ -485,7 +485,7 @@

    SegmentTree.h +
  • SegmentTree.h
  • diff --git a/docs/class_skip_list.html b/docs/class_skip_list.html index bf90a38..0cc882b 100644 --- a/docs/class_skip_list.html +++ b/docs/class_skip_list.html @@ -873,7 +873,7 @@

    SkipList.h +
  • SkipList.h
  • diff --git a/docs/class_skip_list_1_1_iterator_impl.html b/docs/class_skip_list_1_1_iterator_impl.html index 0af56a4..67387b7 100644 --- a/docs/class_skip_list_1_1_iterator_impl.html +++ b/docs/class_skip_list_1_1_iterator_impl.html @@ -353,7 +353,7 @@

    SkipList.h +
  • SkipList.h
  • diff --git a/docs/class_sparse_table.html b/docs/class_sparse_table.html index 27f7486..ab46e73 100644 --- a/docs/class_sparse_table.html +++ b/docs/class_sparse_table.html @@ -351,7 +351,7 @@

    SparseTable.h +
  • SparseTable.h
  • diff --git a/docs/class_trie.html b/docs/class_trie.html index 5c53664..cee95fc 100644 --- a/docs/class_trie.html +++ b/docs/class_trie.html @@ -491,7 +491,7 @@

    Trie.h +
  • Trie.h
  • diff --git a/docs/class_trie_1_1_node.html b/docs/class_trie_1_1_node.html index d402492..37fabde 100644 --- a/docs/class_trie_1_1_node.html +++ b/docs/class_trie_1_1_node.html @@ -175,7 +175,7 @@

    Trie.h +
  • Trie.h
  • diff --git a/docs/classflow_1_1_arena_memory_resource.html b/docs/classflow_1_1_arena_memory_resource.html index b009c65..5bf49e8 100644 --- a/docs/classflow_1_1_arena_memory_resource.html +++ b/docs/classflow_1_1_arena_memory_resource.html @@ -312,7 +312,7 @@

    flow_arena_memory_resource.h +
  • flow_arena_memory_resource.h
  • diff --git a/docs/classflow_1_1_concurrent_flex_queue.html b/docs/classflow_1_1_concurrent_flex_queue.html index 413465f..2ecc123 100644 --- a/docs/classflow_1_1_concurrent_flex_queue.html +++ b/docs/classflow_1_1_concurrent_flex_queue.html @@ -715,7 +715,7 @@

    flow_concurrent_flex_queue.h +
  • flow_concurrent_flex_queue.h
  • diff --git a/docs/classflow_1_1_concurrent_queue.html b/docs/classflow_1_1_concurrent_queue.html index b0b2325..b769af6 100644 --- a/docs/classflow_1_1_concurrent_queue.html +++ b/docs/classflow_1_1_concurrent_queue.html @@ -721,7 +721,7 @@

    flow_concurrent_queue.h +
  • flow_concurrent_queue.h
  • diff --git a/docs/classflow_1_1_counted_value_view_iterator.html b/docs/classflow_1_1_counted_value_view_iterator.html index 60f0de2..aaa76b5 100644 --- a/docs/classflow_1_1_counted_value_view_iterator.html +++ b/docs/classflow_1_1_counted_value_view_iterator.html @@ -578,7 +578,7 @@

    flow_counted_value_view_iterator.h +
  • flow_counted_value_view_iterator.h
  • diff --git a/docs/classflow_1_1_debug_class.html b/docs/classflow_1_1_debug_class.html index 30b88ea..169b0fd 100644 --- a/docs/classflow_1_1_debug_class.html +++ b/docs/classflow_1_1_debug_class.html @@ -482,7 +482,7 @@

    flow_debug_memory.h +
  • flow_debug_memory.h
  • diff --git a/docs/classflow_1_1_default_memory_resource.html b/docs/classflow_1_1_default_memory_resource.html index dc22b82..dc044f1 100644 --- a/docs/classflow_1_1_default_memory_resource.html +++ b/docs/classflow_1_1_default_memory_resource.html @@ -238,7 +238,7 @@

    flow_default_memory_resource.h +
  • flow_default_memory_resource.h
  • diff --git a/docs/classflow_1_1_memory_resource.html b/docs/classflow_1_1_memory_resource.html index 9ed3b3e..2b5e1e4 100644 --- a/docs/classflow_1_1_memory_resource.html +++ b/docs/classflow_1_1_memory_resource.html @@ -308,7 +308,7 @@

    flow_memory_resource.h +
  • flow_memory_resource.h
  • diff --git a/docs/classflow_1_1_polymorphic_allocator.html b/docs/classflow_1_1_polymorphic_allocator.html index 7921534..2109c86 100644 --- a/docs/classflow_1_1_polymorphic_allocator.html +++ b/docs/classflow_1_1_polymorphic_allocator.html @@ -568,7 +568,7 @@

    flow_polymorphic_allocator.h +
  • flow_polymorphic_allocator.h
  • diff --git a/docs/classflow_1_1_pool_memory_resource.html b/docs/classflow_1_1_pool_memory_resource.html index 7961f6d..d5dc577 100644 --- a/docs/classflow_1_1_pool_memory_resource.html +++ b/docs/classflow_1_1_pool_memory_resource.html @@ -410,7 +410,7 @@

    flow_pool_memory_resource.h +
  • flow_pool_memory_resource.h
  • diff --git a/docs/classflow_1_1_stack_memory_resource.html b/docs/classflow_1_1_stack_memory_resource.html index 3043cba..73fe844 100644 --- a/docs/classflow_1_1_stack_memory_resource.html +++ b/docs/classflow_1_1_stack_memory_resource.html @@ -330,7 +330,7 @@

    flow_stack_memory_resource.h +
  • flow_stack_memory_resource.h
  • diff --git a/docs/classflow_1_1_timer.html b/docs/classflow_1_1_timer.html index d1b4ff5..6d3e03c 100644 --- a/docs/classflow_1_1_timer.html +++ b/docs/classflow_1_1_timer.html @@ -417,7 +417,7 @@

    flow_timer.h +
  • flow_timer.h
  • diff --git a/docs/classflow_1_1_tuple.html b/docs/classflow_1_1_tuple.html index 8ed2500..74deb41 100644 --- a/docs/classflow_1_1_tuple.html +++ b/docs/classflow_1_1_tuple.html @@ -137,7 +137,7 @@

    flow_tuple.h +
  • flow_tuple.h
  • diff --git a/docs/classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html b/docs/classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html index fa5e36d..3b7a4e2 100644 --- a/docs/classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html +++ b/docs/classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html @@ -379,7 +379,7 @@

    flow_tuple.h +
  • flow_tuple.h
  • diff --git a/docs/classflow_1_1_vector.html b/docs/classflow_1_1_vector.html index 351a10b..fc82bab 100644 --- a/docs/classflow_1_1_vector.html +++ b/docs/classflow_1_1_vector.html @@ -2460,7 +2460,7 @@

    flow_vector.h +
  • flow_vector.h
  • diff --git a/docs/doxygen_crawl.html b/docs/doxygen_crawl.html index 31aeff5..ca8a83a 100644 --- a/docs/doxygen_crawl.html +++ b/docs/doxygen_crawl.html @@ -529,12 +529,6 @@ - - - - - - diff --git a/docs/entry_8cpp.html b/docs/entry_8cpp.html index 9f4b6ce..3759888 100644 --- a/docs/entry_8cpp.html +++ b/docs/entry_8cpp.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/entry.cpp File Reference +Flow: entry.cpp File Reference @@ -711,7 +711,7 @@

    diff --git a/docs/entry_8cpp_source.html b/docs/entry_8cpp_source.html index 485cad9..eebf16a 100644 --- a/docs/entry_8cpp_source.html +++ b/docs/entry_8cpp_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/entry.cpp Source File +Flow: entry.cpp Source File @@ -304,7 +304,7 @@ diff --git a/docs/files.html b/docs/files.html index 157f85b..2918cc5 100644 --- a/docs/files.html +++ b/docs/files.html @@ -93,42 +93,36 @@ diff --git a/docs/files_dup.js b/docs/files_dup.js index ee124c3..7b31247 100644 --- a/docs/files_dup.js +++ b/docs/files_dup.js @@ -1,4 +1,32 @@ var files_dup = [ - [ "C:", "dir_e6bb53534ac0e427887cf7a94c0c004e.html", "dir_e6bb53534ac0e427887cf7a94c0c004e" ] + [ "AVLTree.h", "_a_v_l_tree_8h.html", "_a_v_l_tree_8h" ], + [ "benchmark.h", "benchmark_8h.html", "benchmark_8h" ], + [ "BinaryHeap.h", "_binary_heap_8h.html", "_binary_heap_8h" ], + [ "BinomialHeap.h", "_binomial_heap_8h.html", "_binomial_heap_8h" ], + [ "DisjointSet.h", "_disjoint_set_8h.html", "_disjoint_set_8h" ], + [ "entry.cpp", "entry_8cpp.html", "entry_8cpp" ], + [ "flow_arena_memory_resource.h", "flow__arena__memory__resource_8h.html", "flow__arena__memory__resource_8h" ], + [ "flow_concurrent_flex_queue.h", "flow__concurrent__flex__queue_8h.html", "flow__concurrent__flex__queue_8h" ], + [ "flow_concurrent_queue.h", "flow__concurrent__queue_8h.html", "flow__concurrent__queue_8h" ], + [ "flow_counted_value_view_iterator.h", "flow__counted__value__view__iterator_8h.html", "flow__counted__value__view__iterator_8h" ], + [ "flow_debug_memory.h", "flow__debug__memory_8h.html", "flow__debug__memory_8h" ], + [ "flow_default_memory_resource.h", "flow__default__memory__resource_8h.html", "flow__default__memory__resource_8h" ], + [ "flow_memory_algorithm.h", "flow__memory__algorithm_8h.html", "flow__memory__algorithm_8h" ], + [ "flow_memory_resource.h", "flow__memory__resource_8h.html", "flow__memory__resource_8h" ], + [ "flow_polymorphic_allocator.h", "flow__polymorphic__allocator_8h.html", "flow__polymorphic__allocator_8h" ], + [ "flow_pool_memory_resource.h", "flow__pool__memory__resource_8h.html", "flow__pool__memory__resource_8h" ], + [ "flow_random_algorithm.h", "flow__random__algorithm_8h.html", "flow__random__algorithm_8h" ], + [ "flow_stack_memory_resource.h", "flow__stack__memory__resource_8h.html", "flow__stack__memory__resource_8h" ], + [ "flow_timer.h", "flow__timer_8h.html", "flow__timer_8h" ], + [ "flow_tuple.h", "flow__tuple_8h.html", "flow__tuple_8h" ], + [ "flow_vector.h", "flow__vector_8h.html", "flow__vector_8h" ], + [ "IntegerIterator.h", "_integer_iterator_8h.html", "_integer_iterator_8h" ], + [ "LinkedList.h", "_linked_list_8h.html", "_linked_list_8h" ], + [ "PSDA.h", "_p_s_d_a_8h.html", "_p_s_d_a_8h" ], + [ "RandomMeldableHeap.h", "_random_meldable_heap_8h.html", "_random_meldable_heap_8h" ], + [ "SegmentTree.h", "_segment_tree_8h.html", "_segment_tree_8h" ], + [ "SkipList.h", "_skip_list_8h.html", "_skip_list_8h" ], + [ "SparseTable.h", "_sparse_table_8h.html", "_sparse_table_8h" ], + [ "Trie.h", "_trie_8h.html", "_trie_8h" ] ]; \ No newline at end of file diff --git a/docs/flow__arena__memory__resource_8h.html b/docs/flow__arena__memory__resource_8h.html index 802d665..e701f1f 100644 --- a/docs/flow__arena__memory__resource_8h.html +++ b/docs/flow__arena__memory__resource_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_arena_memory_resource.h File Reference +Flow: flow_arena_memory_resource.h File Reference @@ -122,7 +122,7 @@ diff --git a/docs/flow__arena__memory__resource_8h_source.html b/docs/flow__arena__memory__resource_8h_source.html index 43eadba..d0b9ca6 100644 --- a/docs/flow__arena__memory__resource_8h_source.html +++ b/docs/flow__arena__memory__resource_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_arena_memory_resource.h Source File +Flow: flow_arena_memory_resource.h Source File @@ -160,7 +160,7 @@ diff --git a/docs/flow__concurrent__flex__queue_8h.html b/docs/flow__concurrent__flex__queue_8h.html index 0993363..4cafb74 100644 --- a/docs/flow__concurrent__flex__queue_8h.html +++ b/docs/flow__concurrent__flex__queue_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_concurrent_flex_queue.h File Reference +Flow: flow_concurrent_flex_queue.h File Reference @@ -120,7 +120,7 @@ diff --git a/docs/flow__concurrent__flex__queue_8h_source.html b/docs/flow__concurrent__flex__queue_8h_source.html index c57b339..709e5fe 100644 --- a/docs/flow__concurrent__flex__queue_8h_source.html +++ b/docs/flow__concurrent__flex__queue_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_concurrent_flex_queue.h Source File +Flow: flow_concurrent_flex_queue.h Source File @@ -228,7 +228,7 @@ diff --git a/docs/flow__concurrent__queue_8h.html b/docs/flow__concurrent__queue_8h.html index 7c14ebe..d127af3 100644 --- a/docs/flow__concurrent__queue_8h.html +++ b/docs/flow__concurrent__queue_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_concurrent_queue.h File Reference +Flow: flow_concurrent_queue.h File Reference @@ -120,7 +120,7 @@ diff --git a/docs/flow__concurrent__queue_8h_source.html b/docs/flow__concurrent__queue_8h_source.html index 34e63ad..0974185 100644 --- a/docs/flow__concurrent__queue_8h_source.html +++ b/docs/flow__concurrent__queue_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_concurrent_queue.h Source File +Flow: flow_concurrent_queue.h Source File @@ -217,7 +217,7 @@ diff --git a/docs/flow__counted__value__view__iterator_8h.html b/docs/flow__counted__value__view__iterator_8h.html index e002391..a545572 100644 --- a/docs/flow__counted__value__view__iterator_8h.html +++ b/docs/flow__counted__value__view__iterator_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_counted_value_view_iterator.h File Reference +Flow: flow_counted_value_view_iterator.h File Reference @@ -120,7 +120,7 @@ diff --git a/docs/flow__counted__value__view__iterator_8h_source.html b/docs/flow__counted__value__view__iterator_8h_source.html index 33cb450..b571d1a 100644 --- a/docs/flow__counted__value__view__iterator_8h_source.html +++ b/docs/flow__counted__value__view__iterator_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_counted_value_view_iterator.h Source File +Flow: flow_counted_value_view_iterator.h Source File @@ -190,7 +190,7 @@ diff --git a/docs/flow__debug__memory_8h.html b/docs/flow__debug__memory_8h.html index 59f650d..9efce3c 100644 --- a/docs/flow__debug__memory_8h.html +++ b/docs/flow__debug__memory_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_debug_memory.h File Reference +Flow: flow_debug_memory.h File Reference @@ -124,7 +124,7 @@ diff --git a/docs/flow__debug__memory_8h_source.html b/docs/flow__debug__memory_8h_source.html index f2fac8f..110e5bd 100644 --- a/docs/flow__debug__memory_8h_source.html +++ b/docs/flow__debug__memory_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_debug_memory.h Source File +Flow: flow_debug_memory.h Source File @@ -203,7 +203,7 @@ diff --git a/docs/flow__default__memory__resource_8h.html b/docs/flow__default__memory__resource_8h.html index 8f91f21..48a3bc5 100644 --- a/docs/flow__default__memory__resource_8h.html +++ b/docs/flow__default__memory__resource_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_default_memory_resource.h File Reference +Flow: flow_default_memory_resource.h File Reference @@ -118,7 +118,7 @@ diff --git a/docs/flow__default__memory__resource_8h_source.html b/docs/flow__default__memory__resource_8h_source.html index 20021a5..1e3c155 100644 --- a/docs/flow__default__memory__resource_8h_source.html +++ b/docs/flow__default__memory__resource_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_default_memory_resource.h Source File +Flow: flow_default_memory_resource.h Source File @@ -135,7 +135,7 @@ diff --git a/docs/flow__memory__algorithm_8h.html b/docs/flow__memory__algorithm_8h.html index eed877d..4a9ed74 100644 --- a/docs/flow__memory__algorithm_8h.html +++ b/docs/flow__memory__algorithm_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_memory_algorithm.h File Reference +Flow: flow_memory_algorithm.h File Reference @@ -157,7 +157,7 @@ diff --git a/docs/flow__memory__algorithm_8h_source.html b/docs/flow__memory__algorithm_8h_source.html index f2ebead..ff8e463 100644 --- a/docs/flow__memory__algorithm_8h_source.html +++ b/docs/flow__memory__algorithm_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_memory_algorithm.h Source File +Flow: flow_memory_algorithm.h Source File @@ -252,7 +252,7 @@ diff --git a/docs/flow__memory__resource_8h.html b/docs/flow__memory__resource_8h.html index c013109..277a0f0 100644 --- a/docs/flow__memory__resource_8h.html +++ b/docs/flow__memory__resource_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_memory_resource.h File Reference +Flow: flow_memory_resource.h File Reference @@ -118,7 +118,7 @@ diff --git a/docs/flow__memory__resource_8h_source.html b/docs/flow__memory__resource_8h_source.html index 1c61412..6e7f1ee 100644 --- a/docs/flow__memory__resource_8h_source.html +++ b/docs/flow__memory__resource_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_memory_resource.h Source File +Flow: flow_memory_resource.h Source File @@ -133,7 +133,7 @@ diff --git a/docs/flow__polymorphic__allocator_8h.html b/docs/flow__polymorphic__allocator_8h.html index 0c51e48..8aae83f 100644 --- a/docs/flow__polymorphic__allocator_8h.html +++ b/docs/flow__polymorphic__allocator_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_polymorphic_allocator.h File Reference +Flow: flow_polymorphic_allocator.h File Reference @@ -119,7 +119,7 @@ diff --git a/docs/flow__polymorphic__allocator_8h_source.html b/docs/flow__polymorphic__allocator_8h_source.html index 2bed73d..5135709 100644 --- a/docs/flow__polymorphic__allocator_8h_source.html +++ b/docs/flow__polymorphic__allocator_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_polymorphic_allocator.h Source File +Flow: flow_polymorphic_allocator.h Source File @@ -195,7 +195,7 @@ diff --git a/docs/flow__pool__memory__resource_8h.html b/docs/flow__pool__memory__resource_8h.html index 5f66894..92c8629 100644 --- a/docs/flow__pool__memory__resource_8h.html +++ b/docs/flow__pool__memory__resource_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_pool_memory_resource.h File Reference +Flow: flow_pool_memory_resource.h File Reference @@ -122,7 +122,7 @@ diff --git a/docs/flow__pool__memory__resource_8h_source.html b/docs/flow__pool__memory__resource_8h_source.html index caf5bb6..293b0d4 100644 --- a/docs/flow__pool__memory__resource_8h_source.html +++ b/docs/flow__pool__memory__resource_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_pool_memory_resource.h Source File +Flow: flow_pool_memory_resource.h Source File @@ -191,7 +191,7 @@ diff --git a/docs/flow__random__algorithm_8h.html b/docs/flow__random__algorithm_8h.html index e7bb232..733cee7 100644 --- a/docs/flow__random__algorithm_8h.html +++ b/docs/flow__random__algorithm_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_random_algorithm.h File Reference +Flow: flow_random_algorithm.h File Reference @@ -125,7 +125,7 @@ diff --git a/docs/flow__random__algorithm_8h_source.html b/docs/flow__random__algorithm_8h_source.html index 0f3a22f..96d9837 100644 --- a/docs/flow__random__algorithm_8h_source.html +++ b/docs/flow__random__algorithm_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_random_algorithm.h Source File +Flow: flow_random_algorithm.h Source File @@ -131,7 +131,7 @@ diff --git a/docs/flow__stack__memory__resource_8h.html b/docs/flow__stack__memory__resource_8h.html index d82e619..a9f84e9 100644 --- a/docs/flow__stack__memory__resource_8h.html +++ b/docs/flow__stack__memory__resource_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_stack_memory_resource.h File Reference +Flow: flow_stack_memory_resource.h File Reference @@ -123,7 +123,7 @@ diff --git a/docs/flow__stack__memory__resource_8h_source.html b/docs/flow__stack__memory__resource_8h_source.html index 0529ac7..f6c7000 100644 --- a/docs/flow__stack__memory__resource_8h_source.html +++ b/docs/flow__stack__memory__resource_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_stack_memory_resource.h Source File +Flow: flow_stack_memory_resource.h Source File @@ -174,7 +174,7 @@ diff --git a/docs/flow__timer_8h.html b/docs/flow__timer_8h.html index b98ea06..b089009 100644 --- a/docs/flow__timer_8h.html +++ b/docs/flow__timer_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_timer.h File Reference +Flow: flow_timer.h File Reference @@ -120,7 +120,7 @@ diff --git a/docs/flow__timer_8h_source.html b/docs/flow__timer_8h_source.html index 4e50b6f..3ccd01f 100644 --- a/docs/flow__timer_8h_source.html +++ b/docs/flow__timer_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_timer.h Source File +Flow: flow_timer.h Source File @@ -165,7 +165,7 @@ diff --git a/docs/flow__tuple_8h.html b/docs/flow__tuple_8h.html index 6c7ae1d..e64a8d5 100644 --- a/docs/flow__tuple_8h.html +++ b/docs/flow__tuple_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_tuple.h File Reference +Flow: flow_tuple.h File Reference @@ -122,7 +122,7 @@ diff --git a/docs/flow__tuple_8h_source.html b/docs/flow__tuple_8h_source.html index ec6fbfd..3b20d3d 100644 --- a/docs/flow__tuple_8h_source.html +++ b/docs/flow__tuple_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_tuple.h Source File +Flow: flow_tuple.h Source File @@ -231,7 +231,7 @@ diff --git a/docs/flow__vector_8h.html b/docs/flow__vector_8h.html index ad9c6da..0f1d402 100644 --- a/docs/flow__vector_8h.html +++ b/docs/flow__vector_8h.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_vector.h File Reference +Flow: flow_vector.h File Reference @@ -214,7 +214,7 @@

    diff --git a/docs/flow__vector_8h_source.html b/docs/flow__vector_8h_source.html index 1d62f5a..af28940 100644 --- a/docs/flow__vector_8h_source.html +++ b/docs/flow__vector_8h_source.html @@ -5,7 +5,7 @@ -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure/flow_vector.h Source File +Flow: flow_vector.h Source File @@ -824,7 +824,7 @@ diff --git a/docs/navtreedata.js b/docs/navtreedata.js index 4bb23bd..2404cce 100644 --- a/docs/navtreedata.js +++ b/docs/navtreedata.js @@ -63,7 +63,7 @@ var NAVTREEINDEX = "_a_v_l_tree_8h.html", "class_skip_list.html#a21c7073f015a4981aa3db81c68ded678", "classflow_1_1_stack_memory_resource.html#a2ac0250b455868bd79a38da643b421d5", -"functions_e.html" +"functions_func_d.html" ]; var SYNCONMSG = 'click to disable panel synchronization'; diff --git a/docs/navtreeindex0.js b/docs/navtreeindex0.js index 77dee2d..3ad925a 100644 --- a/docs/navtreeindex0.js +++ b/docs/navtreeindex0.js @@ -1,43 +1,43 @@ var NAVTREEINDEX0 = { -"_a_v_l_tree_8h.html":[3,0,0,0,0,0,0,0,0], -"_a_v_l_tree_8h.html#a76967cab25a63e934824292123af3f11":[3,0,0,0,0,0,0,0,0,2], -"_a_v_l_tree_8h_source.html":[3,0,0,0,0,0,0,0,0], -"_binary_heap_8h.html":[3,0,0,0,0,0,0,0,2], -"_binary_heap_8h_source.html":[3,0,0,0,0,0,0,0,2], -"_binomial_heap_8h.html":[3,0,0,0,0,0,0,0,3], -"_binomial_heap_8h.html#a080b14fe6bf44d72a8a6375737b04afe":[3,0,0,0,0,0,0,0,3,2], -"_binomial_heap_8h_source.html":[3,0,0,0,0,0,0,0,3], -"_disjoint_set_8h.html":[3,0,0,0,0,0,0,0,4], -"_disjoint_set_8h_source.html":[3,0,0,0,0,0,0,0,4], -"_integer_iterator_8h.html":[3,0,0,0,0,0,0,0,21], -"_integer_iterator_8h.html#a1ebc1ff765720e19d58d1c76e97ac834":[3,0,0,0,0,0,0,0,21,3], -"_integer_iterator_8h.html#a1f445326bfda08a05374bc6cc126d1b3":[3,0,0,0,0,0,0,0,21,5], -"_integer_iterator_8h.html#a2d01915418a019c865bc1ca859a4a729":[3,0,0,0,0,0,0,0,21,1], -"_integer_iterator_8h.html#a307d23867c9739936366ebffa5b201b6":[3,0,0,0,0,0,0,0,21,7], -"_integer_iterator_8h.html#a567b077d8273c4b7b6e1625b067b7a3f":[3,0,0,0,0,0,0,0,21,6], -"_integer_iterator_8h.html#a9b8dbd59313ef9521037921be6a46f6c":[3,0,0,0,0,0,0,0,21,4], -"_integer_iterator_8h.html#ac3c013959186634bbd449e96dc5b2154":[3,0,0,0,0,0,0,0,21,8], -"_integer_iterator_8h.html#ae17acb20b08400f477465027001fadfd":[3,0,0,0,0,0,0,0,21,2], -"_integer_iterator_8h_source.html":[3,0,0,0,0,0,0,0,21], -"_linked_list_8h.html":[3,0,0,0,0,0,0,0,22], -"_linked_list_8h.html#ad7051d446f1c1dcc709eaaeeac83367e":[3,0,0,0,0,0,0,0,22,3], -"_linked_list_8h_source.html":[3,0,0,0,0,0,0,0,22], -"_p_s_d_a_8h.html":[3,0,0,0,0,0,0,0,23], -"_p_s_d_a_8h_source.html":[3,0,0,0,0,0,0,0,23], -"_random_meldable_heap_8h.html":[3,0,0,0,0,0,0,0,24], -"_random_meldable_heap_8h_source.html":[3,0,0,0,0,0,0,0,24], -"_segment_tree_8h.html":[3,0,0,0,0,0,0,0,25], -"_segment_tree_8h_source.html":[3,0,0,0,0,0,0,0,25], -"_skip_list_8h.html":[3,0,0,0,0,0,0,0,26], -"_skip_list_8h_source.html":[3,0,0,0,0,0,0,0,26], -"_sparse_table_8h.html":[3,0,0,0,0,0,0,0,27], -"_sparse_table_8h_source.html":[3,0,0,0,0,0,0,0,27], -"_trie_8h.html":[3,0,0,0,0,0,0,0,28], -"_trie_8h_source.html":[3,0,0,0,0,0,0,0,28], +"_a_v_l_tree_8h.html":[3,0,0], +"_a_v_l_tree_8h.html#a76967cab25a63e934824292123af3f11":[3,0,0,2], +"_a_v_l_tree_8h_source.html":[3,0,0], +"_binary_heap_8h.html":[3,0,2], +"_binary_heap_8h_source.html":[3,0,2], +"_binomial_heap_8h.html":[3,0,3], +"_binomial_heap_8h.html#a080b14fe6bf44d72a8a6375737b04afe":[3,0,3,2], +"_binomial_heap_8h_source.html":[3,0,3], +"_disjoint_set_8h.html":[3,0,4], +"_disjoint_set_8h_source.html":[3,0,4], +"_integer_iterator_8h.html":[3,0,21], +"_integer_iterator_8h.html#a1ebc1ff765720e19d58d1c76e97ac834":[3,0,21,3], +"_integer_iterator_8h.html#a1f445326bfda08a05374bc6cc126d1b3":[3,0,21,5], +"_integer_iterator_8h.html#a2d01915418a019c865bc1ca859a4a729":[3,0,21,1], +"_integer_iterator_8h.html#a307d23867c9739936366ebffa5b201b6":[3,0,21,7], +"_integer_iterator_8h.html#a567b077d8273c4b7b6e1625b067b7a3f":[3,0,21,6], +"_integer_iterator_8h.html#a9b8dbd59313ef9521037921be6a46f6c":[3,0,21,4], +"_integer_iterator_8h.html#ac3c013959186634bbd449e96dc5b2154":[3,0,21,8], +"_integer_iterator_8h.html#ae17acb20b08400f477465027001fadfd":[3,0,21,2], +"_integer_iterator_8h_source.html":[3,0,21], +"_linked_list_8h.html":[3,0,22], +"_linked_list_8h.html#ad7051d446f1c1dcc709eaaeeac83367e":[3,0,22,3], +"_linked_list_8h_source.html":[3,0,22], +"_p_s_d_a_8h.html":[3,0,23], +"_p_s_d_a_8h_source.html":[3,0,23], +"_random_meldable_heap_8h.html":[3,0,24], +"_random_meldable_heap_8h_source.html":[3,0,24], +"_segment_tree_8h.html":[3,0,25], +"_segment_tree_8h_source.html":[3,0,25], +"_skip_list_8h.html":[3,0,26], +"_skip_list_8h_source.html":[3,0,26], +"_sparse_table_8h.html":[3,0,27], +"_sparse_table_8h_source.html":[3,0,27], +"_trie_8h.html":[3,0,28], +"_trie_8h_source.html":[3,0,28], "annotated.html":[2,0], -"benchmark_8h.html":[3,0,0,0,0,0,0,0,1], -"benchmark_8h_source.html":[3,0,0,0,0,0,0,0,1], +"benchmark_8h.html":[3,0,1], +"benchmark_8h_source.html":[3,0,1], "class_a_v_l_tree.html":[2,0,2], "class_a_v_l_tree.html#a139a6afe3bff1f5c61026e0ede7fb3ca":[2,0,2,7], "class_a_v_l_tree.html#a14c1e8c04a3b932d973f30351b909269":[2,0,2,3], diff --git a/docs/navtreeindex2.js b/docs/navtreeindex2.js index 2ba91da..7142579 100644 --- a/docs/navtreeindex2.js +++ b/docs/navtreeindex2.js @@ -178,76 +178,76 @@ var NAVTREEINDEX2 = "conceptflow_1_1_growth_strategy.html":[0,0,1,15], "conceptflow_1_1_growth_strategy.html":[1,0,0], "concepts.html":[1], -"dir_2bf9cfef911dca37b033b0d6ce7271ec.html":[3,0,0,0,0], -"dir_31507993e2ed204ca3de8c6b969055d2.html":[3,0,0,0,0,0,0], -"dir_6ae9e9d58c57a28cb7f41442a9d214b1.html":[3,0,0,0,0,0], -"dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html":[3,0,0,0], -"dir_d83a4b0ac84c837c2d3f12a083c2a517.html":[3,0,0,0,0,0,0,0], -"dir_e6bb53534ac0e427887cf7a94c0c004e.html":[3,0,0], -"entry_8cpp.html":[3,0,0,0,0,0,0,0,5], -"entry_8cpp.html#a090e14ab721404d80f4404634d5c79cc":[3,0,0,0,0,0,0,0,5,9], -"entry_8cpp.html#a254d32383658e016368673396e7afc1b":[3,0,0,0,0,0,0,0,5,16], -"entry_8cpp.html#a307ecdbe3be2ca5ba5217f1450d35bde":[3,0,0,0,0,0,0,0,5,19], -"entry_8cpp.html#a43cfe84261f255686df473504c173ef0":[3,0,0,0,0,0,0,0,5,1], -"entry_8cpp.html#a53c0feeffc184aa8c0637ec715223467":[3,0,0,0,0,0,0,0,5,3], -"entry_8cpp.html#a53d416bb2597358966c72d41c768caa8":[3,0,0,0,0,0,0,0,5,24], -"entry_8cpp.html#a65cf28726f89e62ccf2f1354bc2716df":[3,0,0,0,0,0,0,0,5,14], -"entry_8cpp.html#a66e1d499241ccae9a18a20a1f4f0590d":[3,0,0,0,0,0,0,0,5,15], -"entry_8cpp.html#a6e18372eace65469d9b4c96861b23e08":[3,0,0,0,0,0,0,0,5,11], -"entry_8cpp.html#a72aa87788a81217aa01baec3274ab9ea":[3,0,0,0,0,0,0,0,5,22], -"entry_8cpp.html#a7b694a75ff447e1f9de4c034dd6f6c45":[3,0,0,0,0,0,0,0,5,21], -"entry_8cpp.html#a7bd47470ea83b5e8ffd35364a4cc6089":[3,0,0,0,0,0,0,0,5,23], -"entry_8cpp.html#a7f659c0035c3d1439ff60d68ad7692b9":[3,0,0,0,0,0,0,0,5,10], -"entry_8cpp.html#a917e58b0692c2df778a27350534cbfe7":[3,0,0,0,0,0,0,0,5,13], -"entry_8cpp.html#a979f40b9b785d8c4f528f3c7aa7f9a32":[3,0,0,0,0,0,0,0,5,17], -"entry_8cpp.html#aa9061c03e78b5c69a2e90542f956b1b9":[3,0,0,0,0,0,0,0,5,6], -"entry_8cpp.html#abc2f107791bd7c1d49ecf0f168c085a3":[3,0,0,0,0,0,0,0,5,5], -"entry_8cpp.html#ac09fa47991b07a86112d75ab38c702a2":[3,0,0,0,0,0,0,0,5,20], -"entry_8cpp.html#acffcbd3ff75ad5ede4ed67cfac03e397":[3,0,0,0,0,0,0,0,5,25], -"entry_8cpp.html#ad34d88453d37b65a09797bad37f2f527":[3,0,0,0,0,0,0,0,5,4], -"entry_8cpp.html#ae17a3a2e3545f97a4575a5584d84558e":[3,0,0,0,0,0,0,0,5,2], -"entry_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[3,0,0,0,0,0,0,0,5,18], -"entry_8cpp.html#ae72e52134285dbd83ca4227ec77394a2":[3,0,0,0,0,0,0,0,5,8], -"entry_8cpp.html#aec4a1429cc91fb7ff41599b263c348cc":[3,0,0,0,0,0,0,0,5,7], -"entry_8cpp.html#af50a13c91da0494684407e754257804d":[3,0,0,0,0,0,0,0,5,12], -"entry_8cpp_source.html":[3,0,0,0,0,0,0,0,5], +"entry_8cpp.html":[3,0,5], +"entry_8cpp.html#a090e14ab721404d80f4404634d5c79cc":[3,0,5,9], +"entry_8cpp.html#a254d32383658e016368673396e7afc1b":[3,0,5,16], +"entry_8cpp.html#a307ecdbe3be2ca5ba5217f1450d35bde":[3,0,5,19], +"entry_8cpp.html#a43cfe84261f255686df473504c173ef0":[3,0,5,1], +"entry_8cpp.html#a53c0feeffc184aa8c0637ec715223467":[3,0,5,3], +"entry_8cpp.html#a53d416bb2597358966c72d41c768caa8":[3,0,5,24], +"entry_8cpp.html#a65cf28726f89e62ccf2f1354bc2716df":[3,0,5,14], +"entry_8cpp.html#a66e1d499241ccae9a18a20a1f4f0590d":[3,0,5,15], +"entry_8cpp.html#a6e18372eace65469d9b4c96861b23e08":[3,0,5,11], +"entry_8cpp.html#a72aa87788a81217aa01baec3274ab9ea":[3,0,5,22], +"entry_8cpp.html#a7b694a75ff447e1f9de4c034dd6f6c45":[3,0,5,21], +"entry_8cpp.html#a7bd47470ea83b5e8ffd35364a4cc6089":[3,0,5,23], +"entry_8cpp.html#a7f659c0035c3d1439ff60d68ad7692b9":[3,0,5,10], +"entry_8cpp.html#a917e58b0692c2df778a27350534cbfe7":[3,0,5,13], +"entry_8cpp.html#a979f40b9b785d8c4f528f3c7aa7f9a32":[3,0,5,17], +"entry_8cpp.html#aa9061c03e78b5c69a2e90542f956b1b9":[3,0,5,6], +"entry_8cpp.html#abc2f107791bd7c1d49ecf0f168c085a3":[3,0,5,5], +"entry_8cpp.html#ac09fa47991b07a86112d75ab38c702a2":[3,0,5,20], +"entry_8cpp.html#acffcbd3ff75ad5ede4ed67cfac03e397":[3,0,5,25], +"entry_8cpp.html#ad34d88453d37b65a09797bad37f2f527":[3,0,5,4], +"entry_8cpp.html#ae17a3a2e3545f97a4575a5584d84558e":[3,0,5,2], +"entry_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[3,0,5,18], +"entry_8cpp.html#ae72e52134285dbd83ca4227ec77394a2":[3,0,5,8], +"entry_8cpp.html#aec4a1429cc91fb7ff41599b263c348cc":[3,0,5,7], +"entry_8cpp.html#af50a13c91da0494684407e754257804d":[3,0,5,12], +"entry_8cpp_source.html":[3,0,5], "files.html":[3,0], -"flow__arena__memory__resource_8h.html":[3,0,0,0,0,0,0,0,6], -"flow__arena__memory__resource_8h_source.html":[3,0,0,0,0,0,0,0,6], -"flow__concurrent__flex__queue_8h.html":[3,0,0,0,0,0,0,0,7], -"flow__concurrent__flex__queue_8h_source.html":[3,0,0,0,0,0,0,0,7], -"flow__concurrent__queue_8h.html":[3,0,0,0,0,0,0,0,8], -"flow__concurrent__queue_8h_source.html":[3,0,0,0,0,0,0,0,8], -"flow__counted__value__view__iterator_8h.html":[3,0,0,0,0,0,0,0,9], -"flow__counted__value__view__iterator_8h_source.html":[3,0,0,0,0,0,0,0,9], -"flow__debug__memory_8h.html":[3,0,0,0,0,0,0,0,10], -"flow__debug__memory_8h_source.html":[3,0,0,0,0,0,0,0,10], -"flow__default__memory__resource_8h.html":[3,0,0,0,0,0,0,0,11], -"flow__default__memory__resource_8h_source.html":[3,0,0,0,0,0,0,0,11], -"flow__memory__algorithm_8h.html":[3,0,0,0,0,0,0,0,12], -"flow__memory__algorithm_8h_source.html":[3,0,0,0,0,0,0,0,12], -"flow__memory__resource_8h.html":[3,0,0,0,0,0,0,0,13], -"flow__memory__resource_8h_source.html":[3,0,0,0,0,0,0,0,13], -"flow__polymorphic__allocator_8h.html":[3,0,0,0,0,0,0,0,14], -"flow__polymorphic__allocator_8h_source.html":[3,0,0,0,0,0,0,0,14], -"flow__pool__memory__resource_8h.html":[3,0,0,0,0,0,0,0,15], -"flow__pool__memory__resource_8h_source.html":[3,0,0,0,0,0,0,0,15], -"flow__random__algorithm_8h.html":[3,0,0,0,0,0,0,0,16], -"flow__random__algorithm_8h_source.html":[3,0,0,0,0,0,0,0,16], -"flow__stack__memory__resource_8h.html":[3,0,0,0,0,0,0,0,17], -"flow__stack__memory__resource_8h_source.html":[3,0,0,0,0,0,0,0,17], -"flow__timer_8h.html":[3,0,0,0,0,0,0,0,18], -"flow__timer_8h_source.html":[3,0,0,0,0,0,0,0,18], -"flow__tuple_8h.html":[3,0,0,0,0,0,0,0,19], -"flow__tuple_8h_source.html":[3,0,0,0,0,0,0,0,19], -"flow__vector_8h.html":[3,0,0,0,0,0,0,0,20], -"flow__vector_8h.html#a74b1b9f01e1911a3186769679f74c377":[3,0,0,0,0,0,0,0,20,6], -"flow__vector_8h.html#af06ef3cc2293dbd659cdeb3ef04b94ba":[3,0,0,0,0,0,0,0,20,7], -"flow__vector_8h_source.html":[3,0,0,0,0,0,0,0,20], +"flow__arena__memory__resource_8h.html":[3,0,6], +"flow__arena__memory__resource_8h_source.html":[3,0,6], +"flow__concurrent__flex__queue_8h.html":[3,0,7], +"flow__concurrent__flex__queue_8h_source.html":[3,0,7], +"flow__concurrent__queue_8h.html":[3,0,8], +"flow__concurrent__queue_8h_source.html":[3,0,8], +"flow__counted__value__view__iterator_8h.html":[3,0,9], +"flow__counted__value__view__iterator_8h_source.html":[3,0,9], +"flow__debug__memory_8h.html":[3,0,10], +"flow__debug__memory_8h_source.html":[3,0,10], +"flow__default__memory__resource_8h.html":[3,0,11], +"flow__default__memory__resource_8h_source.html":[3,0,11], +"flow__memory__algorithm_8h.html":[3,0,12], +"flow__memory__algorithm_8h_source.html":[3,0,12], +"flow__memory__resource_8h.html":[3,0,13], +"flow__memory__resource_8h_source.html":[3,0,13], +"flow__polymorphic__allocator_8h.html":[3,0,14], +"flow__polymorphic__allocator_8h_source.html":[3,0,14], +"flow__pool__memory__resource_8h.html":[3,0,15], +"flow__pool__memory__resource_8h_source.html":[3,0,15], +"flow__random__algorithm_8h.html":[3,0,16], +"flow__random__algorithm_8h_source.html":[3,0,16], +"flow__stack__memory__resource_8h.html":[3,0,17], +"flow__stack__memory__resource_8h_source.html":[3,0,17], +"flow__timer_8h.html":[3,0,18], +"flow__timer_8h_source.html":[3,0,18], +"flow__tuple_8h.html":[3,0,19], +"flow__tuple_8h_source.html":[3,0,19], +"flow__vector_8h.html":[3,0,20], +"flow__vector_8h.html#a74b1b9f01e1911a3186769679f74c377":[3,0,20,6], +"flow__vector_8h.html#af06ef3cc2293dbd659cdeb3ef04b94ba":[3,0,20,7], +"flow__vector_8h_source.html":[3,0,20], "functions.html":[2,3,0], "functions.html":[2,3,0,0], "functions_a.html":[2,3,0,1], "functions_b.html":[2,3,0,2], "functions_c.html":[2,3,0,3], -"functions_d.html":[2,3,0,4] +"functions_d.html":[2,3,0,4], +"functions_e.html":[2,3,0,5], +"functions_f.html":[2,3,0,6], +"functions_func.html":[2,3,1], +"functions_func.html":[2,3,1,0], +"functions_func_b.html":[2,3,1,1], +"functions_func_c.html":[2,3,1,2] }; diff --git a/docs/navtreeindex3.js b/docs/navtreeindex3.js index d4c1420..ddb6fae 100644 --- a/docs/navtreeindex3.js +++ b/docs/navtreeindex3.js @@ -1,11 +1,5 @@ var NAVTREEINDEX3 = { -"functions_e.html":[2,3,0,5], -"functions_f.html":[2,3,0,6], -"functions_func.html":[2,3,1], -"functions_func.html":[2,3,1,0], -"functions_func_b.html":[2,3,1,1], -"functions_func_c.html":[2,3,1,2], "functions_func_d.html":[2,3,1,3], "functions_func_e.html":[2,3,1,4], "functions_func_f.html":[2,3,1,5], diff --git a/docs/struct_disjoint_set_1_1_set.html b/docs/struct_disjoint_set_1_1_set.html index df1f03f..526303e 100644 --- a/docs/struct_disjoint_set_1_1_set.html +++ b/docs/struct_disjoint_set_1_1_set.html @@ -161,7 +161,7 @@

    DisjointSet.h +
  • DisjointSet.h
  • diff --git a/docs/struct_random_meldable_heap_1_1_node.html b/docs/struct_random_meldable_heap_1_1_node.html index d526167..6c8b6ce 100644 --- a/docs/struct_random_meldable_heap_1_1_node.html +++ b/docs/struct_random_meldable_heap_1_1_node.html @@ -365,7 +365,7 @@

    RandomMeldableHeap.h +
  • RandomMeldableHeap.h
  • diff --git a/docs/struct_skip_list_1_1_node.html b/docs/struct_skip_list_1_1_node.html index 3980a29..a53e156 100644 --- a/docs/struct_skip_list_1_1_node.html +++ b/docs/struct_skip_list_1_1_node.html @@ -161,7 +161,7 @@

    SkipList.h +
  • SkipList.h
  • diff --git a/docs/struct_skip_list_1_1_tower.html b/docs/struct_skip_list_1_1_tower.html index a58f173..ff2cd04 100644 --- a/docs/struct_skip_list_1_1_tower.html +++ b/docs/struct_skip_list_1_1_tower.html @@ -298,7 +298,7 @@

    SkipList.h +
  • SkipList.h
  • diff --git a/docs/structflow_1_1_concurrent_flex_queue_1_1_node.html b/docs/structflow_1_1_concurrent_flex_queue_1_1_node.html index 57fbdad..7a5d767 100644 --- a/docs/structflow_1_1_concurrent_flex_queue_1_1_node.html +++ b/docs/structflow_1_1_concurrent_flex_queue_1_1_node.html @@ -140,7 +140,7 @@

    flow_concurrent_flex_queue.h +
  • flow_concurrent_flex_queue.h
  • diff --git a/docs/structflow_1_1_pool_memory_resource_1_1_header.html b/docs/structflow_1_1_pool_memory_resource_1_1_header.html index 34a8a85..7cf12b3 100644 --- a/docs/structflow_1_1_pool_memory_resource_1_1_header.html +++ b/docs/structflow_1_1_pool_memory_resource_1_1_header.html @@ -122,7 +122,7 @@

    flow_pool_memory_resource.h +
  • flow_pool_memory_resource.h
  • diff --git a/docs/structflow_1_1_stack_memory_resource_1_1_header.html b/docs/structflow_1_1_stack_memory_resource_1_1_header.html index aeb0b0a..ba25579 100644 --- a/docs/structflow_1_1_stack_memory_resource_1_1_header.html +++ b/docs/structflow_1_1_stack_memory_resource_1_1_header.html @@ -122,7 +122,7 @@

    flow_stack_memory_resource.h +
  • flow_stack_memory_resource.h
  • diff --git a/docs/structflow_1_1_vector_growth_strategy.html b/docs/structflow_1_1_vector_growth_strategy.html index bd33cd3..a346bdd 100644 --- a/docs/structflow_1_1_vector_growth_strategy.html +++ b/docs/structflow_1_1_vector_growth_strategy.html @@ -105,7 +105,7 @@

    Definition at line 18 of file flow_vector.h.


    The documentation for this struct was generated from the following file: diff --git a/docs/structflow_1_1_vector_growth_strategy_1_1_double_expand.html b/docs/structflow_1_1_vector_growth_strategy_1_1_double_expand.html index 0791f65..30c7c2e 100644 --- a/docs/structflow_1_1_vector_growth_strategy_1_1_double_expand.html +++ b/docs/structflow_1_1_vector_growth_strategy_1_1_double_expand.html @@ -134,7 +134,7 @@

    flow_vector.h +
  • flow_vector.h
  • diff --git a/docs/structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html b/docs/structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html index 95c501d..a786012 100644 --- a/docs/structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html +++ b/docs/structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html @@ -185,7 +185,7 @@

    flow_vector.h +
  • flow_vector.h
  • diff --git a/docs/structflow_1_1_vector_growth_strategy_1_1_golden_expand.html b/docs/structflow_1_1_vector_growth_strategy_1_1_golden_expand.html index b5b2283..78ce993 100644 --- a/docs/structflow_1_1_vector_growth_strategy_1_1_golden_expand.html +++ b/docs/structflow_1_1_vector_growth_strategy_1_1_golden_expand.html @@ -134,7 +134,7 @@

    flow_vector.h +
  • flow_vector.h
  • diff --git a/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html b/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html index bd955cd..703decd 100644 --- a/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html +++ b/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html @@ -135,7 +135,7 @@

    entry.cpp +
  • entry.cpp
  • From 037012df7f27f7389ea0fb54e5e708075165f11c Mon Sep 17 00:00:00 2001 From: UnboxTheCat Date: Sun, 20 Jul 2025 21:57:27 -0400 Subject: [PATCH 4/5] Add oxygen documentation. --- Doxyfile | 4 +- .../dir_2bf9cfef911dca37b033b0d6ce7271ec.html | 118 -------------- docs/dir_2bf9cfef911dca37b033b0d6ce7271ec.js | 4 - .../dir_31507993e2ed204ca3de8c6b969055d2.html | 118 -------------- docs/dir_31507993e2ed204ca3de8c6b969055d2.js | 4 - .../dir_6ae9e9d58c57a28cb7f41442a9d214b1.html | 118 -------------- docs/dir_6ae9e9d58c57a28cb7f41442a9d214b1.js | 4 - .../dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html | 118 -------------- docs/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.js | 4 - .../dir_d83a4b0ac84c837c2d3f12a083c2a517.html | 146 ------------------ docs/dir_d83a4b0ac84c837c2d3f12a083c2a517.js | 32 ---- .../dir_e6bb53534ac0e427887cf7a94c0c004e.html | 118 -------------- docs/dir_e6bb53534ac0e427887cf7a94c0c004e.js | 4 - 13 files changed, 2 insertions(+), 790 deletions(-) delete mode 100644 docs/dir_2bf9cfef911dca37b033b0d6ce7271ec.html delete mode 100644 docs/dir_2bf9cfef911dca37b033b0d6ce7271ec.js delete mode 100644 docs/dir_31507993e2ed204ca3de8c6b969055d2.html delete mode 100644 docs/dir_31507993e2ed204ca3de8c6b969055d2.js delete mode 100644 docs/dir_6ae9e9d58c57a28cb7f41442a9d214b1.html delete mode 100644 docs/dir_6ae9e9d58c57a28cb7f41442a9d214b1.js delete mode 100644 docs/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html delete mode 100644 docs/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.js delete mode 100644 docs/dir_d83a4b0ac84c837c2d3f12a083c2a517.html delete mode 100644 docs/dir_d83a4b0ac84c837c2d3f12a083c2a517.js delete mode 100644 docs/dir_e6bb53534ac0e427887cf7a94c0c004e.html delete mode 100644 docs/dir_e6bb53534ac0e427887cf7a94c0c004e.js diff --git a/Doxyfile b/Doxyfile index e8bbdbe..8194f3f 100644 --- a/Doxyfile +++ b/Doxyfile @@ -38,8 +38,8 @@ GENERATE_XML = NO GENERATE_DOCBOOK = NO # --------- Markdown Support --------- -MARKDOWN_SUPPORT = YES -USE_MDFILE_AS_MAINPAGE = +MARKDOWN_SUPPORT = +USE_MDFILE_AS_MAINPAGE = # --------- Warnings --------- WARN_IF_UNDOCUMENTED = YES diff --git a/docs/dir_2bf9cfef911dca37b033b0d6ce7271ec.html b/docs/dir_2bf9cfef911dca37b033b0d6ce7271ec.html deleted file mode 100644 index 7f0904a..0000000 --- a/docs/dir_2bf9cfef911dca37b033b0d6ce7271ec.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - -Flow: C:/Users/evanh Directory Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    evanh Directory Reference
    -
    -
    - - - -

    -Directories

     
    Desktop
    -
    -
    - -
    - - - - diff --git a/docs/dir_2bf9cfef911dca37b033b0d6ce7271ec.js b/docs/dir_2bf9cfef911dca37b033b0d6ce7271ec.js deleted file mode 100644 index 1af7c36..0000000 --- a/docs/dir_2bf9cfef911dca37b033b0d6ce7271ec.js +++ /dev/null @@ -1,4 +0,0 @@ -var dir_2bf9cfef911dca37b033b0d6ce7271ec = -[ - [ "Desktop", "dir_6ae9e9d58c57a28cb7f41442a9d214b1.html", "dir_6ae9e9d58c57a28cb7f41442a9d214b1" ] -]; \ No newline at end of file diff --git a/docs/dir_31507993e2ed204ca3de8c6b969055d2.html b/docs/dir_31507993e2ed204ca3de8c6b969055d2.html deleted file mode 100644 index a5ed254..0000000 --- a/docs/dir_31507993e2ed204ca3de8c6b969055d2.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - -Flow: C:/Users/evanh/Desktop/DataStructure Directory Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    DataStructure Directory Reference
    -
    -
    - - - -

    -Directories

     
    DataStructure
    -
    -
    - -
    - - - - diff --git a/docs/dir_31507993e2ed204ca3de8c6b969055d2.js b/docs/dir_31507993e2ed204ca3de8c6b969055d2.js deleted file mode 100644 index cd37881..0000000 --- a/docs/dir_31507993e2ed204ca3de8c6b969055d2.js +++ /dev/null @@ -1,4 +0,0 @@ -var dir_31507993e2ed204ca3de8c6b969055d2 = -[ - [ "DataStructure", "dir_d83a4b0ac84c837c2d3f12a083c2a517.html", "dir_d83a4b0ac84c837c2d3f12a083c2a517" ] -]; \ No newline at end of file diff --git a/docs/dir_6ae9e9d58c57a28cb7f41442a9d214b1.html b/docs/dir_6ae9e9d58c57a28cb7f41442a9d214b1.html deleted file mode 100644 index 61a0611..0000000 --- a/docs/dir_6ae9e9d58c57a28cb7f41442a9d214b1.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - -Flow: C:/Users/evanh/Desktop Directory Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Desktop Directory Reference
    -
    -
    - - - -

    -Directories

     
    DataStructure
    -
    -
    - -
    - - - - diff --git a/docs/dir_6ae9e9d58c57a28cb7f41442a9d214b1.js b/docs/dir_6ae9e9d58c57a28cb7f41442a9d214b1.js deleted file mode 100644 index 4556019..0000000 --- a/docs/dir_6ae9e9d58c57a28cb7f41442a9d214b1.js +++ /dev/null @@ -1,4 +0,0 @@ -var dir_6ae9e9d58c57a28cb7f41442a9d214b1 = -[ - [ "DataStructure", "dir_31507993e2ed204ca3de8c6b969055d2.html", "dir_31507993e2ed204ca3de8c6b969055d2" ] -]; \ No newline at end of file diff --git a/docs/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html b/docs/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html deleted file mode 100644 index 03f205d..0000000 --- a/docs/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - -Flow: C:/Users Directory Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Users Directory Reference
    -
    -
    - - - -

    -Directories

     
    evanh
    -
    -
    - -
    - - - - diff --git a/docs/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.js b/docs/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.js deleted file mode 100644 index fa54588..0000000 --- a/docs/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.js +++ /dev/null @@ -1,4 +0,0 @@ -var dir_8ceffd4ee35c3518d4e8bdc7e638efe8 = -[ - [ "evanh", "dir_2bf9cfef911dca37b033b0d6ce7271ec.html", "dir_2bf9cfef911dca37b033b0d6ce7271ec" ] -]; \ No newline at end of file diff --git a/docs/dir_d83a4b0ac84c837c2d3f12a083c2a517.html b/docs/dir_d83a4b0ac84c837c2d3f12a083c2a517.html deleted file mode 100644 index 90e8cab..0000000 --- a/docs/dir_d83a4b0ac84c837c2d3f12a083c2a517.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - -Flow: C:/Users/evanh/Desktop/DataStructure/DataStructure Directory Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - - - - - - diff --git a/docs/dir_d83a4b0ac84c837c2d3f12a083c2a517.js b/docs/dir_d83a4b0ac84c837c2d3f12a083c2a517.js deleted file mode 100644 index 8205ec3..0000000 --- a/docs/dir_d83a4b0ac84c837c2d3f12a083c2a517.js +++ /dev/null @@ -1,32 +0,0 @@ -var dir_d83a4b0ac84c837c2d3f12a083c2a517 = -[ - [ "AVLTree.h", "_a_v_l_tree_8h.html", "_a_v_l_tree_8h" ], - [ "benchmark.h", "benchmark_8h.html", "benchmark_8h" ], - [ "BinaryHeap.h", "_binary_heap_8h.html", "_binary_heap_8h" ], - [ "BinomialHeap.h", "_binomial_heap_8h.html", "_binomial_heap_8h" ], - [ "DisjointSet.h", "_disjoint_set_8h.html", "_disjoint_set_8h" ], - [ "entry.cpp", "entry_8cpp.html", "entry_8cpp" ], - [ "flow_arena_memory_resource.h", "flow__arena__memory__resource_8h.html", "flow__arena__memory__resource_8h" ], - [ "flow_concurrent_flex_queue.h", "flow__concurrent__flex__queue_8h.html", "flow__concurrent__flex__queue_8h" ], - [ "flow_concurrent_queue.h", "flow__concurrent__queue_8h.html", "flow__concurrent__queue_8h" ], - [ "flow_counted_value_view_iterator.h", "flow__counted__value__view__iterator_8h.html", "flow__counted__value__view__iterator_8h" ], - [ "flow_debug_memory.h", "flow__debug__memory_8h.html", "flow__debug__memory_8h" ], - [ "flow_default_memory_resource.h", "flow__default__memory__resource_8h.html", "flow__default__memory__resource_8h" ], - [ "flow_memory_algorithm.h", "flow__memory__algorithm_8h.html", "flow__memory__algorithm_8h" ], - [ "flow_memory_resource.h", "flow__memory__resource_8h.html", "flow__memory__resource_8h" ], - [ "flow_polymorphic_allocator.h", "flow__polymorphic__allocator_8h.html", "flow__polymorphic__allocator_8h" ], - [ "flow_pool_memory_resource.h", "flow__pool__memory__resource_8h.html", "flow__pool__memory__resource_8h" ], - [ "flow_random_algorithm.h", "flow__random__algorithm_8h.html", "flow__random__algorithm_8h" ], - [ "flow_stack_memory_resource.h", "flow__stack__memory__resource_8h.html", "flow__stack__memory__resource_8h" ], - [ "flow_timer.h", "flow__timer_8h.html", "flow__timer_8h" ], - [ "flow_tuple.h", "flow__tuple_8h.html", "flow__tuple_8h" ], - [ "flow_vector.h", "flow__vector_8h.html", "flow__vector_8h" ], - [ "IntegerIterator.h", "_integer_iterator_8h.html", "_integer_iterator_8h" ], - [ "LinkedList.h", "_linked_list_8h.html", "_linked_list_8h" ], - [ "PSDA.h", "_p_s_d_a_8h.html", "_p_s_d_a_8h" ], - [ "RandomMeldableHeap.h", "_random_meldable_heap_8h.html", "_random_meldable_heap_8h" ], - [ "SegmentTree.h", "_segment_tree_8h.html", "_segment_tree_8h" ], - [ "SkipList.h", "_skip_list_8h.html", "_skip_list_8h" ], - [ "SparseTable.h", "_sparse_table_8h.html", "_sparse_table_8h" ], - [ "Trie.h", "_trie_8h.html", "_trie_8h" ] -]; \ No newline at end of file diff --git a/docs/dir_e6bb53534ac0e427887cf7a94c0c004e.html b/docs/dir_e6bb53534ac0e427887cf7a94c0c004e.html deleted file mode 100644 index b1d822f..0000000 --- a/docs/dir_e6bb53534ac0e427887cf7a94c0c004e.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - -Flow: C: Directory Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    C: Directory Reference
    -
    -
    - - - -

    -Directories

     
    Users
    -
    -
    - -
    - - - - diff --git a/docs/dir_e6bb53534ac0e427887cf7a94c0c004e.js b/docs/dir_e6bb53534ac0e427887cf7a94c0c004e.js deleted file mode 100644 index c4a728d..0000000 --- a/docs/dir_e6bb53534ac0e427887cf7a94c0c004e.js +++ /dev/null @@ -1,4 +0,0 @@ -var dir_e6bb53534ac0e427887cf7a94c0c004e = -[ - [ "Users", "dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html", "dir_8ceffd4ee35c3518d4e8bdc7e638efe8" ] -]; \ No newline at end of file From 0e966b76d21e7e06716eeae063590ae32b81bc1c Mon Sep 17 00:00:00 2001 From: UnboxTheCat Date: Sun, 20 Jul 2025 22:03:10 -0400 Subject: [PATCH 5/5] Fix documentation. --- Doxyfile | 2 +- docs/_a_v_l_tree_8h.html | 165 --- docs/_a_v_l_tree_8h.js | 6 - docs/_a_v_l_tree_8h_source.html | 713 --------- docs/_binary_heap_8h.html | 121 -- docs/_binary_heap_8h.js | 4 - docs/_binary_heap_8h_source.html | 208 --- docs/_binomial_heap_8h.html | 165 --- docs/_binomial_heap_8h.js | 6 - docs/_binomial_heap_8h_source.html | 386 ----- docs/_disjoint_set_8h.html | 122 -- docs/_disjoint_set_8h.js | 5 - docs/_disjoint_set_8h_source.html | 297 ---- docs/_integer_iterator_8h.html | 370 ----- docs/_integer_iterator_8h.js | 12 - docs/_integer_iterator_8h_source.html | 290 ---- docs/_linked_list_8h.html | 167 --- docs/_linked_list_8h.js | 7 - docs/_linked_list_8h_source.html | 317 ----- docs/_p_s_d_a_8h.html | 123 -- docs/_p_s_d_a_8h.js | 4 - docs/_p_s_d_a_8h_source.html | 317 ----- docs/_random_meldable_heap_8h.html | 125 -- docs/_random_meldable_heap_8h.js | 5 - docs/_random_meldable_heap_8h_source.html | 255 ---- docs/_segment_tree_8h.html | 125 -- docs/_segment_tree_8h.js | 4 - docs/_segment_tree_8h_source.html | 306 ---- docs/_skip_list_8h.html | 129 -- docs/_skip_list_8h.js | 7 - docs/_skip_list_8h_source.html | 387 ----- docs/_sparse_table_8h.html | 123 -- docs/_sparse_table_8h.js | 4 - docs/_sparse_table_8h_source.html | 221 --- docs/_trie_8h.html | 124 -- docs/_trie_8h.js | 5 - docs/_trie_8h_source.html | 277 ---- docs/annotated.html | 24 - docs/annotated_dup.js | 17 +- docs/benchmark_8h.html | 141 -- docs/benchmark_8h.js | 8 - docs/benchmark_8h_source.html | 473 ------ docs/class_a_v_l_tree-members.html | 127 -- docs/class_a_v_l_tree.html | 721 ---------- docs/class_a_v_l_tree.js | 23 - docs/class_a_v_l_tree_1_1_node-members.html | 136 -- docs/class_a_v_l_tree_1_1_node.html | 1268 ----------------- docs/class_a_v_l_tree_1_1_node.js | 31 - docs/class_binary_heap-members.html | 120 -- docs/class_binary_heap.html | 587 -------- docs/class_binary_heap.js | 15 - docs/class_binomial_heap-members.html | 126 -- docs/class_binomial_heap.html | 853 ----------- docs/class_binomial_heap.js | 22 - ...s_binomial_heap_1_1_flag_tree-members.html | 119 -- docs/class_binomial_heap_1_1_flag_tree.html | 499 ------- docs/class_binomial_heap_1_1_flag_tree.js | 14 - docs/class_disjoint_set-members.html | 122 -- docs/class_disjoint_set.html | 593 -------- docs/class_disjoint_set.js | 18 - docs/class_integer_iterator-members.html | 127 -- docs/class_integer_iterator.html | 746 ---------- docs/class_integer_iterator.js | 22 - docs/class_linked_list-members.html | 127 -- docs/class_linked_list.html | 804 ----------- docs/class_linked_list.js | 24 - ...linked_list_1_1_iterator_impl-members.html | 116 -- docs/class_linked_list_1_1_iterator_impl.html | 414 ------ docs/class_linked_list_1_1_iterator_impl.js | 11 - docs/class_linked_list_1_1_node-members.html | 112 -- docs/class_linked_list_1_1_node.html | 261 ---- docs/class_linked_list_1_1_node.js | 7 - docs/class_p_s_d_a-members.html | 125 -- docs/class_p_s_d_a.html | 640 --------- docs/class_p_s_d_a.js | 20 - docs/class_random_meldable_heap-members.html | 125 -- docs/class_random_meldable_heap.html | 745 ---------- docs/class_random_meldable_heap.js | 21 - docs/class_segment_tree-members.html | 117 -- docs/class_segment_tree.html | 508 ------- docs/class_segment_tree.js | 12 - docs/class_skip_list-members.html | 129 -- docs/class_skip_list.html | 896 ------------ docs/class_skip_list.js | 27 - ...s_skip_list_1_1_iterator_impl-members.html | 115 -- docs/class_skip_list_1_1_iterator_impl.html | 376 ----- docs/class_skip_list_1_1_iterator_impl.js | 10 - docs/class_sparse_table-members.html | 114 -- docs/class_sparse_table.html | 374 ----- docs/class_sparse_table.js | 9 - docs/class_trie-members.html | 118 -- docs/class_trie.html | 514 ------- docs/class_trie.js | 14 - docs/class_trie_1_1_node-members.html | 111 -- docs/class_trie_1_1_node.html | 198 --- docs/class_trie_1_1_node.js | 6 - docs/classes.html | 42 +- docs/classflow_1_1_memory_resource.html | 4 - docs/classflow_1_1_timer.html | 6 - docs/classflow_1_1_vector.html | 4 - docs/doxygen_crawl.html | 427 ------ docs/entry_8cpp.html | 719 ---------- docs/entry_8cpp.js | 29 - docs/entry_8cpp_source.html | 312 ---- docs/files.html | 44 +- docs/files_dup.js | 16 +- ...ow__concurrent__flex__queue_8h_source.html | 3 +- docs/flow__debug__memory_8h_source.html | 3 +- docs/flow__tuple_8h_source.html | 3 +- docs/flow__vector_8h_source.html | 3 +- docs/functions.html | 197 ++- docs/functions_a.html | 113 -- docs/functions_b.html | 120 -- docs/functions_c.html | 124 -- docs/functions_d.html | 116 -- docs/functions_dup.js | 27 - docs/functions_e.html | 114 -- docs/functions_f.html | 113 -- docs/functions_func.html | 119 +- docs/functions_func.js | 25 - docs/functions_func_b.html | 113 -- docs/functions_func_c.html | 114 -- docs/functions_func_d.html | 113 -- docs/functions_func_e.html | 114 -- docs/functions_func_f.html | 113 -- docs/functions_func_g.html | 112 -- docs/functions_func_i.html | 112 -- docs/functions_func_k.html | 107 -- docs/functions_func_l.html | 109 -- docs/functions_func_m.html | 111 -- docs/functions_func_n.html | 107 -- docs/functions_func_o.html | 117 -- docs/functions_func_p.html | 122 -- docs/functions_func_q.html | 107 -- docs/functions_func_r.html | 123 -- docs/functions_func_s.html | 112 -- docs/functions_func_t.html | 114 -- docs/functions_func_u.html | 109 -- docs/functions_func_v.html | 108 -- docs/functions_func_w.html | 108 -- docs/functions_func_~.html | 117 -- docs/functions_g.html | 114 -- docs/functions_h.html | 109 -- docs/functions_i.html | 117 -- docs/functions_k.html | 109 -- docs/functions_l.html | 110 -- docs/functions_m.html | 112 -- docs/functions_n.html | 111 -- docs/functions_o.html | 120 -- docs/functions_p.html | 124 -- docs/functions_q.html | 108 -- docs/functions_r.html | 129 -- docs/functions_rela.html | 8 +- docs/functions_s.html | 116 -- docs/functions_t.html | 120 -- docs/functions_type.html | 13 +- docs/functions_u.html | 109 -- docs/functions_v.html | 112 -- docs/functions_vars.html | 51 - docs/functions_w.html | 108 -- docs/functions_~.html | 117 -- docs/globals.html | 74 +- docs/globals_defs.html | 107 -- docs/globals_func.html | 12 +- docs/globals_type.html | 117 -- docs/globals_vars.html | 110 -- docs/hierarchy.html | 67 +- docs/hierarchy.js | 23 - docs/menudata.js | 104 +- docs/namespacebenchmark.html | 609 -------- docs/namespaceflow.html | 2 - docs/namespacemembers.html | 5 - docs/namespacemembers_func.html | 5 - docs/namespaces.html | 4 +- docs/namespaces_dup.js | 10 +- docs/namespacestd.html | 118 -- docs/namespacestd.js | 4 - docs/navtreedata.js | 15 +- docs/navtreeindex0.js | 498 +++---- docs/navtreeindex1.js | 477 +++---- docs/navtreeindex2.js | 253 ---- docs/navtreeindex3.js | 138 -- docs/search/all_0.js | 20 +- docs/search/all_1.js | 17 +- docs/search/all_10.js | 13 +- docs/search/all_11.js | 33 +- docs/search/all_12.js | 21 +- docs/search/all_13.js | 18 +- docs/search/all_14.js | 20 +- docs/search/all_15.js | 10 - docs/search/all_16.js | 5 - docs/search/all_17.js | 14 - docs/search/all_2.js | 36 +- docs/search/all_3.js | 30 +- docs/search/all_4.js | 22 +- docs/search/all_5.js | 28 +- docs/search/all_6.js | 34 +- docs/search/all_7.js | 14 +- docs/search/all_8.js | 9 +- docs/search/all_9.js | 23 +- docs/search/all_a.js | 12 +- docs/search/all_b.js | 15 +- docs/search/all_c.js | 15 +- docs/search/all_d.js | 6 +- docs/search/all_e.js | 28 +- docs/search/all_f.js | 30 +- docs/search/classes_0.js | 3 +- docs/search/classes_1.js | 5 +- docs/search/classes_2.js | 6 +- docs/search/classes_3.js | 5 +- docs/search/classes_4.js | 3 +- docs/search/classes_5.js | 2 +- docs/search/classes_6.js | 3 +- docs/search/classes_7.js | 7 +- docs/search/classes_8.js | 3 +- docs/search/classes_9.js | 2 +- docs/search/classes_a.js | 5 +- docs/search/classes_b.js | 5 +- docs/search/classes_c.js | 4 - docs/search/classes_d.js | 8 - docs/search/classes_e.js | 9 - docs/search/classes_f.js | 5 - docs/search/defines_0.js | 4 - docs/search/defines_1.js | 4 - docs/search/defines_2.js | 4 - docs/search/files_0.js | 16 +- docs/search/files_1.js | 6 - docs/search/files_2.js | 4 - docs/search/files_3.js | 4 - docs/search/files_4.js | 18 - docs/search/files_5.js | 4 - docs/search/files_6.js | 4 - docs/search/files_7.js | 4 - docs/search/files_8.js | 4 - docs/search/files_9.js | 6 - docs/search/files_a.js | 4 - docs/search/functions_0.js | 3 +- docs/search/functions_1.js | 14 +- docs/search/functions_10.js | 12 +- docs/search/functions_11.js | 11 - docs/search/functions_12.js | 14 - docs/search/functions_13.js | 5 - docs/search/functions_14.js | 5 - docs/search/functions_15.js | 14 - docs/search/functions_2.js | 5 +- docs/search/functions_3.js | 13 +- docs/search/functions_4.js | 11 +- docs/search/functions_5.js | 8 +- docs/search/functions_6.js | 7 +- docs/search/functions_7.js | 7 +- docs/search/functions_8.js | 9 +- docs/search/functions_9.js | 9 +- docs/search/functions_a.js | 13 +- docs/search/functions_b.js | 4 +- docs/search/functions_c.js | 21 +- docs/search/functions_d.js | 27 +- docs/search/functions_e.js | 2 +- docs/search/functions_f.js | 18 +- docs/search/namespaces_0.js | 2 +- docs/search/namespaces_1.js | 4 - docs/search/namespaces_2.js | 4 - docs/search/related_0.js | 4 +- docs/search/related_1.js | 2 +- docs/search/related_2.js | 5 +- docs/search/related_3.js | 4 - docs/search/related_4.js | 5 - docs/search/searchdata.js | 25 +- docs/search/typedefs_2.js | 3 +- docs/search/typedefs_3.js | 2 +- docs/search/typedefs_4.js | 4 +- docs/search/typedefs_5.js | 8 +- docs/search/typedefs_6.js | 2 +- docs/search/typedefs_7.js | 5 +- docs/search/typedefs_8.js | 2 +- docs/search/typedefs_9.js | 2 +- docs/search/typedefs_a.js | 4 - docs/search/typedefs_b.js | 7 - docs/search/typedefs_c.js | 4 - docs/search/variables_0.js | 14 +- docs/search/variables_1.js | 6 +- docs/search/variables_10.js | 5 - docs/search/variables_11.js | 8 - docs/search/variables_12.js | 6 - docs/search/variables_2.js | 10 +- docs/search/variables_3.js | 8 +- docs/search/variables_4.js | 4 +- docs/search/variables_5.js | 3 +- docs/search/variables_6.js | 4 +- docs/search/variables_7.js | 5 +- docs/search/variables_8.js | 7 +- docs/search/variables_9.js | 2 +- docs/search/variables_a.js | 2 +- docs/search/variables_b.js | 5 +- docs/search/variables_c.js | 4 +- docs/search/variables_d.js | 3 +- docs/search/variables_e.js | 4 - docs/search/variables_f.js | 8 - docs/struct_disjoint_set_1_1_set-members.html | 111 -- docs/struct_disjoint_set_1_1_set.html | 184 --- docs/struct_disjoint_set_1_1_set.js | 6 - ...random_meldable_heap_1_1_node-members.html | 117 -- .../struct_random_meldable_heap_1_1_node.html | 388 ----- docs/struct_random_meldable_heap_1_1_node.js | 12 - docs/struct_skip_list_1_1_node-members.html | 110 -- docs/struct_skip_list_1_1_node.html | 184 --- docs/struct_skip_list_1_1_node.js | 5 - docs/struct_skip_list_1_1_tower-members.html | 114 -- docs/struct_skip_list_1_1_tower.html | 321 ----- docs/struct_skip_list_1_1_tower.js | 9 - ...pair_3_01_t_00_01_t_01_4_01_4-members.html | 109 -- ...ash_3_01pair_3_01_t_00_01_t_01_4_01_4.html | 158 -- ...1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.js | 4 - 312 files changed, 1190 insertions(+), 31584 deletions(-) delete mode 100644 docs/_a_v_l_tree_8h.html delete mode 100644 docs/_a_v_l_tree_8h.js delete mode 100644 docs/_a_v_l_tree_8h_source.html delete mode 100644 docs/_binary_heap_8h.html delete mode 100644 docs/_binary_heap_8h.js delete mode 100644 docs/_binary_heap_8h_source.html delete mode 100644 docs/_binomial_heap_8h.html delete mode 100644 docs/_binomial_heap_8h.js delete mode 100644 docs/_binomial_heap_8h_source.html delete mode 100644 docs/_disjoint_set_8h.html delete mode 100644 docs/_disjoint_set_8h.js delete mode 100644 docs/_disjoint_set_8h_source.html delete mode 100644 docs/_integer_iterator_8h.html delete mode 100644 docs/_integer_iterator_8h.js delete mode 100644 docs/_integer_iterator_8h_source.html delete mode 100644 docs/_linked_list_8h.html delete mode 100644 docs/_linked_list_8h.js delete mode 100644 docs/_linked_list_8h_source.html delete mode 100644 docs/_p_s_d_a_8h.html delete mode 100644 docs/_p_s_d_a_8h.js delete mode 100644 docs/_p_s_d_a_8h_source.html delete mode 100644 docs/_random_meldable_heap_8h.html delete mode 100644 docs/_random_meldable_heap_8h.js delete mode 100644 docs/_random_meldable_heap_8h_source.html delete mode 100644 docs/_segment_tree_8h.html delete mode 100644 docs/_segment_tree_8h.js delete mode 100644 docs/_segment_tree_8h_source.html delete mode 100644 docs/_skip_list_8h.html delete mode 100644 docs/_skip_list_8h.js delete mode 100644 docs/_skip_list_8h_source.html delete mode 100644 docs/_sparse_table_8h.html delete mode 100644 docs/_sparse_table_8h.js delete mode 100644 docs/_sparse_table_8h_source.html delete mode 100644 docs/_trie_8h.html delete mode 100644 docs/_trie_8h.js delete mode 100644 docs/_trie_8h_source.html delete mode 100644 docs/benchmark_8h.html delete mode 100644 docs/benchmark_8h.js delete mode 100644 docs/benchmark_8h_source.html delete mode 100644 docs/class_a_v_l_tree-members.html delete mode 100644 docs/class_a_v_l_tree.html delete mode 100644 docs/class_a_v_l_tree.js delete mode 100644 docs/class_a_v_l_tree_1_1_node-members.html delete mode 100644 docs/class_a_v_l_tree_1_1_node.html delete mode 100644 docs/class_a_v_l_tree_1_1_node.js delete mode 100644 docs/class_binary_heap-members.html delete mode 100644 docs/class_binary_heap.html delete mode 100644 docs/class_binary_heap.js delete mode 100644 docs/class_binomial_heap-members.html delete mode 100644 docs/class_binomial_heap.html delete mode 100644 docs/class_binomial_heap.js delete mode 100644 docs/class_binomial_heap_1_1_flag_tree-members.html delete mode 100644 docs/class_binomial_heap_1_1_flag_tree.html delete mode 100644 docs/class_binomial_heap_1_1_flag_tree.js delete mode 100644 docs/class_disjoint_set-members.html delete mode 100644 docs/class_disjoint_set.html delete mode 100644 docs/class_disjoint_set.js delete mode 100644 docs/class_integer_iterator-members.html delete mode 100644 docs/class_integer_iterator.html delete mode 100644 docs/class_integer_iterator.js delete mode 100644 docs/class_linked_list-members.html delete mode 100644 docs/class_linked_list.html delete mode 100644 docs/class_linked_list.js delete mode 100644 docs/class_linked_list_1_1_iterator_impl-members.html delete mode 100644 docs/class_linked_list_1_1_iterator_impl.html delete mode 100644 docs/class_linked_list_1_1_iterator_impl.js delete mode 100644 docs/class_linked_list_1_1_node-members.html delete mode 100644 docs/class_linked_list_1_1_node.html delete mode 100644 docs/class_linked_list_1_1_node.js delete mode 100644 docs/class_p_s_d_a-members.html delete mode 100644 docs/class_p_s_d_a.html delete mode 100644 docs/class_p_s_d_a.js delete mode 100644 docs/class_random_meldable_heap-members.html delete mode 100644 docs/class_random_meldable_heap.html delete mode 100644 docs/class_random_meldable_heap.js delete mode 100644 docs/class_segment_tree-members.html delete mode 100644 docs/class_segment_tree.html delete mode 100644 docs/class_segment_tree.js delete mode 100644 docs/class_skip_list-members.html delete mode 100644 docs/class_skip_list.html delete mode 100644 docs/class_skip_list.js delete mode 100644 docs/class_skip_list_1_1_iterator_impl-members.html delete mode 100644 docs/class_skip_list_1_1_iterator_impl.html delete mode 100644 docs/class_skip_list_1_1_iterator_impl.js delete mode 100644 docs/class_sparse_table-members.html delete mode 100644 docs/class_sparse_table.html delete mode 100644 docs/class_sparse_table.js delete mode 100644 docs/class_trie-members.html delete mode 100644 docs/class_trie.html delete mode 100644 docs/class_trie.js delete mode 100644 docs/class_trie_1_1_node-members.html delete mode 100644 docs/class_trie_1_1_node.html delete mode 100644 docs/class_trie_1_1_node.js delete mode 100644 docs/entry_8cpp.html delete mode 100644 docs/entry_8cpp.js delete mode 100644 docs/entry_8cpp_source.html delete mode 100644 docs/functions_a.html delete mode 100644 docs/functions_b.html delete mode 100644 docs/functions_c.html delete mode 100644 docs/functions_d.html delete mode 100644 docs/functions_dup.js delete mode 100644 docs/functions_e.html delete mode 100644 docs/functions_f.html delete mode 100644 docs/functions_func.js delete mode 100644 docs/functions_func_b.html delete mode 100644 docs/functions_func_c.html delete mode 100644 docs/functions_func_d.html delete mode 100644 docs/functions_func_e.html delete mode 100644 docs/functions_func_f.html delete mode 100644 docs/functions_func_g.html delete mode 100644 docs/functions_func_i.html delete mode 100644 docs/functions_func_k.html delete mode 100644 docs/functions_func_l.html delete mode 100644 docs/functions_func_m.html delete mode 100644 docs/functions_func_n.html delete mode 100644 docs/functions_func_o.html delete mode 100644 docs/functions_func_p.html delete mode 100644 docs/functions_func_q.html delete mode 100644 docs/functions_func_r.html delete mode 100644 docs/functions_func_s.html delete mode 100644 docs/functions_func_t.html delete mode 100644 docs/functions_func_u.html delete mode 100644 docs/functions_func_v.html delete mode 100644 docs/functions_func_w.html delete mode 100644 docs/functions_func_~.html delete mode 100644 docs/functions_g.html delete mode 100644 docs/functions_h.html delete mode 100644 docs/functions_i.html delete mode 100644 docs/functions_k.html delete mode 100644 docs/functions_l.html delete mode 100644 docs/functions_m.html delete mode 100644 docs/functions_n.html delete mode 100644 docs/functions_o.html delete mode 100644 docs/functions_p.html delete mode 100644 docs/functions_q.html delete mode 100644 docs/functions_r.html delete mode 100644 docs/functions_s.html delete mode 100644 docs/functions_t.html delete mode 100644 docs/functions_u.html delete mode 100644 docs/functions_v.html delete mode 100644 docs/functions_w.html delete mode 100644 docs/functions_~.html delete mode 100644 docs/globals_defs.html delete mode 100644 docs/globals_type.html delete mode 100644 docs/globals_vars.html delete mode 100644 docs/namespacebenchmark.html delete mode 100644 docs/namespacestd.html delete mode 100644 docs/namespacestd.js delete mode 100644 docs/navtreeindex2.js delete mode 100644 docs/navtreeindex3.js delete mode 100644 docs/search/all_15.js delete mode 100644 docs/search/all_16.js delete mode 100644 docs/search/all_17.js delete mode 100644 docs/search/classes_c.js delete mode 100644 docs/search/classes_d.js delete mode 100644 docs/search/classes_e.js delete mode 100644 docs/search/classes_f.js delete mode 100644 docs/search/defines_0.js delete mode 100644 docs/search/defines_1.js delete mode 100644 docs/search/defines_2.js delete mode 100644 docs/search/files_1.js delete mode 100644 docs/search/files_2.js delete mode 100644 docs/search/files_3.js delete mode 100644 docs/search/files_4.js delete mode 100644 docs/search/files_5.js delete mode 100644 docs/search/files_6.js delete mode 100644 docs/search/files_7.js delete mode 100644 docs/search/files_8.js delete mode 100644 docs/search/files_9.js delete mode 100644 docs/search/files_a.js delete mode 100644 docs/search/functions_11.js delete mode 100644 docs/search/functions_12.js delete mode 100644 docs/search/functions_13.js delete mode 100644 docs/search/functions_14.js delete mode 100644 docs/search/functions_15.js delete mode 100644 docs/search/namespaces_1.js delete mode 100644 docs/search/namespaces_2.js delete mode 100644 docs/search/related_3.js delete mode 100644 docs/search/related_4.js delete mode 100644 docs/search/typedefs_a.js delete mode 100644 docs/search/typedefs_b.js delete mode 100644 docs/search/typedefs_c.js delete mode 100644 docs/search/variables_10.js delete mode 100644 docs/search/variables_11.js delete mode 100644 docs/search/variables_12.js delete mode 100644 docs/search/variables_e.js delete mode 100644 docs/search/variables_f.js delete mode 100644 docs/struct_disjoint_set_1_1_set-members.html delete mode 100644 docs/struct_disjoint_set_1_1_set.html delete mode 100644 docs/struct_disjoint_set_1_1_set.js delete mode 100644 docs/struct_random_meldable_heap_1_1_node-members.html delete mode 100644 docs/struct_random_meldable_heap_1_1_node.html delete mode 100644 docs/struct_random_meldable_heap_1_1_node.js delete mode 100644 docs/struct_skip_list_1_1_node-members.html delete mode 100644 docs/struct_skip_list_1_1_node.html delete mode 100644 docs/struct_skip_list_1_1_node.js delete mode 100644 docs/struct_skip_list_1_1_tower-members.html delete mode 100644 docs/struct_skip_list_1_1_tower.html delete mode 100644 docs/struct_skip_list_1_1_tower.js delete mode 100644 docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4-members.html delete mode 100644 docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html delete mode 100644 docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.js diff --git a/Doxyfile b/Doxyfile index 8194f3f..a3c17cc 100644 --- a/Doxyfile +++ b/Doxyfile @@ -14,7 +14,7 @@ EXTRACT_ANON_NSPACES = YES # --------- Input Settings --------- INPUT = DataStructure/ RECURSIVE = YES -FILE_PATTERNS = *.cpp *.h *.hpp *.cxx *.cc +FILE_PATTERNS = flow_*.cpp flow_*.h flow_*.hpp flow_*.cxx flow_*.cc EXCLUDE = # --------- Source Browsing --------- diff --git a/docs/_a_v_l_tree_8h.html b/docs/_a_v_l_tree_8h.html deleted file mode 100644 index ba54370..0000000 --- a/docs/_a_v_l_tree_8h.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - -Flow: AVLTree.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    AVLTree.h File Reference
    -
    -
    -
    #include <iostream>
    -#include <string>
    -#include <utility>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  AVLTree< T >
    class  AVLTree< T >::Node
    - - - -

    -Functions

    template<typename T>
    void swap (AVLTree< T > &lhs, AVLTree< T > &rhs)
    -

    Function Documentation

    - -

    ◆ swap()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    void swap (AVLTree< T > & lhs,
    AVLTree< T > & rhs )
    -
    - -

    Definition at line 55 of file AVLTree.h.

    -
    55 {
    -
    56 using std::swap;
    -
    57 swap(lhs._size, rhs._size);
    -
    58 swap(lhs.root_, rhs.root_);
    -
    59}
    -
    void swap(AVLTree< T > &lhs, AVLTree< T > &rhs)
    Definition AVLTree.h:55
    -
    int _size
    Definition AVLTree.h:24
    -
    Node * root_
    Definition AVLTree.h:25
    -
    -

    Referenced by AVLTree< T >::operator=(), and AVLTree< T >::swap.

    - -
    -
    -
    -
    - -
    - - - - diff --git a/docs/_a_v_l_tree_8h.js b/docs/_a_v_l_tree_8h.js deleted file mode 100644 index 16fc399..0000000 --- a/docs/_a_v_l_tree_8h.js +++ /dev/null @@ -1,6 +0,0 @@ -var _a_v_l_tree_8h = -[ - [ "AVLTree< T >", "class_a_v_l_tree.html", "class_a_v_l_tree" ], - [ "AVLTree< T >::Node", "class_a_v_l_tree_1_1_node.html", "class_a_v_l_tree_1_1_node" ], - [ "swap", "_a_v_l_tree_8h.html#a76967cab25a63e934824292123af3f11", null ] -]; \ No newline at end of file diff --git a/docs/_a_v_l_tree_8h_source.html b/docs/_a_v_l_tree_8h_source.html deleted file mode 100644 index d9b29e4..0000000 --- a/docs/_a_v_l_tree_8h_source.html +++ /dev/null @@ -1,713 +0,0 @@ - - - - - - - -Flow: AVLTree.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    AVLTree.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    -
    2#include <iostream>
    -
    3#include <string>
    -
    4#include <utility>
    -
    5
    -
    6
    -
    7/*
    -
    8
    -
    9AVL Tree Implementation
    -
    10
    -
    11*/
    -
    12
    -
    13template <typename T>
    -
    14class AVLTree;
    -
    15
    -
    16template <typename T>
    -
    17void swap(AVLTree<T>& lhs, AVLTree<T>& rhs);
    -
    18
    -
    19template <typename T>
    -
    -
    20class AVLTree {
    -
    21
    -
    22 class Node;
    -
    23
    -
    24 int _size;
    - -
    26
    -
    27public:
    -
    28 AVLTree();
    -
    29 AVLTree(const AVLTree& tree);
    -
    30 AVLTree(AVLTree&& tree) noexcept;
    -
    31 ~AVLTree();
    -
    32
    -
    33 AVLTree& operator=(AVLTree rhs) noexcept;
    -
    34
    -
    35 bool Empty() const;
    -
    36 int Size() const;
    -
    37 T* Min();
    -
    38 T* Max();
    -
    39 const T* Min() const;
    -
    40 const T* Max() const;
    -
    41 void Print() const;
    -
    42
    -
    43 T* Find(const T& key);
    -
    44 const T* Find(const T& key) const;
    -
    45
    -
    46 template <typename Arg>
    -
    47 void Push(Arg&& key);
    -
    48 void Erase(const T& key);
    -
    49
    -
    50 friend void swap<T>(AVLTree& lhs, AVLTree& rhs);
    -
    51};
    -
    -
    52
    -
    53
    -
    54template <typename T>
    -
    -
    55void swap(AVLTree<T>& lhs, AVLTree<T>& rhs) {
    -
    56 using std::swap;
    -
    57 swap(lhs._size, rhs._size);
    -
    58 swap(lhs.root_, rhs.root_);
    -
    59}
    -
    -
    60
    -
    61template <typename T>
    -
    62AVLTree<T>::AVLTree() : _size(0), root_(nullptr) {}
    -
    63
    -
    64template <typename T>
    -
    -
    65AVLTree<T>::AVLTree(const AVLTree& tree) : _size(tree._size) {
    -
    66 if (tree.root_) {
    -
    67 root_ = new Node(*tree.root_);
    -
    68 }
    -
    69}
    -
    -
    70
    -
    71template <typename T>
    -
    72AVLTree<T>::AVLTree(AVLTree&& tree) noexcept : _size(tree._size), root_(std::exchange(tree.root_, nullptr)) {}
    -
    73
    -
    74template <typename T>
    -
    - -
    76 delete this->root_;
    -
    77}
    -
    -
    78
    -
    79template <typename T>
    -
    - -
    81 swap(*this, tree);
    -
    82 return *this;
    -
    83}
    -
    -
    84
    -
    85template <typename T>
    -
    -
    86bool AVLTree<T>::Empty() const {
    -
    87 return _size == 0;
    -
    88}
    -
    -
    89
    -
    90template <typename T>
    -
    -
    91int AVLTree<T>::Size() const {
    -
    92 return _size;
    -
    93}
    -
    -
    94
    -
    95template <typename T>
    -
    -
    96const T* AVLTree<T>::Min() const {
    -
    97 return (root_ ? root_->Min() : nullptr);
    -
    98}
    -
    -
    99
    -
    100template <typename T>
    -
    - -
    102 return const_cast<T*>(static_cast<const AVLTree<T>&>(*this).Min());
    -
    103}
    -
    -
    104
    -
    105template <typename T>
    -
    -
    106const T* AVLTree<T>::Max() const {
    -
    107 return (root_ ? root_->Max() : nullptr);
    -
    108}
    -
    -
    109
    -
    110template <typename T>
    -
    - -
    112 return const_cast<T*>(static_cast<const AVLTree<T>&>(*this).Max());
    -
    113}
    -
    -
    114
    -
    115template <typename T>
    -
    -
    116void AVLTree<T>::Print() const {
    -
    117
    -
    118 if (!this->root_) {
    -
    119 std::cout << "Empty Tree\n";
    -
    120 return;
    -
    121 }
    -
    122
    -
    123 int max_depth = 0;
    -
    124 int max_breadth = 0;
    -
    125 std::string graph_str = this->root_->Print(0, max_depth, max_breadth);
    -
    126 std::string line_break(max_depth * 6, '-');
    -
    127
    -
    128 std::cout << '\n'
    -
    129 << graph_str << '\n'
    -
    130 << line_break << '\n'
    -
    131 << "Max Depth: " << max_depth << '\n'
    -
    132 << "Max Breadth: " << max_breadth << '\n';
    -
    133}
    -
    -
    134
    -
    135template <typename T>
    -
    -
    136const T* AVLTree<T>::Find(const T& key) const {
    -
    137 return Node::Find(root_, key);
    -
    138}
    -
    -
    139
    -
    140template <typename T>
    -
    -
    141T* AVLTree<T>::Find(const T& key) {
    -
    142 return const_cast<T*>(static_cast<const AVLTree<T>&>(*this).Find(key));
    -
    143}
    -
    -
    144
    -
    145template <typename T>
    -
    146template <typename Arg>
    -
    -
    147void AVLTree<T>::Push(Arg&& key) {
    -
    148 Node::Push(&root_, root_, std::forward<Arg>(key));
    -
    149}
    -
    -
    150
    -
    151template <typename T>
    -
    -
    152void AVLTree<T>::Erase(const T& key) {
    -
    153 Node::Erase(&root_, root_, key);
    -
    154}
    -
    -
    155
    -
    156
    -
    157
    -
    158
    -
    159
    -
    160
    -
    161
    -
    162
    -
    163/*
    -
    164
    -
    165AVL Tree Node implementation
    -
    166
    -
    167*/
    -
    168
    -
    169
    -
    170template <typename T>
    -
    -
    171class AVLTree<T>::Node {
    -
    172
    -
    173 short height_;
    - - - - -
    178
    -
    179public:
    -
    180 Node(const T& key);
    -
    181 Node(T&& key);
    -
    182 Node(const Node& rhs);
    -
    183 Node(Node&& rhs) noexcept;
    -
    184 ~Node();
    -
    185
    -
    186 Node& operator=(const Node& rhs) = delete;
    -
    187 Node& operator=(Node&& rhs) = delete;
    -
    188
    -
    189 T* Min();
    -
    190 T* Max();
    -
    191 const T* Min() const;
    -
    192 const T* Max() const;
    -
    193 std::string Print(const int depth, int& max_depth, int& max_breadth);
    -
    194
    -
    195
    -
    196 static T* Find(Node* curr, const T& key);
    -
    197 static const T* Find(const Node* curr, const T& key);
    -
    198
    -
    199 template <typename Arg>
    -
    200 static void Push(Node** parent, Node* curr, Arg&& key);
    -
    201 static void Erase(Node** parent, Node* curr, const T& key);
    -
    202 static void EraseReplacement(Node** parent, Node* curr, Node* root);
    -
    203 static void BalanceSubtree(Node** parent, Node* root);
    -
    204
    -
    205private:
    -
    206 void UpdateInfo();
    -
    207 void RotateLeftLeft(Node** parent);
    -
    208 void RotateLeftRight(Node** parent);
    -
    209 void RotateRightRight(Node** parent);
    -
    210 void RotateRightLeft(Node** parent);
    -
    211};
    -
    -
    212
    -
    213
    -
    214
    -
    215template <typename T>
    -
    - -
    217 height_(0), balance_factor_(0), key_(key), left_(nullptr), right_(nullptr) {}
    -
    -
    218
    -
    219template <typename T>
    -
    - -
    221 height_(0), balance_factor_(0), key_(std::move(key)), left_(nullptr), right_(nullptr) {}
    -
    -
    222
    -
    223template <typename T>
    -
    - - -
    226 left_ = (rhs.left_ ? new Node(*rhs.left_) : nullptr);
    -
    227 right_ = (rhs.right_ ? new Node(*rhs.right_) : nullptr);
    -
    228}
    -
    -
    229
    -
    230template <typename T>
    -
    - -
    232 height_(rhs.height_), balance_factor_(rhs.balance_factor_), key_(std::move(rhs.key_)), left_(std::exchange(rhs.left_, nullptr), right_(std::exchange(rhs.right_, nullptr))) {}
    -
    -
    233
    -
    234template <typename T>
    -
    - -
    236 delete this->left_;
    -
    237 delete this->right_;
    -
    238}
    -
    -
    239
    -
    240template <typename T>
    -
    -
    241const T* AVLTree<T>::Node::Min() const {
    -
    242 return (this->left_ ? this->left_->Min() : &this->key_);
    -
    243}
    -
    -
    244
    -
    245template <typename T>
    -
    - -
    247 return const_cast<T*>(static_cast<const AVLTree<T>::Node&>(*this).Min());
    -
    248}
    -
    -
    249
    -
    250template <typename T>
    -
    -
    251const T* AVLTree<T>::Node::Max() const {
    -
    252 return (this->right_ ? this->right_->Max() : &this->key_);
    -
    253}
    -
    -
    254
    -
    255template <typename T>
    -
    - -
    257 return const_cast<T*>(static_cast<const AVLTree<T>::Node&>(*this).Max());
    -
    258}
    -
    -
    259
    -
    260template <typename T>
    -
    -
    261std::string AVLTree<T>::Node::Print(const int depth, int& max_depth, int& max_breadth) {
    -
    262
    -
    263 //std::string tree_str(std::to_string(this->height_) + "(" + std::to_string(this->balance_factor_) + ")");
    -
    264 std::string tree_str(std::to_string(this->key_));
    -
    265 if (this->left_ || this->right_) {
    -
    266 tree_str += " -> ";
    -
    267 }
    -
    268
    -
    269 const std::string space = std::string((depth + 1) * 5, ' ') + "|";
    -
    270
    -
    271 if (this->right_) {
    -
    272 tree_str += "\n" + space + this->right_->Print(depth + 1, max_depth, max_breadth);
    -
    273 }
    -
    274 if (this->left_) {
    -
    275 tree_str += "\n" + space + this->left_->Print(depth + 1, max_depth, max_breadth);
    -
    276 }
    -
    277
    -
    278 //update the max_depth
    -
    279 max_depth = std::max(max_depth, depth);
    -
    280 max_breadth = std::max(max_breadth, int(this->height_));
    -
    281
    -
    282 return tree_str;
    -
    283}
    -
    -
    284
    -
    285template <typename T>
    -
    -
    286const T* AVLTree<T>::Node::Find(const Node* curr, const T& key) {
    -
    287 if (!curr) {
    -
    288 return nullptr;
    -
    289 }
    -
    290
    -
    291 if (key < curr->key_) {
    -
    292 return Find(curr->left_, key);
    -
    293 } else if (curr->key_ < key) {
    -
    294 return Find(curr->right_, key);
    -
    295 } else {
    -
    296 return &curr->key_;
    -
    297 }
    -
    298}
    -
    -
    299
    -
    300template <typename T>
    -
    -
    301T* AVLTree<T>::Node::Find(Node* curr, const T& key) {
    -
    302 return const_cast<T*>(Find(static_cast<const Node*>(curr), key));
    -
    303}
    -
    -
    304
    -
    305template <typename T>
    -
    306template <typename Arg>
    -
    -
    307void AVLTree<T>::Node::Push(Node** parent, Node* curr, Arg&& key) {
    -
    308
    -
    309 //null leaf
    -
    310 if (!curr) {
    -
    311 (*parent) = new Node(std::forward<Arg>(key));
    -
    312 return;
    -
    313 }
    -
    314
    -
    315 //check subtree
    -
    316 if (key < curr->key_) {
    -
    317 Push(&curr->left_, curr->left_, std::forward<Arg>(key));
    -
    318 } else if (curr->key_ < key) {
    -
    319 Push(&curr->right_, curr->right_, std::forward<Arg>(key));
    -
    320 } else {
    -
    321 return;
    -
    322 }
    -
    323
    -
    324 //balance the subtree
    -
    325 BalanceSubtree(parent, curr);
    -
    326}
    -
    -
    327
    -
    328template <typename T>
    -
    -
    329void AVLTree<T>::Node::Erase(Node** parent, Node* curr, const T& key) {
    -
    330
    -
    331 //key does not exist
    -
    332 if (!curr) {
    -
    333 return;
    -
    334 }
    -
    335
    -
    336 if (key < curr->key_) {
    -
    337
    -
    338 //check left subtree
    -
    339 Erase(&curr->left_, curr->left_, key);
    -
    340
    -
    341 } else if (curr->key_ < key) {
    -
    342
    -
    343 //check right subtree
    -
    344 Erase(&curr->right_, curr->right_, key);
    -
    345
    -
    346 } else {
    -
    347
    -
    348 //found the node
    -
    349 if (curr->left_) {
    -
    350
    -
    351 //max node in left subtree
    -
    352 EraseReplacement(&curr->left_, curr->left_, curr);
    -
    353 BalanceSubtree(parent, curr);
    -
    354
    -
    355 } else if (curr->right_) {
    -
    356
    -
    357 //right child only
    -
    358 *parent = std::exchange(curr->right_, nullptr);
    -
    359 delete curr;
    -
    360
    -
    361 } else {
    -
    362
    -
    363 //leaf node
    -
    364 *parent = nullptr;
    -
    365 delete curr;
    -
    366 }
    -
    367
    -
    368 return;
    -
    369 }
    -
    370
    -
    371 BalanceSubtree(parent, curr);
    -
    372}
    -
    -
    373
    -
    374template <typename T>
    -
    -
    375void AVLTree<T>::Node::EraseReplacement(Node** parent, Node* curr, Node* root) {
    -
    376
    -
    377 //finding the max node in the subtree
    -
    378 if (curr->right_) {
    -
    379 EraseReplacement(&curr->right_, curr->right_, root);
    -
    380 BalanceSubtree(parent, root);
    -
    381 } else {
    -
    382 root->key_ = std::move(curr->key_);
    -
    383 *parent = std::exchange(curr->left_, nullptr);
    -
    384 delete curr;
    -
    385 }
    -
    386}
    -
    -
    387
    -
    388template <typename T>
    -
    - -
    390
    -
    391 //update height and balance factor
    -
    392 root->UpdateInfo();
    -
    393
    -
    394 //rotate based on balanced factor
    -
    395 if (root->balance_factor_ <= -2) {
    -
    396
    -
    397 //left heavy
    -
    398 assert(root->left_);
    -
    399
    -
    400 if (root->left_->balance_factor_ <= 0) {
    -
    401 root->RotateLeftLeft(parent);
    -
    402 } else {
    -
    403 root->RotateLeftRight(parent);
    -
    404 }
    -
    405
    -
    406 } else if (root->balance_factor_ >= 2) {
    -
    407
    -
    408 //right heavy
    -
    409 assert(root->right_);
    -
    410
    -
    411 if (root->right_->balance_factor_ >= 0) {
    -
    412 root->RotateRightRight(parent);
    -
    413 } else {
    -
    414 root->RotateRightLeft(parent);
    -
    415 }
    -
    416 }
    -
    417
    -
    418 //check post balance factor
    -
    419 assert((root->right_ ? root->right_->height_ : -1) - (root->left_ ? root->left_->height_ : -1) == root->balance_factor_);
    -
    420}
    -
    -
    421
    -
    422
    -
    423
    -
    424template <typename T>
    -
    - -
    426 const short left_height = (this->left_ ? this->left_->height_ : -1);
    -
    427 const short right_height = (this->right_ ? this->right_->height_ : -1);
    -
    428 this->height_ = std::max(left_height, right_height) + 1;
    -
    429 this->balance_factor_ = right_height - left_height;
    -
    430}
    -
    -
    431
    -
    432template <typename T>
    -
    - -
    434
    -
    435 Node* const L = this->left_;
    -
    436
    -
    437 *parent = L;
    -
    438 this->left_ = L->right_;
    -
    439 L->right_ = this;
    -
    440
    -
    441 //update height and balance factor for this node and new parent node
    -
    442 //left subtree remain the same
    -
    443 this->UpdateInfo();
    -
    444 (*parent)->UpdateInfo();
    -
    445}
    -
    -
    446
    -
    447template <typename T>
    -
    - -
    449
    -
    450 Node* const L = this->left_;
    -
    451 Node* const LR = L->right_;
    -
    452
    -
    453 *parent = LR;
    -
    454 L->right_ = LR->left_;
    -
    455 this->left_ = LR->right_;
    -
    456 LR->left_ = L;
    -
    457 LR->right_ = this;
    -
    458
    -
    459 this->UpdateInfo();
    -
    460 (*parent)->left_->UpdateInfo();
    -
    461 (*parent)->UpdateInfo();
    -
    462}
    -
    -
    463
    -
    464template <typename T>
    -
    - -
    466
    -
    467 Node* const R = this->right_;
    -
    468
    -
    469 *parent = R;
    -
    470 this->right_ = R->left_;
    -
    471 R->left_ = this;
    -
    472
    -
    473 this->UpdateInfo();
    -
    474 (*parent)->UpdateInfo();
    -
    475}
    -
    -
    476
    -
    477template <typename T>
    -
    - -
    479 Node* const R = this->right_;
    -
    480 Node* const RL = R->left_;
    -
    481
    -
    482 *parent = RL;
    -
    483 R->left_ = RL->right_;
    -
    484 this->right_ = RL->left_;
    -
    485 RL->right_ = R;
    -
    486 RL->left_ = this;
    -
    487
    -
    488 this->UpdateInfo();
    -
    489 (*parent)->right_->UpdateInfo();
    -
    490 (*parent)->UpdateInfo();
    -
    491}
    -
    -
    void swap(AVLTree< T > &lhs, AVLTree< T > &rhs)
    Definition AVLTree.h:55
    - - -
    Node * left_
    Definition AVLTree.h:176
    -
    short balance_factor_
    Definition AVLTree.h:174
    -
    Node(const T &key)
    Definition AVLTree.h:216
    -
    static T * Find(Node *curr, const T &key)
    Definition AVLTree.h:301
    - -
    Node & operator=(Node &&rhs)=delete
    -
    static void Erase(Node **parent, Node *curr, const T &key)
    Definition AVLTree.h:329
    -
    void RotateRightLeft(Node **parent)
    Definition AVLTree.h:478
    -
    short height_
    Definition AVLTree.h:173
    - -
    static void BalanceSubtree(Node **parent, Node *root)
    Definition AVLTree.h:389
    -
    std::string Print(const int depth, int &max_depth, int &max_breadth)
    Definition AVLTree.h:261
    -
    Node * right_
    Definition AVLTree.h:177
    - -
    void RotateLeftLeft(Node **parent)
    Definition AVLTree.h:433
    -
    Node & operator=(const Node &rhs)=delete
    -
    void RotateLeftRight(Node **parent)
    Definition AVLTree.h:448
    -
    static void EraseReplacement(Node **parent, Node *curr, Node *root)
    Definition AVLTree.h:375
    -
    static void Push(Node **parent, Node *curr, Arg &&key)
    Definition AVLTree.h:307
    -
    void UpdateInfo()
    Definition AVLTree.h:425
    -
    void RotateRightRight(Node **parent)
    Definition AVLTree.h:465
    - -
    T * Find(const T &key)
    Definition AVLTree.h:141
    -
    void Push(Arg &&key)
    Definition AVLTree.h:147
    -
    bool Empty() const
    Definition AVLTree.h:86
    -
    friend void swap(AVLTree &lhs, AVLTree &rhs)
    Definition AVLTree.h:55
    -
    int _size
    Definition AVLTree.h:24
    -
    T * Min()
    Definition AVLTree.h:101
    -
    T * Max()
    Definition AVLTree.h:111
    -
    void Erase(const T &key)
    Definition AVLTree.h:152
    -
    void Print() const
    Definition AVLTree.h:116
    -
    AVLTree & operator=(AVLTree rhs) noexcept
    Definition AVLTree.h:80
    -
    AVLTree()
    Definition AVLTree.h:62
    -
    Node * root_
    Definition AVLTree.h:25
    -
    int Size() const
    Definition AVLTree.h:91
    -
    ~AVLTree()
    Definition AVLTree.h:75
    -
    Definition entry.cpp:78
    -
    -
    -
    - - - - diff --git a/docs/_binary_heap_8h.html b/docs/_binary_heap_8h.html deleted file mode 100644 index a548710..0000000 --- a/docs/_binary_heap_8h.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - -Flow: BinaryHeap.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    BinaryHeap.h File Reference
    -
    -
    -
    #include <vector>
    -
    -

    Go to the source code of this file.

    - - - -

    -Classes

    class  BinaryHeap< T, Predicate >
    -
    -
    - -
    - - - - diff --git a/docs/_binary_heap_8h.js b/docs/_binary_heap_8h.js deleted file mode 100644 index d80d04b..0000000 --- a/docs/_binary_heap_8h.js +++ /dev/null @@ -1,4 +0,0 @@ -var _binary_heap_8h = -[ - [ "BinaryHeap< T, Predicate >", "class_binary_heap.html", "class_binary_heap" ] -]; \ No newline at end of file diff --git a/docs/_binary_heap_8h_source.html b/docs/_binary_heap_8h_source.html deleted file mode 100644 index b487e29..0000000 --- a/docs/_binary_heap_8h_source.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - -Flow: BinaryHeap.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    BinaryHeap.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    -
    2#include <vector>
    -
    3
    -
    4template <typename T, typename Predicate = std::greater<T>>
    -
    -
    5class BinaryHeap {
    -
    6 std::vector<T> _data;
    -
    7
    -
    8 public:
    -
    9 BinaryHeap() = default;
    -
    10
    -
    -
    11 BinaryHeap(std::vector<T> arr) : _data(std::move(arr)) {
    -
    12 for (int r = Parent(_data.size() - 1); r >= 0; --r) {
    -
    13 FixDown(r);
    -
    14 }
    -
    15 }
    -
    -
    16
    -
    17 template <typename ...Args>
    -
    -
    18 void Push(Args&&... args) {
    -
    19 _data.emplace_back(std::forward<Args>(args)...);
    -
    20 FixUp(_data.size() - 1);
    -
    21 }
    -
    -
    22
    -
    -
    23 void Pop() {
    -
    24 _data.front() = std::move(_data.back());
    -
    25 _data.pop_back();
    -
    26 FixDown(0);
    -
    27 }
    -
    -
    28
    -
    -
    29 const T& Top() const {
    -
    30 assert(!_data.empty() && "access empty heap top");
    -
    31 return _data[0];
    -
    32 }
    -
    -
    33
    -
    -
    34 std::size_t Size() const {
    -
    35 return _data.size();
    -
    36 }
    -
    -
    37
    -
    38 private:
    -
    39 int Parent(int n) const { return (n - 1) / 2; }
    -
    40 int LeftChild(int n) const { return n * 2 + 1; }
    -
    41 int RightChild(int n) const { return n * 2 + 2; }
    -
    42
    -
    -
    43 void FixUp(int n, Predicate p = Predicate()) {
    -
    44 while (n > 0) {
    -
    45 int parent = Parent(n);
    -
    46 if (p(_data[n], _data[parent])) {
    -
    47 std::swap(_data[n], _data[parent]);
    -
    48 n = parent;
    -
    49 } else {
    -
    50 break;
    -
    51 }
    -
    52 }
    -
    53 }
    -
    -
    54
    -
    -
    55 void FixDown(int n, Predicate p = Predicate()) {
    -
    56 while (true) {
    -
    57 int child = LeftChild(n);
    -
    58 if (child >= _data.size()) {
    -
    59 break;
    -
    60 }
    -
    61 if (int rightChild = RightChild(n);
    -
    62 rightChild < _data.size() && p(_data[rightChild], _data[child])) {
    -
    63 child = rightChild;
    -
    64 }
    -
    65 if (p(_data[child], _data[n])) {
    -
    66 std::swap(_data[n], _data[child]);
    -
    67 n = child;
    -
    68 } else {
    -
    69 break;
    -
    70 }
    -
    71 }
    -
    72 }
    -
    -
    73};
    -
    -
    BinaryHeap()=default
    -
    const T & Top() const
    Definition BinaryHeap.h:29
    -
    void Push(Args &&... args)
    Definition BinaryHeap.h:18
    -
    int LeftChild(int n) const
    Definition BinaryHeap.h:40
    -
    void FixDown(int n, Predicate p=Predicate())
    Definition BinaryHeap.h:55
    -
    void Pop()
    Definition BinaryHeap.h:23
    -
    int Parent(int n) const
    Definition BinaryHeap.h:39
    -
    std::size_t Size() const
    Definition BinaryHeap.h:34
    -
    void FixUp(int n, Predicate p=Predicate())
    Definition BinaryHeap.h:43
    -
    int RightChild(int n) const
    Definition BinaryHeap.h:41
    -
    BinaryHeap(std::vector< T > arr)
    Definition BinaryHeap.h:11
    -
    std::vector< T > _data
    Definition BinaryHeap.h:6
    -
    Definition entry.cpp:78
    -
    -
    -
    - - - - diff --git a/docs/_binomial_heap_8h.html b/docs/_binomial_heap_8h.html deleted file mode 100644 index 5111f1f..0000000 --- a/docs/_binomial_heap_8h.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - -Flow: BinomialHeap.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    BinomialHeap.h File Reference
    -
    -
    -
    #include <vector>
    -#include <utility>
    -#include <cassert>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  BinomialHeap< T, Predicate >
    class  BinomialHeap< T, Predicate >::FlagTree
    - - - -

    -Functions

    template<typename T, typename Predicate>
    void swap (BinomialHeap< T, Predicate > &lhs, BinomialHeap< T, Predicate > &rhs)
    -

    Function Documentation

    - -

    ◆ swap()

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - - - - - - - -
    void swap (BinomialHeap< T, Predicate > & lhs,
    BinomialHeap< T, Predicate > & rhs )
    -
    - -

    Definition at line 197 of file BinomialHeap.h.

    -
    197 {
    -
    198 using std::swap;
    -
    199 swap(lhs._trees, rhs._trees);
    -
    200 swap(lhs._size, rhs._size);
    -
    201}
    -
    void swap(BinomialHeap< T, Predicate > &lhs, BinomialHeap< T, Predicate > &rhs)
    -
    std::vector< FlagTree * > _trees
    -
    std::size_t _size
    -
    -

    Referenced by BinomialHeap< T, Predicate >::swap.

    - -
    -
    -
    -
    - -
    - - - - diff --git a/docs/_binomial_heap_8h.js b/docs/_binomial_heap_8h.js deleted file mode 100644 index 9f7dcfe..0000000 --- a/docs/_binomial_heap_8h.js +++ /dev/null @@ -1,6 +0,0 @@ -var _binomial_heap_8h = -[ - [ "BinomialHeap< T, Predicate >", "class_binomial_heap.html", "class_binomial_heap" ], - [ "BinomialHeap< T, Predicate >::FlagTree", "class_binomial_heap_1_1_flag_tree.html", "class_binomial_heap_1_1_flag_tree" ], - [ "swap", "_binomial_heap_8h.html#a080b14fe6bf44d72a8a6375737b04afe", null ] -]; \ No newline at end of file diff --git a/docs/_binomial_heap_8h_source.html b/docs/_binomial_heap_8h_source.html deleted file mode 100644 index be336b2..0000000 --- a/docs/_binomial_heap_8h_source.html +++ /dev/null @@ -1,386 +0,0 @@ - - - - - - - -Flow: BinomialHeap.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    BinomialHeap.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    -
    2#include <vector>
    -
    3#include <utility>
    -
    4#include <cassert>
    -
    5
    -
    6#ifdef _DEBUG
    -
    7#include <iostream>
    -
    8#include <string>
    -
    9#endif
    -
    10
    -
    11template <typename T, typename Predicate = std::greater<T>>
    -
    12class BinomialHeap;
    -
    13
    -
    14template <typename T, typename Predicate>
    - -
    16
    -
    17template <typename T, typename Predicate>
    -
    - -
    -
    19 class FlagTree {
    - - - -
    23
    -
    24 template <typename ...Args>
    -
    -
    25 FlagTree(Args&&... args) :
    -
    26 _data(std::forward<Args>(args)...), _left(nullptr), _right(nullptr) {
    -
    27 }
    -
    -
    28
    -
    -
    29 FlagTree(const FlagTree& rhs) :
    -
    30 _data(rhs._data), _left((rhs._left ? new FlagTree(*rhs._left) : nullptr)), _right(_right = (rhs._right ? new FlagTree(*rhs._right) : nullptr)) {
    -
    31 }
    -
    -
    32
    -
    - -
    34 FlagTree(const_cast<const FlagTree&>(rhs)) {
    -
    35 //override perfect forwarding from variadic constructor
    -
    36 }
    -
    -
    37
    -
    -
    38 FlagTree(FlagTree&& rhs) noexcept :
    -
    39 _data(std::move(rhs._data)), _left(std::exchange(rhs._left, nullptr)), _right(std::exchange(rhs._right, nullptr)) {
    -
    40 }
    -
    -
    41
    -
    - -
    43 delete _left;
    -
    44 delete _right;
    -
    45 }
    -
    -
    46
    -
    47 FlagTree& operator=(const FlagTree& rhs) = delete;
    -
    48 FlagTree& operator=(FlagTree&& rhs) = delete;
    -
    49
    -
    50 friend class BinomialHeap;
    -
    51 };
    -
    -
    52
    -
    53 std::vector<FlagTree*> _trees;
    -
    54 std::size_t _size;
    -
    55
    -
    56public:
    -
    - -
    58 _trees(), _size(0) {
    -
    59 }
    -
    -
    60
    -
    - -
    62 _trees(rhs._trees.size()), _size(rhs._size) {
    -
    63 for (int h = 0; h < rhs._trees.size(); ++h) {
    -
    64 if (rhs._trees[h]) {
    -
    65 FlagTree* t = rhs._trees[h];
    -
    66 _trees[h] = new FlagTree(*t);
    -
    67 }
    -
    68 }
    -
    69 }
    -
    -
    70
    -
    -
    71 BinomialHeap(BinomialHeap&& rhs) noexcept :
    -
    72 _trees(std::move(rhs._trees)), _size(std::exchange(rhs._size, 0)) {
    -
    73 }
    -
    -
    74
    -
    - -
    76 for (const FlagTree* tree : _trees) {
    -
    77 delete tree;
    -
    78 }
    -
    79 }
    -
    -
    80
    -
    - -
    82 swap(*this, rhs);
    -
    83 return *this;
    -
    84 }
    -
    -
    85
    -
    -
    86 std::size_t Size() const {
    -
    87 return _size;
    -
    88 }
    -
    -
    89
    -
    -
    90 bool Empty() const {
    -
    91 return _size == 0;
    -
    92 }
    -
    -
    93
    -
    -
    94 const T& Top() const {
    -
    95 return _trees[GetMaxIndex()]->_data;
    -
    96 }
    -
    -
    97
    -
    -
    98 T& Top() {
    -
    99 return _trees[GetMaxIndex()]->_data;
    -
    100 }
    -
    -
    101
    -
    102 template <typename... Args>
    -
    -
    103 void Push(Args&&... args) {
    -
    104 MergeToHeight(new FlagTree(std::forward<Args>(args)...), 0);
    -
    105 ++_size;
    -
    106 }
    -
    -
    107
    -
    -
    108 void Merge(BinomialHeap heap) {
    -
    109 for (int h = 0; h < heap._trees.size(); ++h) {
    -
    110 if (FlagTree* tree = heap._trees[h]; tree) {
    -
    111 MergeToHeight(tree, h);
    -
    112 }
    -
    113 }
    -
    114 _size += heap._size;
    -
    115
    -
    116 heap._trees.clear();
    -
    117 heap._size = 0;
    -
    118 }
    -
    -
    119
    -
    -
    120 void Pop() {
    -
    121 int h = GetMaxIndex();
    -
    122 FlagTree* tree = _trees[h]->_left;
    -
    123 _trees[h]->_left = nullptr;
    -
    124 delete _trees[h];
    -
    125 _trees[h] = nullptr;
    -
    126
    -
    127 while (tree) {
    -
    128 --h;
    -
    129 FlagTree* const next = tree->_right;
    -
    130 tree->_right = nullptr;
    -
    131 MergeToHeight(tree, h);
    -
    132 tree = next;
    -
    133 }
    -
    134
    -
    135 --_size;
    -
    136 }
    -
    -
    137
    -
    -
    138 void Debug() const {
    -
    139 #ifdef _DEBUG
    -
    140 std::cout << "size: " << _size << '\n';
    -
    141 for (const FlagTree* tree : _trees) {
    -
    142 Print("", tree, false);
    -
    143 }
    -
    144 #endif
    -
    145 }
    -
    -
    146
    -
    147private:
    -
    -
    148 void MergeToHeight(FlagTree* tree0, int height) {
    -
    149 const Predicate cmp{};
    -
    150 while (true) {
    -
    151 if (height >= _trees.size()) {
    -
    152 _trees.resize(height + 1);
    -
    153 break;
    -
    154 }
    -
    155
    -
    156 if (FlagTree* tree1 = _trees[height]; tree1) {
    -
    157 if (cmp(tree1->_data, tree0->_data)) {
    -
    158 std::swap(tree0, tree1);
    -
    159 }
    -
    160 tree1->_right = tree0->_left;
    -
    161 tree0->_left = tree1;
    -
    162 _trees[height++] = nullptr;
    -
    163 } else {
    -
    164 break;
    -
    165 }
    -
    166 }
    -
    167
    -
    168 _trees[height] = tree0;
    -
    169 }
    -
    -
    170
    -
    -
    171 int GetMaxIndex() const {
    -
    172 assert(_size != 0);
    -
    173 const Predicate cmp{};
    -
    174 int m = -1;
    -
    175 for (int h = 0; h < _trees.size(); ++h) {
    -
    176 if (_trees[h] && (m == -1 || cmp(_trees[h]->_data, _trees[m]->_data))) {
    -
    177 m = h;
    -
    178 }
    -
    179 }
    -
    180 return m;
    -
    181 }
    -
    -
    182
    -
    183 #ifdef _DEBUG
    -
    184 void Print(const std::string& prefix, const FlagTree* node, bool isRight) const {
    -
    185 if (node) {
    -
    186 std::cout << prefix << (isRight ? "|--" : "L--") << node->_data << '\n';
    -
    187 Print(prefix + (isRight ? " " : "| "), node->_right, true);
    -
    188 Print(prefix + (isRight ? " " : "| "), node->_left, false);
    -
    189 }
    -
    190 }
    -
    191 #endif
    -
    192
    -
    193 friend void swap<T, Predicate>(BinomialHeap& lhs, BinomialHeap& rhs);
    -
    194};
    -
    -
    195
    -
    196template <typename T, typename Predicate>
    -
    - -
    198 using std::swap;
    -
    199 swap(lhs._trees, rhs._trees);
    -
    200 swap(lhs._size, rhs._size);
    -
    201}
    -
    -
    void swap(BinomialHeap< T, Predicate > &lhs, BinomialHeap< T, Predicate > &rhs)
    - - -
    FlagTree(const FlagTree &rhs)
    -
    FlagTree & operator=(const FlagTree &rhs)=delete
    - -
    FlagTree & operator=(FlagTree &&rhs)=delete
    - - -
    FlagTree(FlagTree &rhs)
    -
    FlagTree(Args &&... args)
    -
    FlagTree(FlagTree &&rhs) noexcept
    -
    friend class BinomialHeap
    - - - -
    void Merge(BinomialHeap heap)
    - -
    void Debug() const
    - -
    friend void swap(BinomialHeap &lhs, BinomialHeap &rhs)
    -
    BinomialHeap(const BinomialHeap &rhs)
    -
    std::vector< FlagTree * > _trees
    -
    std::size_t _size
    -
    bool Empty() const
    -
    BinomialHeap & operator=(BinomialHeap rhs)
    -
    std::size_t Size() const
    -
    void Push(Args &&... args)
    -
    BinomialHeap(BinomialHeap &&rhs) noexcept
    -
    int GetMaxIndex() const
    -
    const T & Top() const
    -
    void MergeToHeight(FlagTree *tree0, int height)
    -
    Definition entry.cpp:78
    -
    -
    -
    - - - - diff --git a/docs/_disjoint_set_8h.html b/docs/_disjoint_set_8h.html deleted file mode 100644 index 61520e8..0000000 --- a/docs/_disjoint_set_8h.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -Flow: DisjointSet.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    DisjointSet.h File Reference
    -
    -
    -
    #include <vector>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  DisjointSet< T >
    struct  DisjointSet< T >::Set
    -
    -
    - -
    - - - - diff --git a/docs/_disjoint_set_8h.js b/docs/_disjoint_set_8h.js deleted file mode 100644 index 9a1ecd5..0000000 --- a/docs/_disjoint_set_8h.js +++ /dev/null @@ -1,5 +0,0 @@ -var _disjoint_set_8h = -[ - [ "DisjointSet< T >", "class_disjoint_set.html", "class_disjoint_set" ], - [ "DisjointSet< T >::Set", "struct_disjoint_set_1_1_set.html", "struct_disjoint_set_1_1_set" ] -]; \ No newline at end of file diff --git a/docs/_disjoint_set_8h_source.html b/docs/_disjoint_set_8h_source.html deleted file mode 100644 index a4034b6..0000000 --- a/docs/_disjoint_set_8h_source.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - -Flow: DisjointSet.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    DisjointSet.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    -
    2#include <vector>
    -
    3
    -
    4template<typename T>
    -
    - -
    6{
    -
    -
    7 struct Set
    -
    8 {
    -
    9 int parent;
    -
    10 int rank;
    - -
    12 };
    -
    -
    13
    -
    14 std::vector<Set> sets_;
    -
    15
    -
    16public:
    -
    17 DisjointSet() = default;
    -
    18 DisjointSet(int size, const T& val = T{});
    -
    19
    -
    20 T& operator[](int setID);
    -
    21 const T& operator[](int setID) const;
    -
    22
    -
    23 constexpr int Size() const;
    -
    24 constexpr bool Empty() const;
    -
    25
    -
    26 int Find(int setID);
    -
    27 void Union(int set0, int set1);
    -
    28 bool InSameSet(int set0, int set1);
    -
    29
    -
    30
    -
    31 void PushBack(const T& val);
    -
    32 void PushBack(T&& val);
    -
    33 void Resize(int new_size, const T& val = T{});
    -
    34 void Reserve(int new_reserved);
    -
    35};
    -
    -
    36
    -
    37
    -
    38template<typename T>
    -
    -
    39DisjointSet<T>::DisjointSet(int size, const T& val) : sets_(size)
    -
    40{
    -
    41 for (int r = 0; r < sets_.size(); ++r)
    -
    42 {
    -
    43 sets_[r].parent = r;
    -
    44 sets_[r].data = val;
    -
    45 }
    -
    46}
    -
    -
    47
    -
    48template <typename T>
    -
    - -
    50{
    -
    51 assert(0 <= setID && setID < sets_.size());
    -
    52 return sets_[setID].data;
    -
    53}
    -
    -
    54
    -
    55template <typename T>
    -
    -
    56const T& DisjointSet<T>::operator[](int setID) const
    -
    57{
    -
    58 assert(0 <= setID && setID < sets_.size());
    -
    59 return sets_[setID].data;
    -
    60}
    -
    -
    61
    -
    62template <typename T>
    -
    -
    63constexpr int DisjointSet<T>::Size() const
    -
    64{
    -
    65 return static_cast<int>(sets_.size());
    -
    66}
    -
    -
    67
    -
    68template <typename T>
    -
    -
    69constexpr bool DisjointSet<T>::Empty() const
    -
    70{
    -
    71 return sets_.empty();
    -
    72}
    -
    -
    73
    -
    74
    -
    75
    -
    76
    -
    77template<typename T>
    -
    - -
    79{
    -
    80 assert(0 <= setID && setID < sets_.size());
    -
    81
    -
    82 std::vector<Set*> stack = { &sets_[setID] };
    -
    83 while (true)
    -
    84 {
    -
    85 const Set& top = *stack.back();
    -
    86 if (top.parent == setID) break;
    -
    87 setID = top.parent;
    -
    88 stack.push_back(&sets_[top.parent]);
    -
    89 }
    -
    90
    -
    91 for (int r = 0; r < stack.size() - 1; ++r)
    -
    92 {
    -
    93 stack[r]->parent = setID;
    -
    94 }
    -
    95
    -
    96 return setID;
    -
    97}
    -
    -
    98
    -
    99template <typename T>
    -
    -
    100void DisjointSet<T>::Union(int set0, int set1)
    -
    101{
    -
    102 assert(0 <= set0 && set0 < sets_.size());
    -
    103 assert(0 <= set1 && set1 < sets_.size());
    -
    104
    -
    105 int root0 = Find(set0);
    -
    106 int root1 = Find(set1);
    -
    107
    -
    108 if (root0 == root1) return;
    -
    109
    -
    110 //add () since gcc believes rank is a template, wtf???
    -
    111 if ((sets_[root0].rank) < (sets_[root1].rank)) sets_[root0].parent = root1;
    -
    112 else if ((sets_[root0].rank) > (sets_[root1].rank)) sets_[root1].parent = root0;
    -
    113 else
    -
    114 {
    -
    115 sets_[root1].parent = root0;
    -
    116 ++sets_[root0].rank;
    -
    117 }
    -
    118}
    -
    -
    119
    -
    120template <typename T>
    -
    -
    121bool DisjointSet<T>::InSameSet(int set0, int set1)
    -
    122{
    -
    123 return Find(set0) == Find(set1);
    -
    124}
    -
    -
    125
    -
    126template <typename T>
    -
    -
    127void DisjointSet<T>::PushBack(const T& val)
    -
    128{
    -
    129 sets_.emplace_back(static_cast<int>(sets_.size()), 0, val);
    -
    130}
    -
    -
    131
    -
    132template <typename T>
    -
    - -
    134{
    -
    135 sets_.emplace_back(static_cast<int>(sets_.size()), 0, std::move(val));
    -
    136}
    -
    -
    137
    -
    138template <typename T>
    -
    -
    139void DisjointSet<T>::Resize(int new_size, const T& val)
    -
    140{
    -
    141 sets_.resize(new_size, val);
    -
    142}
    -
    -
    143
    -
    144template <typename T>
    -
    -
    145void DisjointSet<T>::Reserve(int new_reserved)
    -
    146{
    -
    147 sets_.reserve(new_reserved);
    -
    148}
    -
    -
    DisjointSet()=default
    -
    constexpr int Size() const
    Definition DisjointSet.h:63
    -
    void Union(int set0, int set1)
    -
    void PushBack(const T &val)
    -
    std::vector< Set > sets_
    Definition DisjointSet.h:14
    -
    T & operator[](int setID)
    Definition DisjointSet.h:49
    -
    bool InSameSet(int set0, int set1)
    -
    constexpr bool Empty() const
    Definition DisjointSet.h:69
    -
    void Resize(int new_size, const T &val=T{})
    -
    int Find(int setID)
    Definition DisjointSet.h:78
    -
    void Reserve(int new_reserved)
    - - - - -
    -
    -
    - - - - diff --git a/docs/_integer_iterator_8h.html b/docs/_integer_iterator_8h.html deleted file mode 100644 index 70eae6a..0000000 --- a/docs/_integer_iterator_8h.html +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - - -Flow: IntegerIterator.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    IntegerIterator.h File Reference
    -
    -
    -
    #include <algorithm>
    -#include <type_traits>
    -#include <iterator>
    -
    -

    Go to the source code of this file.

    - - - -

    -Classes

    class  IntegerIterator< T >
    - - - - - - - - - - - - - - - - - -

    -Functions

    template<typename T>
    IntegerIterator< T > & operator-= (IntegerIterator< T > &lhs, typename IntegerIterator< T >::difference_type n)
    template<typename T>
    IntegerIterator< T > operator+ (IntegerIterator< T > lhs, typename IntegerIterator< T >::difference_type n)
    template<typename T>
    IntegerIterator< T > operator+ (typename IntegerIterator< T >::difference_type n, IntegerIterator< T > rhs)
    template<typename T>
    IntegerIterator< T > operator- (IntegerIterator< T > lhs, typename IntegerIterator< T >::difference_type n)
    template<typename T>
    bool operator> (const IntegerIterator< T > &lhs, const IntegerIterator< T > &rhs)
    template<typename T>
    bool operator>= (const IntegerIterator< T > &lhs, const IntegerIterator< T > &rhs)
    template<typename T>
    bool operator<= (const IntegerIterator< T > &lhs, const IntegerIterator< T > &rhs)
    template<typename T>
    bool operator!= (const IntegerIterator< T > &lhs, const IntegerIterator< T > &rhs)
    -

    Function Documentation

    - -

    ◆ operator!=()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    bool operator!= (const IntegerIterator< T > & lhs,
    const IntegerIterator< T > & rhs )
    -
    - -

    Definition at line 115 of file IntegerIterator.h.

    -
    115 {
    -
    116 return !(lhs == rhs);
    -
    117}
    -
    -
    -
    - -

    ◆ operator+() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    IntegerIterator< T > operator+ (IntegerIterator< T > lhs,
    typename IntegerIterator< T >::difference_type n )
    -
    - -

    Definition at line 83 of file IntegerIterator.h.

    -
    83 {
    -
    84 lhs += n;
    -
    85 return lhs;
    -
    86}
    -
    -
    -
    - -

    ◆ operator+() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    IntegerIterator< T > operator+ (typename IntegerIterator< T >::difference_type n,
    IntegerIterator< T > rhs )
    -
    - -

    Definition at line 89 of file IntegerIterator.h.

    -
    89 {
    -
    90 return rhs + n;
    -
    91}
    -
    -
    -
    - -

    ◆ operator-()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    IntegerIterator< T > operator- (IntegerIterator< T > lhs,
    typename IntegerIterator< T >::difference_type n )
    -
    - -

    Definition at line 94 of file IntegerIterator.h.

    -
    94 {
    -
    95 lhs -= n;
    -
    96 return lhs;
    -
    97}
    -
    -
    -
    - -

    ◆ operator-=()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    IntegerIterator< T > & operator-= (IntegerIterator< T > & lhs,
    typename IntegerIterator< T >::difference_type n )
    -
    - -

    Definition at line 77 of file IntegerIterator.h.

    -
    77 {
    -
    78 lhs += -n;
    -
    79 return lhs;
    -
    80}
    -
    -
    -
    - -

    ◆ operator<=()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    bool operator<= (const IntegerIterator< T > & lhs,
    const IntegerIterator< T > & rhs )
    -
    - -

    Definition at line 110 of file IntegerIterator.h.

    -
    110 {
    -
    111 return !(lhs > rhs);
    -
    112}
    -
    -
    -
    - -

    ◆ operator>()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    bool operator> (const IntegerIterator< T > & lhs,
    const IntegerIterator< T > & rhs )
    -
    - -

    Definition at line 100 of file IntegerIterator.h.

    -
    100 {
    -
    101 return rhs < lhs;
    -
    102}
    -
    -
    -
    - -

    ◆ operator>=()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    bool operator>= (const IntegerIterator< T > & lhs,
    const IntegerIterator< T > & rhs )
    -
    - -

    Definition at line 105 of file IntegerIterator.h.

    -
    105 {
    -
    106 return !(lhs < rhs);
    -
    107}
    -
    -
    -
    -
    -
    - -
    - - - - diff --git a/docs/_integer_iterator_8h.js b/docs/_integer_iterator_8h.js deleted file mode 100644 index 04057bb..0000000 --- a/docs/_integer_iterator_8h.js +++ /dev/null @@ -1,12 +0,0 @@ -var _integer_iterator_8h = -[ - [ "IntegerIterator< T >", "class_integer_iterator.html", "class_integer_iterator" ], - [ "operator!=", "_integer_iterator_8h.html#a2d01915418a019c865bc1ca859a4a729", null ], - [ "operator+", "_integer_iterator_8h.html#ae17acb20b08400f477465027001fadfd", null ], - [ "operator+", "_integer_iterator_8h.html#a1ebc1ff765720e19d58d1c76e97ac834", null ], - [ "operator-", "_integer_iterator_8h.html#a9b8dbd59313ef9521037921be6a46f6c", null ], - [ "operator-=", "_integer_iterator_8h.html#a1f445326bfda08a05374bc6cc126d1b3", null ], - [ "operator<=", "_integer_iterator_8h.html#a567b077d8273c4b7b6e1625b067b7a3f", null ], - [ "operator>", "_integer_iterator_8h.html#a307d23867c9739936366ebffa5b201b6", null ], - [ "operator>=", "_integer_iterator_8h.html#ac3c013959186634bbd449e96dc5b2154", null ] -]; \ No newline at end of file diff --git a/docs/_integer_iterator_8h_source.html b/docs/_integer_iterator_8h_source.html deleted file mode 100644 index c99035c..0000000 --- a/docs/_integer_iterator_8h_source.html +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - - -Flow: IntegerIterator.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    IntegerIterator.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    -
    2#include <algorithm>
    -
    3#include <type_traits>
    -
    4#include <iterator>
    -
    5
    -
    6template <typename T>
    -
    - - -
    9
    -
    10public:
    -
    11 using value_type = T;
    -
    12 using difference_type = std::ptrdiff_t;
    -
    13 using reference = T; //intentional
    -
    14 using pointer = T*;
    -
    15 using iterator_category = std::random_access_iterator_tag;
    -
    16
    -
    -
    17 IntegerIterator(const T& value) : _value(value) {
    -
    18 using Trait = typename std::iterator_traits<IntegerIterator>::iterator_category;
    -
    19 static_assert(std::is_convertible_v<Trait, std::bidirectional_iterator_tag>, "not bidirectional iterator");
    -
    20 static_assert(std::is_convertible_v<Trait, std::random_access_iterator_tag>, "not random access iterator");
    -
    21 static_assert(std::is_integral_v<T>, "IntegerIterator only supports integer type");
    -
    22 }
    -
    -
    23
    -
    24 reference operator*() const { return _value; }
    -
    25 pointer operator->() const { return &_value; }
    -
    26
    -
    - -
    28 ++_value;
    -
    29 return *this;
    -
    30 }
    -
    -
    31
    -
    - -
    33 IntegerIterator it = *this;
    -
    34 ++*this;
    -
    35 return it;
    -
    36 }
    -
    -
    37
    -
    - -
    39 --_value;
    -
    40 return *this;
    -
    41 }
    -
    -
    42
    -
    - -
    44 IntegerIterator it = *this;
    -
    45 --*this;
    -
    46 return it;
    -
    47 }
    -
    -
    48
    -
    - -
    50 _value += n;
    -
    51 return *this;
    -
    52 }
    -
    -
    53
    -
    - -
    55 return _value - rhs._value;
    -
    56 }
    -
    -
    57
    -
    - -
    59 return _value + n;
    -
    60 }
    -
    -
    61
    -
    -
    62 friend bool operator<(const IntegerIterator& lhs, const IntegerIterator& rhs) {
    -
    63 return lhs._value < rhs._value;
    -
    64 }
    -
    -
    65
    -
    -
    66 friend bool operator==(const IntegerIterator& lhs, const IntegerIterator& rhs) {
    -
    67 return lhs._value == rhs._value;
    -
    68 }
    -
    -
    69
    -
    -
    70 friend void swap(IntegerIterator& lhs, IntegerIterator& rhs) {
    -
    71 using std::swap;
    -
    72 swap(lhs._value, rhs._value);
    -
    73 }
    -
    -
    74};
    -
    -
    75
    -
    76template <typename T>
    -
    - -
    78 lhs += -n;
    -
    79 return lhs;
    -
    80}
    -
    -
    81
    -
    82template <typename T>
    -
    - -
    84 lhs += n;
    -
    85 return lhs;
    -
    86}
    -
    -
    87
    -
    88template <typename T>
    - -
    92
    -
    93template <typename T>
    -
    - -
    95 lhs -= n;
    -
    96 return lhs;
    -
    97}
    -
    -
    98
    -
    99template <typename T>
    -
    -
    100bool operator>(const IntegerIterator<T>& lhs, const IntegerIterator<T>& rhs) {
    -
    101 return rhs < lhs;
    -
    102}
    -
    -
    103
    -
    104template <typename T>
    -
    - -
    106 return !(lhs < rhs);
    -
    107}
    -
    -
    108
    -
    109template <typename T>
    -
    - -
    111 return !(lhs > rhs);
    -
    112}
    -
    -
    113
    -
    114template <typename T>
    -
    - -
    116 return !(lhs == rhs);
    -
    117}
    -
    -
    IntegerIterator< T > & operator-=(IntegerIterator< T > &lhs, typename IntegerIterator< T >::difference_type n)
    -
    bool operator!=(const IntegerIterator< T > &lhs, const IntegerIterator< T > &rhs)
    -
    bool operator>(const IntegerIterator< T > &lhs, const IntegerIterator< T > &rhs)
    -
    bool operator<=(const IntegerIterator< T > &lhs, const IntegerIterator< T > &rhs)
    -
    IntegerIterator< T > operator-(IntegerIterator< T > lhs, typename IntegerIterator< T >::difference_type n)
    -
    bool operator>=(const IntegerIterator< T > &lhs, const IntegerIterator< T > &rhs)
    -
    IntegerIterator< T > operator+(IntegerIterator< T > lhs, typename IntegerIterator< T >::difference_type n)
    - -
    IntegerIterator(const T &value)
    -
    IntegerIterator operator--(int)
    -
    friend bool operator<(const IntegerIterator &lhs, const IntegerIterator &rhs)
    -
    std::random_access_iterator_tag iterator_category
    -
    std::ptrdiff_t difference_type
    - -
    IntegerIterator & operator++()
    -
    IntegerIterator & operator--()
    - -
    friend void swap(IntegerIterator &lhs, IntegerIterator &rhs)
    -
    pointer operator->() const
    -
    difference_type operator-(IntegerIterator &rhs) const
    -
    reference operator*() const
    -
    IntegerIterator & operator+=(difference_type n)
    -
    friend bool operator==(const IntegerIterator &lhs, const IntegerIterator &rhs)
    - - -
    reference operator[](difference_type n) const
    -
    IntegerIterator operator++(int)
    -
    -
    -
    - - - - diff --git a/docs/_linked_list_8h.html b/docs/_linked_list_8h.html deleted file mode 100644 index 0fcf8ba..0000000 --- a/docs/_linked_list_8h.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - -Flow: LinkedList.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    LinkedList.h File Reference
    -
    -
    -
    #include <utility>
    -#include <cassert>
    -
    -

    Go to the source code of this file.

    - - - - - -

    -Classes

    class  LinkedList< T >
    class  LinkedList< T >::Node
    class  LinkedList< T >::IteratorImpl< ReturnType >
    - - - -

    -Functions

    template<typename T>
    void swap (LinkedList< T > &lhs, LinkedList< T > &rhs)
    -

    Function Documentation

    - -

    ◆ swap()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    void swap (LinkedList< T > & lhs,
    LinkedList< T > & rhs )
    -
    - -

    Definition at line 138 of file LinkedList.h.

    -
    138 {
    -
    139 using std::swap;
    -
    140 swap(lhs._front, rhs._front);
    -
    141 swap(lhs._back, rhs._back);
    -
    142 swap(lhs._size, rhs._size);
    -
    143}
    -
    void swap(LinkedList< T > &lhs, LinkedList< T > &rhs)
    Definition LinkedList.h:138
    -
    Node * _back
    Definition LinkedList.h:58
    -
    std::size_t _size
    Definition LinkedList.h:59
    -
    Node * _front
    Definition LinkedList.h:57
    -
    -

    Referenced by LinkedList< T >::swap.

    - -
    -
    -
    -
    - -
    - - - - diff --git a/docs/_linked_list_8h.js b/docs/_linked_list_8h.js deleted file mode 100644 index a0ec808..0000000 --- a/docs/_linked_list_8h.js +++ /dev/null @@ -1,7 +0,0 @@ -var _linked_list_8h = -[ - [ "LinkedList< T >", "class_linked_list.html", "class_linked_list" ], - [ "LinkedList< T >::Node", "class_linked_list_1_1_node.html", "class_linked_list_1_1_node" ], - [ "LinkedList< T >::IteratorImpl< ReturnType >", "class_linked_list_1_1_iterator_impl.html", "class_linked_list_1_1_iterator_impl" ], - [ "swap", "_linked_list_8h.html#ad7051d446f1c1dcc709eaaeeac83367e", null ] -]; \ No newline at end of file diff --git a/docs/_linked_list_8h_source.html b/docs/_linked_list_8h_source.html deleted file mode 100644 index 3117c84..0000000 --- a/docs/_linked_list_8h_source.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - -Flow: LinkedList.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    LinkedList.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    -
    2#include <utility>
    -
    3#include <cassert>
    -
    4
    -
    5template <typename T>
    -
    6class LinkedList;
    -
    7
    -
    8template <typename T>
    -
    9void swap(LinkedList<T>& lhs, LinkedList<T>& rhs);
    -
    10
    -
    11template <typename T>
    -
    - -
    -
    13 class Node {
    - - -
    16
    -
    17 template <typename ...Args>
    -
    18 Node(Args&&... args) : _data(std::forward<Args>(args)...), _next(nullptr) {}
    -
    19
    -
    20 friend class LinkedList;
    -
    21 };
    -
    -
    22
    -
    23 template <typename ReturnType>
    -
    - - -
    26 IteratorImpl(Node* node) : node_(node) {}
    -
    27
    -
    28 public:
    -
    -
    29 ReturnType& operator*() {
    -
    30 assert(node_ && "dereference null iterator");
    -
    31 return node_->_data;
    -
    32 }
    -
    -
    33
    -
    - -
    35 assert(node_ && "dereference null iterator");
    -
    36 node_ = node_->_next;
    -
    37 return *this;
    -
    38 }
    -
    -
    39
    -
    - -
    41 IteratorImpl old = *this;
    -
    42 ++this;
    -
    43 return old;
    -
    44 }
    -
    -
    45
    -
    -
    46 bool operator==(const IteratorImpl& rhs) const {
    -
    47 return node_ == rhs.node_;
    -
    48 }
    -
    -
    49
    -
    -
    50 bool operator!=(const IteratorImpl& rhs) const {
    -
    51 return !(node_ == rhs.node_);
    -
    52 }
    -
    -
    53
    -
    54 friend class LinkedList;
    -
    55 };
    -
    -
    56
    - - -
    59 std::size_t _size;
    -
    60
    -
    61public:
    - - -
    64
    -
    65 LinkedList() : _front(), _back(), _size(0) {};
    -
    66
    -
    -
    67 LinkedList(const LinkedList& rhs) :
    -
    68 LinkedList() {
    -
    69 for (const T& data : rhs) {
    -
    70 PushBack(data);
    -
    71 }
    -
    72 }
    -
    -
    73
    -
    -
    74 LinkedList(LinkedList&& rhs) noexcept :
    -
    75 _front(std::exchange(rhs._front, nullptr)),
    -
    76 _back(std::exchange(rhs._back, nullptr)),
    -
    77 _size(std::exchange(rhs._size, 0)) {
    -
    78 }
    -
    -
    79
    -
    - -
    81 while (_front) {
    -
    82 Node* next = _front->_next;
    -
    83 delete _front;
    -
    84 _front = next;
    -
    85 }
    -
    86 }
    -
    -
    87
    -
    - -
    89 swap(*this, rhs);
    -
    90 return *this;
    -
    91 }
    -
    -
    92
    -
    93 template <typename ...Args>
    -
    -
    94 void PushFront(Args&&... args) {
    -
    95 Node* node = new Node(std::forward<Args>(args)...);
    -
    96 node->_next = _front;
    -
    97 _front = node;
    -
    98 if (_size == 0) {
    -
    99 assert(!_back);
    -
    100 _back = _front;
    -
    101 }
    -
    102 ++_size;
    -
    103 }
    -
    -
    104
    -
    105 template <typename... Args>
    -
    -
    106 void PushBack(Args&&... args) {
    -
    107 Node* node = new Node(std::forward<Args>(args)...);
    -
    108 if (_size == 0) {
    -
    109 assert(!_front);
    -
    110 _front = node;
    -
    111 } else {
    -
    112 _back->_next = node;
    -
    113 }
    -
    114 _back = node;
    -
    115 ++_size;
    -
    116 }
    -
    -
    117
    -
    -
    118 void PopFront() {
    -
    119 assert(_size > 0 && "pop front from an empty list");
    -
    120 Node* old = _front;
    -
    121 _front = _front->_next;
    -
    122 if (--_size == 0) {
    -
    123 _back = nullptr;
    -
    124 }
    -
    125 delete old;
    -
    126 }
    -
    -
    127
    - -
    129 Iterator end() { return Iterator(nullptr); }
    - -
    131 ConstIterator end() const { return ConstIterator(nullptr); }
    -
    132 std::size_t size() const { return _size; }
    -
    133
    -
    134 friend void swap<T>(LinkedList& lhs, LinkedList& rhs);
    -
    135};
    -
    -
    136
    -
    137template <typename T>
    -
    - -
    139 using std::swap;
    -
    140 swap(lhs._front, rhs._front);
    -
    141 swap(lhs._back, rhs._back);
    -
    142 swap(lhs._size, rhs._size);
    -
    143}
    -
    -
    void swap(LinkedList< T > &lhs, LinkedList< T > &rhs)
    Definition LinkedList.h:138
    - -
    IteratorImpl & operator++()
    Definition LinkedList.h:34
    -
    ReturnType & operator*()
    Definition LinkedList.h:29
    -
    IteratorImpl operator++(int)
    Definition LinkedList.h:40
    - - -
    bool operator==(const IteratorImpl &rhs) const
    Definition LinkedList.h:46
    -
    bool operator!=(const IteratorImpl &rhs) const
    Definition LinkedList.h:50
    - - -
    Node(Args &&... args)
    Definition LinkedList.h:18
    - - -
    friend class LinkedList
    Definition LinkedList.h:20
    - -
    Node * _back
    Definition LinkedList.h:58
    -
    std::size_t _size
    Definition LinkedList.h:59
    -
    Node * _front
    Definition LinkedList.h:57
    -
    IteratorImpl< const T & > ConstIterator
    Definition LinkedList.h:63
    -
    friend void swap(LinkedList &lhs, LinkedList &rhs)
    Definition LinkedList.h:138
    - -
    ConstIterator begin() const
    Definition LinkedList.h:130
    -
    void PopFront()
    Definition LinkedList.h:118
    -
    Iterator begin()
    Definition LinkedList.h:128
    -
    void PushBack(Args &&... args)
    Definition LinkedList.h:106
    -
    ConstIterator end() const
    Definition LinkedList.h:131
    - -
    Iterator end()
    Definition LinkedList.h:129
    -
    IteratorImpl< T & > Iterator
    Definition LinkedList.h:62
    -
    LinkedList(LinkedList &&rhs) noexcept
    Definition LinkedList.h:74
    -
    LinkedList(const LinkedList &rhs)
    Definition LinkedList.h:67
    -
    std::size_t size() const
    Definition LinkedList.h:132
    -
    LinkedList & operator=(LinkedList rhs)
    Definition LinkedList.h:88
    -
    void PushFront(Args &&... args)
    Definition LinkedList.h:94
    -
    Definition entry.cpp:78
    -
    -
    -
    - - - - diff --git a/docs/_p_s_d_a_8h.html b/docs/_p_s_d_a_8h.html deleted file mode 100644 index fda9ea9..0000000 --- a/docs/_p_s_d_a_8h.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Flow: PSDA.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    PSDA.h File Reference
    -
    -
    -
    #include <iostream>
    -#include <vector>
    -#include <cassert>
    -
    -

    Go to the source code of this file.

    - - - -

    -Classes

    class  PSDA< T >
    -
    -
    - -
    - - - - diff --git a/docs/_p_s_d_a_8h.js b/docs/_p_s_d_a_8h.js deleted file mode 100644 index f653125..0000000 --- a/docs/_p_s_d_a_8h.js +++ /dev/null @@ -1,4 +0,0 @@ -var _p_s_d_a_8h = -[ - [ "PSDA< T >", "class_p_s_d_a.html", "class_p_s_d_a" ] -]; \ No newline at end of file diff --git a/docs/_p_s_d_a_8h_source.html b/docs/_p_s_d_a_8h_source.html deleted file mode 100644 index 5609c8f..0000000 --- a/docs/_p_s_d_a_8h_source.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - -Flow: PSDA.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    PSDA.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    -
    2#include <iostream>
    -
    3#include <vector>
    -
    4#include <cassert>
    -
    5
    -
    6
    -
    7//prefix sum difference array
    -
    8template <typename T>
    -
    -
    9class PSDA
    -
    10{
    -
    11 std::vector<T> _data;
    -
    12
    -
    13public:
    -
    14
    -
    15 PSDA(std::vector<T> arr);
    -
    16
    -
    17 int Size() const;
    -
    18 T& operator[](int r);
    -
    19 const T& operator[](int r) const;
    -
    20
    -
    21 auto begin();
    -
    22 const auto begin() const;
    -
    23 auto end();
    -
    24 const auto end() const;
    -
    25
    -
    26 T& Front();
    -
    27 const T& Front() const;
    -
    28 T& Back();
    -
    29 const T& Back() const;
    -
    30
    -
    31 void Integrate(int left, int right);
    -
    32 void Differentiate(int left, int right);
    -
    33 void LazyIncrement(int left, int right, const T& val);
    -
    34 const T& Query(int left, int right) const;
    -
    35};
    -
    -
    36
    -
    37
    -
    38template <typename T>
    -
    -
    39PSDA<T>::PSDA(std::vector<T> arr) : _data(std::move(arr))
    -
    40{
    -
    41 //empty
    -
    42}
    -
    -
    43
    -
    44
    -
    45
    -
    46template <typename T>
    -
    -
    47int PSDA<T>::Size() const
    -
    48{
    -
    49 return _data.size();
    -
    50}
    -
    -
    51
    -
    52template <typename T>
    -
    - -
    54{
    -
    55 assert(0 <= r && r < _data.size());
    -
    56 return _data[r];
    -
    57}
    -
    -
    58
    -
    59template <typename T>
    -
    -
    60const T& PSDA<T>::operator[](int r) const
    -
    61{
    -
    62 assert(0 <= r && r < _data.size());
    -
    63 return _data[r];
    -
    64}
    -
    -
    65
    -
    66template <typename T>
    -
    - -
    68{
    -
    69 return _data.begin();
    -
    70}
    -
    -
    71
    -
    72template <typename T>
    -
    -
    73const auto PSDA<T>::begin() const
    -
    74{
    -
    75 return _data.cbegin();
    -
    76}
    -
    -
    77
    -
    78template <typename T>
    -
    - -
    80{
    -
    81 return _data.end();
    -
    82}
    -
    -
    83
    -
    84template <typename T>
    -
    -
    85const auto PSDA<T>::end() const
    -
    86{
    -
    87 return _data.cend();
    -
    88}
    -
    -
    89
    -
    90
    -
    91
    -
    92template <typename T>
    -
    - -
    94{
    -
    95 return _data.front();
    -
    96}
    -
    -
    97
    -
    98template <typename T>
    -
    -
    99const T& PSDA<T>::Front() const
    -
    100{
    -
    101 return _data.front();
    -
    102}
    -
    -
    103
    -
    104template <typename T>
    -
    - -
    106{
    -
    107 return _data.back();
    -
    108}
    -
    -
    109
    -
    110template <typename T>
    -
    -
    111const T& PSDA<T>::Back() const
    -
    112{
    -
    113 return _data.back();
    -
    114}
    -
    -
    115
    -
    116
    -
    117
    -
    118
    -
    119
    -
    120
    -
    121template <typename T>
    -
    -
    122void PSDA<T>::Integrate(int left, int right)
    -
    123{
    -
    124 assert(0 <= left && left <= right && right < _data.size());
    -
    125
    -
    126 for (int r = left + 1; r <= right; ++r)
    -
    127 {
    -
    128 _data[r] += _data[r - 1];
    -
    129 }
    -
    130}
    -
    -
    131
    -
    132template <typename T>
    -
    -
    133void PSDA<T>::Differentiate(int left, int right)
    -
    134{
    -
    135 assert(0 <= left && left <= right && right < _data.size());
    -
    136
    -
    137 T prev = _data[left];
    -
    138
    -
    139 for (int r = left + 1; r <= right; ++r)
    -
    140 {
    -
    141 _data[r] -= prev;
    -
    142 prev += _data[r];
    -
    143 }
    -
    144}
    -
    -
    145
    -
    146template <typename T>
    -
    -
    147void PSDA<T>::LazyIncrement(int left, int right, const T& val)
    -
    148{
    -
    149 assert(0 <= left && left <= right && right < _data.size());
    -
    150
    -
    151 _data[left] += val;
    -
    152 if (right + 1 < _data.size()) _data[right + 1] -= val;
    -
    153}
    -
    -
    154
    -
    155template <typename T>
    -
    -
    156const T& PSDA<T>::Query(int left, int right) const
    -
    157{
    -
    158 assert(0 <= left && left <= right && right < _data.size());
    -
    159
    -
    160 T total = _data[right];
    -
    161 if (left - 1 >= 0) total -= _data[left - 1];
    -
    162
    -
    163 return total;
    -
    164}
    -
    -
    std::vector< T > _data
    Definition PSDA.h:11
    -
    void Integrate(int left, int right)
    Definition PSDA.h:122
    -
    T & Front()
    Definition PSDA.h:93
    -
    T & Back()
    Definition PSDA.h:105
    -
    int Size() const
    Definition PSDA.h:47
    -
    T & operator[](int r)
    Definition PSDA.h:53
    -
    PSDA(std::vector< T > arr)
    Definition PSDA.h:39
    -
    const T & Query(int left, int right) const
    Definition PSDA.h:156
    -
    void LazyIncrement(int left, int right, const T &val)
    Definition PSDA.h:147
    -
    auto begin()
    Definition PSDA.h:67
    -
    auto end()
    Definition PSDA.h:79
    -
    void Differentiate(int left, int right)
    Definition PSDA.h:133
    -
    Definition entry.cpp:78
    -
    -
    -
    - - - - diff --git a/docs/_random_meldable_heap_8h.html b/docs/_random_meldable_heap_8h.html deleted file mode 100644 index cf5afb4..0000000 --- a/docs/_random_meldable_heap_8h.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -Flow: RandomMeldableHeap.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    RandomMeldableHeap.h File Reference
    -
    -
    -
    #include <cassert>
    -#include <utility>
    -#include <random>
    -#include <iostream>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  RandomMeldableHeap< T, Predicate >
    struct  RandomMeldableHeap< T, Predicate >::Node
    -
    -
    - -
    - - - - diff --git a/docs/_random_meldable_heap_8h.js b/docs/_random_meldable_heap_8h.js deleted file mode 100644 index db26b0e..0000000 --- a/docs/_random_meldable_heap_8h.js +++ /dev/null @@ -1,5 +0,0 @@ -var _random_meldable_heap_8h = -[ - [ "RandomMeldableHeap< T, Predicate >", "class_random_meldable_heap.html", "class_random_meldable_heap" ], - [ "RandomMeldableHeap< T, Predicate >::Node", "struct_random_meldable_heap_1_1_node.html", "struct_random_meldable_heap_1_1_node" ] -]; \ No newline at end of file diff --git a/docs/_random_meldable_heap_8h_source.html b/docs/_random_meldable_heap_8h_source.html deleted file mode 100644 index 8cfac0f..0000000 --- a/docs/_random_meldable_heap_8h_source.html +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - -Flow: RandomMeldableHeap.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    RandomMeldableHeap.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    -
    2#include <cassert>
    -
    3#include <utility>
    -
    4#include <random>
    -
    5#include <iostream>
    -
    6
    -
    7template <typename T, typename Predicate = std::greater<T>>
    -
    - -
    -
    9 struct Node {
    - - - -
    13
    -
    14 Node(T&& val) : val_(std::move(val)), left_(), right_() {}
    -
    15 Node(const Node&) = delete;
    -
    16 Node(Node&&) = delete;
    -
    17 Node& operator=(const Node&) = delete;
    -
    18 Node& operator=(Node&&) = delete;
    -
    - -
    20 delete left_;
    -
    21 delete right_;
    -
    22 }
    -
    -
    23 };
    -
    -
    24
    - -
    26 std::size_t _size;
    -
    27
    -
    28public:
    - - -
    31 RandomMeldableHeap(RandomMeldableHeap&& heap) : root_(std::exchange(heap.root_, nullptr)), _size(std::exchange(heap._size, 0)) {}
    - - -
    - -
    35 delete root_;
    -
    36 }
    -
    -
    37
    -
    38private:
    -
    -
    39 static Node* MergeRoots(Node* root0, Node* root1, Predicate p = Predicate()) {
    -
    40 if (!root0) {
    -
    41 return root1;
    -
    42 }
    -
    43 if (!root1) {
    -
    44 return root0;
    -
    45 }
    -
    46
    -
    47 if (p(root1->val_, root0->val_)) {
    -
    48 std::swap(root0, root1);
    -
    49 }
    -
    50
    -
    51 Node** child = (dis(rd) ? &root0->left_ : &root0->right_);
    -
    52 *child = MergeRoots(root1, *child);
    -
    53 return root0;
    -
    54 }
    -
    -
    55
    -
    56public:
    -
    - -
    58 root_ = MergeRoots(root_, heap.root_);
    -
    59 _size += heap._size;
    -
    60 heap.root_ = nullptr;
    -
    61 heap._size = 0;
    -
    62 }
    -
    -
    63
    -
    64 template <typename ...Args>
    -
    -
    65 void Push(Args&&... args) {
    -
    66 root_ = MergeRoots(root_, new Node(T(std::forward<Args>(args)...)));
    -
    67 ++_size;
    -
    68 }
    -
    -
    69
    -
    -
    70 T& Top() {
    -
    71 assert(_size >= 0 && "access empty heap top");
    -
    72 return root_->val_;
    -
    73 }
    -
    -
    74
    -
    -
    75 const T& Top() const {
    -
    76 assert(_size >= 0 && "access empty heap top");
    -
    77 return root_->val_;
    -
    78 }
    -
    -
    79
    -
    -
    80 void Pop() {
    -
    81 assert(root_ && "pop from empty heap");
    -
    82
    -
    83 Node* oldRoot = root_;
    -
    84 root_ = MergeRoots(root_->left_, root_->right_);
    -
    85 oldRoot->left_ = nullptr;
    -
    86 oldRoot->right_ = nullptr;
    -
    87 delete oldRoot;
    -
    88 --_size;
    -
    89 }
    -
    -
    90
    -
    -
    91 std::size_t Size() const {
    -
    92 return _size;
    -
    93 }
    -
    -
    94
    -
    95private:
    -
    96 inline static std::random_device rd{};
    -
    97 inline static std::bernoulli_distribution dis{};
    -
    98};
    -
    -
    99
    -
    RandomMeldableHeap & operator=(const RandomMeldableHeap &)=delete
    -
    const T & Top() const
    -
    RandomMeldableHeap(const RandomMeldableHeap &)=delete
    -
    static std::bernoulli_distribution dis
    - -
    RandomMeldableHeap & operator=(RandomMeldableHeap &&)=delete
    -
    void Push(Args &&... args)
    - - - -
    std::size_t Size() const
    - -
    static std::random_device rd
    - -
    static Node * MergeRoots(Node *root0, Node *root1, Predicate p=Predicate())
    -
    void Merge(RandomMeldableHeap &&heap)
    -
    RandomMeldableHeap(RandomMeldableHeap &&heap)
    -
    Definition entry.cpp:78
    - -
    Node & operator=(Node &&)=delete
    -
    Node & operator=(const Node &)=delete
    - - - -
    Node(const Node &)=delete
    - - -
    Node(Node &&)=delete
    -
    -
    -
    - - - - diff --git a/docs/_segment_tree_8h.html b/docs/_segment_tree_8h.html deleted file mode 100644 index 4f89d75..0000000 --- a/docs/_segment_tree_8h.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -Flow: SegmentTree.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SegmentTree.h File Reference
    -
    -
    -
    #include <iostream>
    -#include <iomanip>
    -#include <vector>
    -#include <string>
    -#include <cmath>
    -
    -

    Go to the source code of this file.

    - - - -

    -Classes

    class  SegmentTree< T, BinOp >
    -
    -
    - -
    - - - - diff --git a/docs/_segment_tree_8h.js b/docs/_segment_tree_8h.js deleted file mode 100644 index e9be0dc..0000000 --- a/docs/_segment_tree_8h.js +++ /dev/null @@ -1,4 +0,0 @@ -var _segment_tree_8h = -[ - [ "SegmentTree< T, BinOp >", "class_segment_tree.html", "class_segment_tree" ] -]; \ No newline at end of file diff --git a/docs/_segment_tree_8h_source.html b/docs/_segment_tree_8h_source.html deleted file mode 100644 index 3dd96ff..0000000 --- a/docs/_segment_tree_8h_source.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - -Flow: SegmentTree.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SegmentTree.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    -
    2#include <iostream>
    -
    3#include <iomanip>
    -
    4#include <vector>
    -
    5#include <string>
    -
    6#include <cmath>
    -
    7
    -
    8template <typename T, typename BinOp>
    -
    - -
    10{
    -
    11 std::vector<T> tree_;
    -
    12
    -
    13public:
    -
    14
    -
    15 SegmentTree(std::initializer_list<T> lst);
    -
    16 SegmentTree(std::vector<T> lst);
    -
    17
    -
    18private:
    -
    19 void BuildParent(BinOp op = BinOp());
    -
    20
    -
    21
    -
    22public:
    -
    23 void PointUpdate(int segment, const T& new_value, BinOp op = BinOp());
    -
    24 T RangeQuery(int left, int right, BinOp op = BinOp()) const;
    -
    25
    -
    26 void RangeUpdate(int left, int right, const T& new_value, BinOp op = BinOp());
    -
    27 T PointQuery(int segment, BinOp op = BinOp()) const;
    -
    28
    -
    29 void Print(int width) const;
    -
    30};
    -
    -
    31
    -
    32
    -
    33template <typename T, typename BinOp>
    -
    -
    34SegmentTree<T, BinOp>::SegmentTree(std::initializer_list<T> lst) : tree_(lst.size() * 2)
    -
    35{
    -
    36 std::copy(lst.begin(), lst.end(), tree_.begin() + tree_.size() / 2);
    -
    37 this->BuildParent();
    -
    38}
    -
    -
    39
    -
    40template <typename T, typename BinOp>
    -
    -
    41SegmentTree<T, BinOp>::SegmentTree(std::vector<T> lst) : tree_(std::move(lst))
    -
    42{
    -
    43 tree_.resize(tree_.size() * 2);
    -
    44 this->BuildParent();
    -
    45}
    -
    -
    46
    -
    47template <typename T, typename BinOp>
    -
    - -
    49{
    -
    50 for (int r = static_cast<int>(tree_.size()) / 2 - 1; r >= 1; --r)
    -
    51 {
    -
    52 tree_[r] = op(tree_[r * 2], tree_[r * 2 + 1]);
    -
    53 }
    -
    54}
    -
    -
    55
    -
    56
    -
    57
    -
    58
    -
    59
    -
    60
    -
    61
    -
    62//query type 0, point update + range query
    -
    63
    -
    64template <typename T, typename BinOp>
    -
    -
    65void SegmentTree<T, BinOp>::PointUpdate(int segment, const T& new_value, BinOp op)
    -
    66{
    -
    67 segment += static_cast<int>(tree_.size()) / 2;
    -
    68 tree_[segment] = new_value;
    -
    69 while (segment >= 1)
    -
    70 {
    -
    71 segment /= 2;
    -
    72 tree_[segment] = op(tree_[segment * 2], tree_[segment * 2 + 1]);
    -
    73 }
    -
    74}
    -
    -
    75
    -
    76template <typename T, typename BinOp>
    -
    -
    77T SegmentTree<T, BinOp>::RangeQuery(int left, int right, BinOp op) const
    -
    78{
    -
    79 //convert to the child leaf index
    -
    80 left += static_cast<int>(tree_.size()) / 2;
    -
    81 right += static_cast<int>(tree_.size()) / 2;
    -
    82
    -
    83 //set up the initial query value
    -
    84 T res = tree_[left];
    -
    85
    -
    86 //check if left and right borders collide
    -
    87 while(left <= right)
    -
    88 {
    -
    89 //apply the operators to the edge segment
    -
    90 if (left % 2 == 1) res = op(res, tree_[left++]);
    -
    91 if (right % 2 == 0) res = op(res, tree_[right--]);
    -
    92
    -
    93 //climb up the tree
    -
    94 left /= 2;
    -
    95 right /= 2;
    -
    96 }
    -
    97
    -
    98 return res;
    -
    99}
    -
    -
    100
    -
    101
    -
    102
    -
    103template <typename T, typename BinOp>
    -
    -
    104void SegmentTree<T, BinOp>::RangeUpdate(int left, int right, const T& new_value, BinOp op)
    -
    105{
    -
    106 left += static_cast<int>(tree_.size() / 2);
    -
    107 right += static_cast<int>(tree_.size() / 2);
    -
    108
    -
    109 while(left <= right)
    -
    110 {
    -
    111 if (left % 2 == 1)
    -
    112 {
    -
    113 tree_[left] = op(tree_[left], new_value);
    -
    114 ++left;
    -
    115 }
    -
    116
    -
    117 if (right % 2 == 0)
    -
    118 {
    -
    119 tree_[right] = op(tree_[right], new_value);
    -
    120 --right;
    -
    121 }
    -
    122
    -
    123 left /= 2;
    -
    124 right /= 2;
    -
    125 }
    -
    126}
    -
    -
    127
    -
    128template <typename T, typename BinOp>
    -
    -
    129T SegmentTree<T, BinOp>::PointQuery(int segment, BinOp op) const
    -
    130{
    -
    131 segment += static_cast<int>(tree_.size() / 2);
    -
    132}
    -
    -
    133
    -
    134
    -
    135
    -
    136
    -
    137
    -
    138
    -
    139
    -
    140
    -
    141template <typename T, typename BinOp>
    -
    -
    142void SegmentTree<T, BinOp>::Print(int width) const
    -
    143{
    -
    144 //notice the log2 and pow 2 does not cancel out each other due to int trancation
    -
    145 //get the height of the tree
    -
    146 int height = static_cast<int>(std::log2(tree_.size()));
    -
    147
    -
    148 //get the number of elements at the bottom row
    -
    149 int space = static_cast<int>(std::pow(2.0, height)) * width;
    -
    150
    -
    151 for (int curr_tw = 0, max_tw = 1, r = 1; r < tree_.size(); ++r)
    -
    152 {
    -
    153 //get the length of each segment
    -
    154 int segment_space = space / max_tw;
    -
    155
    -
    156 //subtract the text length of the number
    -
    157 std::string segment_text = std::to_string(tree_[r]);
    -
    158
    -
    159 segment_space -= static_cast<int>(segment_text.size());
    -
    160 segment_space = std::max(0, segment_space);
    -
    161 int left = segment_space / 2;
    -
    162 int right = left + segment_space % 2;
    -
    163
    -
    164 std::cout << std::string(left, ' ') + segment_text + std::string(right, ' ');
    -
    165
    -
    166 if (++curr_tw == max_tw)
    -
    167 {
    -
    168 curr_tw = 0;
    -
    169 max_tw *= 2;
    -
    170 std::cout << '\n';
    -
    171 }
    -
    172 }
    -
    173}
    -
    -
    SegmentTree(std::initializer_list< T > lst)
    Definition SegmentTree.h:34
    -
    std::vector< T > tree_
    Definition SegmentTree.h:11
    -
    void RangeUpdate(int left, int right, const T &new_value, BinOp op=BinOp())
    -
    T PointQuery(int segment, BinOp op=BinOp()) const
    -
    void PointUpdate(int segment, const T &new_value, BinOp op=BinOp())
    Definition SegmentTree.h:65
    -
    void Print(int width) const
    -
    T RangeQuery(int left, int right, BinOp op=BinOp()) const
    Definition SegmentTree.h:77
    -
    void BuildParent(BinOp op=BinOp())
    Definition SegmentTree.h:48
    -
    Definition entry.cpp:78
    -
    -
    -
    - - - - diff --git a/docs/_skip_list_8h.html b/docs/_skip_list_8h.html deleted file mode 100644 index bd7cb4a..0000000 --- a/docs/_skip_list_8h.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Flow: SkipList.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SkipList.h File Reference
    -
    -
    -
    #include <iostream>
    -#include <utility>
    -#include <vector>
    -#include <chrono>
    -#include <random>
    -#include <cassert>
    -
    -

    Go to the source code of this file.

    - - - - - - -

    -Classes

    class  SkipList< KeyType, ValueType, Predicate >
    struct  SkipList< KeyType, ValueType, Predicate >::Node
    struct  SkipList< KeyType, ValueType, Predicate >::Tower
    class  SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >
    -
    -
    - -
    - - - - diff --git a/docs/_skip_list_8h.js b/docs/_skip_list_8h.js deleted file mode 100644 index e20cc34..0000000 --- a/docs/_skip_list_8h.js +++ /dev/null @@ -1,7 +0,0 @@ -var _skip_list_8h = -[ - [ "SkipList< KeyType, ValueType, Predicate >", "class_skip_list.html", "class_skip_list" ], - [ "SkipList< KeyType, ValueType, Predicate >::Node", "struct_skip_list_1_1_node.html", "struct_skip_list_1_1_node" ], - [ "SkipList< KeyType, ValueType, Predicate >::Tower", "struct_skip_list_1_1_tower.html", "struct_skip_list_1_1_tower" ], - [ "SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >", "class_skip_list_1_1_iterator_impl.html", "class_skip_list_1_1_iterator_impl" ] -]; \ No newline at end of file diff --git a/docs/_skip_list_8h_source.html b/docs/_skip_list_8h_source.html deleted file mode 100644 index 1c16ea4..0000000 --- a/docs/_skip_list_8h_source.html +++ /dev/null @@ -1,387 +0,0 @@ - - - - - - - -Flow: SkipList.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SkipList.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    -
    2#include <iostream>
    -
    3#include <utility>
    -
    4#include <vector>
    -
    5#include <chrono>
    -
    6#include <random>
    -
    7#include <cassert>
    -
    8
    -
    9template <typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    -
    -
    10class SkipList {
    -
    11 using KeyValueType = std::pair<const KeyType, ValueType>;
    -
    12
    -
    13 static inline const Predicate comp{};
    -
    14
    -
    15 struct Tower;
    -
    16
    -
    -
    17 struct Node {
    - -
    19 Node() : _next(nullptr) {}
    -
    20 };
    -
    -
    21
    -
    -
    22 struct Tower {
    -
    23 std::optional<KeyValueType> _keyValue;
    -
    24 std::vector<Node> _nodes; //height = size - 1, first node owns the tower
    -
    25
    -
    26 Tower() : _keyValue(), _nodes(1) {}
    -
    27
    -
    -
    28 Tower(const KeyValueType& keyValue) : _keyValue(keyValue) {
    -
    29 static std::default_random_engine engine(unsigned(std::chrono::system_clock().now().time_since_epoch().count()));
    -
    30 static std::bernoulli_distribution dist(1.0 / 2.71828182846); // 1/e
    -
    31 int size = 1;
    -
    32 while (dist(engine)) {
    -
    33 ++size;
    -
    34 }
    -
    35 _nodes.resize(size);
    -
    36 }
    -
    -
    37
    -
    -
    38 const KeyType& Key() {
    -
    39 return _keyValue->first;
    -
    40 }
    -
    -
    41
    -
    -
    42 ValueType& Value() {
    -
    43 return _keyValue->second;
    -
    44 }
    -
    -
    45 };
    -
    -
    46
    -
    47 template <typename ReturnType>
    -
    - - - -
    51
    -
    52 public:
    -
    - -
    54 assert(tower->_nodes.at(0) && "incrementing pass the end");
    -
    55 tower = tower->_nodes[0];
    -
    56 return *this;
    -
    57 }
    -
    -
    58
    -
    -
    59 bool operator==(const IteratorImpl& other) const {
    -
    60 return tower == other.tower;
    -
    61 }
    -
    -
    62
    -
    -
    63 bool operator!=(const IteratorImpl& other) const {
    -
    64 return !(*this == other);
    -
    65 }
    -
    -
    66
    -
    -
    67 ReturnType operator*() {
    -
    68 assert(tower && tower->_keyValue && "dereference sentinel node");
    -
    69 return *tower->_keyValue;
    -
    70 }
    -
    -
    71 friend class SkipList;
    -
    72 };
    -
    -
    73
    - -
    75
    -
    -
    76 std::vector<Node*> GetPredecessors(const KeyType& key) const {
    -
    77 Tower* currTower = _root;
    -
    78 int height = int(_root->_nodes.size()) - 1;
    -
    79
    -
    80 std::vector<Node*> predecessors = { &currTower->_nodes[height] };
    -
    81
    -
    82 //go down by 1 height each iteration
    -
    83 while (--height >= 0) {
    -
    84
    -
    85 //search horizontally until reaches the upper bound or sentinel
    -
    86 Node* currNode = &currTower->_nodes[height];
    -
    87 while (currNode->_next && comp(currNode->_next->Key(), key)) {
    -
    88 currNode = &currNode->_next->_nodes[height];
    -
    89 }
    -
    90 predecessors.push_back(currNode);
    -
    91 }
    -
    92 return predecessors;
    -
    93 }
    -
    -
    94
    -
    95public:
    - - -
    98
    -
    - -
    100 return Iterator(_root->_nodes.front()->_next);
    -
    101 }
    -
    -
    102
    -
    - -
    104 return ConstIterator(_root->_nodes.front()->_next);
    -
    105 }
    -
    -
    106
    -
    - -
    108 return Iterator(nullptr);
    -
    109 }
    -
    -
    110
    -
    - -
    112 return ConstIterator(nullptr);
    -
    113 }
    -
    -
    114
    -
    -
    115 Iterator Find(const KeyType& key) {
    -
    116 Tower* const tower = GetPredecessors(key).back()->_next;
    -
    117 return Iterator((tower && !comp(tower->Key(), key) && !comp(key, tower->Key())) ? tower : nullptr); //is == defined?, should I use < instead?
    -
    118 }
    -
    -
    119
    -
    -
    120 ConstIterator Find(const KeyType& key) const {
    -
    121 Tower* const tower = GetPredecessors(key).back()->_next;
    -
    122 return ConstIterator((tower && !comp(tower->Key(), key) && !comp(key, tower->Key())) ? tower : nullptr);
    -
    123 }
    -
    -
    124
    -
    -
    125 void Insert(const KeyValueType& keyValue) {
    -
    126 if (auto result = Find(keyValue.first); result != end()) {
    -
    127 (*result).second = keyValue.second;
    -
    128 return;
    -
    129 }
    -
    130
    -
    131 //insert the new tower
    -
    132 Tower* newTower = new Tower(keyValue); //pray it doesn't throw, this strategy always works
    -
    133 if (_root->_nodes.size() <= newTower->_nodes.size()) {
    -
    134 _root->_nodes.resize(newTower->_nodes.size() + 1);
    -
    135 }
    -
    136 auto predecessors = GetPredecessors(keyValue.first);
    -
    137
    -
    138 for (Node& node : newTower->_nodes) {
    -
    139 node._next = predecessors.back()->_next;
    -
    140 predecessors.back()->_next = newTower;
    -
    141 predecessors.pop_back();
    -
    142 }
    -
    143 }
    -
    -
    144
    -
    -
    145 void Erase(const KeyType& key) {
    -
    146 auto predecessors = GetPredecessors(key);
    -
    147 Tower* const tower = predecessors.back()->_next;
    -
    148 bool found = false;
    -
    149
    -
    150 int height = 0;
    -
    151 for (auto iter = predecessors.rbegin(); iter != predecessors.rend(); ++iter, ++height) {
    -
    152 Tower* const candidate = (*iter)->_next;
    -
    153 if (candidate && !comp(candidate->Key(), key) && !comp(key, candidate->Key())) {
    -
    154 (*iter)->_next = candidate->_nodes[height]._next;
    -
    155 found = true;
    -
    156 } else {
    -
    157 break;
    -
    158 }
    -
    159 }
    -
    160
    -
    161 if (found) {
    -
    162 delete tower;
    -
    163 }
    -
    164 }
    -
    -
    165
    -
    -
    166 void Print() const {
    -
    167 for (int i = int(_root->_nodes.size()) - 1; i >= 0; --i) {
    -
    168 Node node = _root->_nodes[i];
    -
    169 for (Tower* tower = node._next; tower; ) {
    -
    170 std::cout << "_(" << tower->Key() << ", " << tower->Value() << ")";
    -
    171 tower = tower->_nodes[i]._next;
    -
    172 }
    -
    173 std::cout << '\n';
    -
    174 }
    -
    175 }
    -
    -
    176
    -
    177 explicit SkipList() : _root(new Tower()) {}
    -
    178
    -
    179 explicit SkipList(const SkipList& other) = delete;
    -
    180
    -
    181 explicit SkipList(SkipList&& other) noexcept : _root(std::exchange(other._root, nullptr)) {}
    -
    182
    -
    - -
    184 for (Tower* curr = _root; curr; ) {
    -
    185 Tower* next = curr->_nodes.front()._next;
    -
    186 delete curr;
    -
    187 curr = next;
    -
    188 }
    -
    189 }
    -
    -
    190
    -
    191 SkipList& operator=(const SkipList& other) = delete;
    -
    192
    -
    -
    193 SkipList& operator=(SkipList&& other) noexcept {
    -
    194 std::swap(_root, other._root);
    -
    195 }
    -
    -
    196};
    -
    - - -
    IteratorImpl(Tower *tower)
    Definition SkipList.h:50
    -
    bool operator==(const IteratorImpl &other) const
    Definition SkipList.h:59
    - -
    IteratorImpl & operator++()
    Definition SkipList.h:53
    -
    bool operator!=(const IteratorImpl &other) const
    Definition SkipList.h:63
    -
    ReturnType operator*()
    Definition SkipList.h:67
    -
    void Insert(const KeyValueType &keyValue)
    Definition SkipList.h:125
    -
    SkipList & operator=(SkipList &&other) noexcept
    Definition SkipList.h:193
    -
    Iterator Find(const KeyType &key)
    Definition SkipList.h:115
    - -
    ConstIterator end() const
    Definition SkipList.h:111
    -
    Tower * _root
    Definition SkipList.h:74
    -
    IteratorImpl< KeyValueType & > Iterator
    Definition SkipList.h:96
    -
    SkipList(SkipList &&other) noexcept
    Definition SkipList.h:181
    -
    Iterator end()
    Definition SkipList.h:107
    -
    ~SkipList()
    Definition SkipList.h:183
    -
    void Erase(const KeyType &key)
    Definition SkipList.h:145
    -
    SkipList(const SkipList &other)=delete
    -
    ConstIterator Find(const KeyType &key) const
    Definition SkipList.h:120
    -
    SkipList & operator=(const SkipList &other)=delete
    -
    std::vector< Node * > GetPredecessors(const KeyType &key) const
    Definition SkipList.h:76
    -
    std::pair< const KeyType, ValueType > KeyValueType
    Definition SkipList.h:11
    -
    Iterator begin()
    Definition SkipList.h:99
    -
    static const Predicate comp
    Definition SkipList.h:13
    -
    void Print() const
    Definition SkipList.h:166
    -
    ConstIterator begin() const
    Definition SkipList.h:103
    -
    IteratorImpl< const KeyValueType & > ConstIterator
    Definition SkipList.h:97
    - -
    Tower * _next
    Definition SkipList.h:18
    - - - -
    std::vector< Node > _nodes
    Definition SkipList.h:24
    -
    std::optional< KeyValueType > _keyValue
    Definition SkipList.h:23
    -
    ValueType & Value()
    Definition SkipList.h:42
    -
    const KeyType & Key()
    Definition SkipList.h:38
    -
    Tower(const KeyValueType &keyValue)
    Definition SkipList.h:28
    -
    -
    -
    - - - - diff --git a/docs/_sparse_table_8h.html b/docs/_sparse_table_8h.html deleted file mode 100644 index 81c1e98..0000000 --- a/docs/_sparse_table_8h.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Flow: SparseTable.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SparseTable.h File Reference
    -
    -
    -
    #include <iostream>
    -#include <iomanip>
    -#include <vector>
    -
    -

    Go to the source code of this file.

    - - - -

    -Classes

    class  SparseTable< T, BinOp >
    -
    -
    - -
    - - - - diff --git a/docs/_sparse_table_8h.js b/docs/_sparse_table_8h.js deleted file mode 100644 index 4cd96a5..0000000 --- a/docs/_sparse_table_8h.js +++ /dev/null @@ -1,4 +0,0 @@ -var _sparse_table_8h = -[ - [ "SparseTable< T, BinOp >", "class_sparse_table.html", "class_sparse_table" ] -]; \ No newline at end of file diff --git a/docs/_sparse_table_8h_source.html b/docs/_sparse_table_8h_source.html deleted file mode 100644 index 94a42c0..0000000 --- a/docs/_sparse_table_8h_source.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - -Flow: SparseTable.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SparseTable.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    -
    2#include <iostream>
    -
    3#include <iomanip>
    -
    4#include <vector>
    -
    5
    -
    6
    -
    7//idempotent operator requires
    -
    8template <typename T, typename BinOp>
    -
    - -
    10{
    -
    11 std::vector<std::vector<T>> _data;
    -
    12
    -
    13public:
    -
    14
    -
    15 SparseTable(std::vector<T> arr, BinOp op = BinOp());
    -
    16 T Query(int left, int right, BinOp op = BinOp()) const;
    -
    17 T FastQuery(int left, int right, BinOp op = BinOp()) const;
    -
    18 void Print(int width) const;
    -
    19
    -
    20 static int Pow2(int power);
    -
    21};
    -
    -
    22
    -
    23template <typename T, typename BinOp>
    -
    -
    24SparseTable<T, BinOp>::SparseTable(std::vector<T> arr, BinOp op)
    -
    25{
    -
    26 //base layer
    -
    27 _data.push_back(std::move(arr));
    -
    28
    -
    29 //increase height if the interval covering length <= arr size
    -
    30 for (int h = 1; Pow2(h) <= _data[0].size(); ++h)
    -
    31 {
    -
    32 //allocate table length with estimated size
    -
    33 int inter_len = Pow2(h - 1);
    -
    34 _data.push_back(std::vector<T>(_data[h - 1].size() - inter_len));
    -
    35 for (int r = 0; r < _data[h].size(); ++r)
    -
    36 {
    -
    37 _data[h][r] = op(_data[h - 1][r], _data[h - 1][r + inter_len]);
    -
    38 }
    -
    39 }
    -
    40}
    -
    -
    41
    -
    42template <typename T, typename BinOp>
    -
    -
    43T SparseTable<T, BinOp>::Query(int left, int right, BinOp op) const
    -
    44{
    -
    45 //initial query result
    -
    46 T res = _data[0][left];
    -
    47
    -
    48 //top down
    -
    49 for (int h = static_cast<int>(_data.size()) - 1; h >= 0; --h)
    -
    50 {
    -
    51 //check if the table includes the left index
    -
    52 if (left < _data[h].size())
    -
    53 {
    -
    54 int inter_len = Pow2(h);
    -
    55 int require_len = right - left + 1;
    -
    56
    -
    57 //if the interval fits within the range
    -
    58 if (inter_len <= require_len)
    -
    59 {
    -
    60 //query
    -
    61 res = op(res, _data[h][left]);
    -
    62
    -
    63 //update range
    -
    64 left += inter_len;
    -
    65 }
    -
    66 }
    -
    67 }
    -
    68
    -
    69 return res;
    -
    70}
    -
    -
    71
    -
    72template <typename T, typename BinOp>
    -
    -
    73T SparseTable<T, BinOp>::FastQuery(int left, int right, BinOp op) const
    -
    74{
    -
    75
    -
    76}
    -
    -
    77
    -
    78template <typename T, typename BinOp>
    -
    -
    79void SparseTable<T, BinOp>::Print(int width) const
    -
    80{
    -
    81 for (const auto& row : _data)
    -
    82 {
    -
    83 for (const auto& column : row)
    -
    84 {
    -
    85 std::cout << std::setw(width) << column;
    -
    86 }
    -
    87 std::cout << '\n';
    -
    88 }
    -
    89}
    -
    -
    90
    -
    91
    -
    92
    -
    93template <typename T, typename BinOp>
    -
    - -
    95{
    -
    96 return 1 << power;
    -
    97}
    -
    -
    void Print(int width) const
    Definition SparseTable.h:79
    -
    static int Pow2(int power)
    Definition SparseTable.h:94
    -
    std::vector< std::vector< T > > _data
    Definition SparseTable.h:11
    -
    SparseTable(std::vector< T > arr, BinOp op=BinOp())
    Definition SparseTable.h:24
    -
    T FastQuery(int left, int right, BinOp op=BinOp()) const
    Definition SparseTable.h:73
    -
    T Query(int left, int right, BinOp op=BinOp()) const
    Definition SparseTable.h:43
    -
    -
    -
    - - - - diff --git a/docs/_trie_8h.html b/docs/_trie_8h.html deleted file mode 100644 index 922dfc6..0000000 --- a/docs/_trie_8h.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Flow: Trie.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Trie.h File Reference
    -
    -
    -
    #include <iostream>
    -#include <map>
    -#include <vector>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  Trie< T >
    class  Trie< T >::Node
    -
    -
    - -
    - - - - diff --git a/docs/_trie_8h.js b/docs/_trie_8h.js deleted file mode 100644 index 95a44cb..0000000 --- a/docs/_trie_8h.js +++ /dev/null @@ -1,5 +0,0 @@ -var _trie_8h = -[ - [ "Trie< T >", "class_trie.html", "class_trie" ], - [ "Trie< T >::Node", "class_trie_1_1_node.html", "class_trie_1_1_node" ] -]; \ No newline at end of file diff --git a/docs/_trie_8h_source.html b/docs/_trie_8h_source.html deleted file mode 100644 index 441d505..0000000 --- a/docs/_trie_8h_source.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - -Flow: Trie.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Trie.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    -
    2#include <iostream>
    -
    3#include <map>
    -
    4#include <vector>
    -
    5
    -
    6template <typename T>
    -
    -
    7class Trie {
    -
    8
    -
    9//public:
    -
    -
    10 class Node {
    -
    11 public:
    -
    12 std::map<T, Node> child_;
    -
    13 bool is_end_;
    -
    14 Node();
    -
    15 };
    -
    -
    16
    -
    17private:
    - -
    19
    -
    20public:
    -
    21 Trie();
    -
    22 Node* Find(const T* arr, std::size_t len);
    -
    23 const Node* Find(const T* arr, std::size_t len) const;
    -
    24 bool Contain(const T* arr, std::size_t len) const;
    -
    25 bool ContainPrefix(const T* arr, std::size_t len) const;
    -
    26 void Push(const T* arr, std::size_t len);
    -
    27 void Erase(const T* arr, std::size_t len);
    -
    28 std::vector<std::vector<T>> GetAll() const;
    -
    29
    -
    30private:
    -
    31 static void Walk(std::vector< std::vector<T>>& res, std::vector<T>& seq, const Trie<T>::Node& curr);
    -
    32};
    -
    -
    33
    -
    34
    -
    35
    -
    36
    -
    37template <typename T>
    - -
    39
    -
    40template<typename T>
    - -
    42
    -
    43
    -
    44template <typename T>
    -
    -
    45typename Trie<T>::Node* Trie<T>::Find(const T* arr, std::size_t len) {
    -
    46 return const_cast<Trie<T>::Node*>(static_cast<const Trie<T>&>(*this).Find(arr, len));
    -
    47}
    -
    -
    48
    -
    49template <typename T>
    -
    -
    50const typename Trie<T>::Node* Trie<T>::Find(const T* arr, std::size_t len) const {
    -
    51 const typename Trie<T>::Node* curr = &root_;
    -
    52 for (std::size_t i = 0; i < len; ++i) {
    -
    53 const auto res = curr->child_.find(arr[i]);
    -
    54 if (res == curr->child_.end()) return nullptr;
    -
    55 curr = &res->second;
    -
    56 }
    -
    57 return curr;
    -
    58}
    -
    -
    59
    -
    60
    -
    61template <typename T>
    -
    -
    62bool Trie<T>::Contain(const T* arr, std::size_t len) const {
    -
    63 const typename Trie<T>::Node* res = Find(arr, len);
    -
    64 return res != nullptr && res->is_end_;
    -
    65}
    -
    -
    66
    -
    67template <typename T>
    -
    -
    68bool Trie<T>::ContainPrefix(const T* arr, std::size_t len) const {
    -
    69 const typename Trie<T>::Node* res = Find(arr, len);
    -
    70 return res != nullptr;
    -
    71}
    -
    -
    72
    -
    73template <typename T>
    -
    -
    74void Trie<T>::Push(const T* arr, std::size_t len) {
    -
    75 Trie<T>::Node* curr = &root_;
    -
    76 for (std::size_t i = 0; i < len; ++i) {
    -
    77 curr = &curr->child_[arr[i]];
    -
    78 }
    -
    79 curr->is_end_ = true;
    -
    80}
    -
    -
    81
    -
    82template <typename T>
    -
    -
    83void Trie<T>::Erase(const T* arr, std::size_t len) {
    -
    84
    -
    85 std::vector<Trie<T>::Node*> stk;
    -
    86 Trie<T>::Node* curr = &root_;
    -
    87 for (std::size_t i = 0; i < len; ++i) {
    -
    88 auto res = curr->child_.find(arr[i]);
    -
    89 if (res == curr->child_.end()) return;
    -
    90 stk.push_back(curr);
    -
    91 curr = &res->second;
    -
    92 }
    -
    93
    -
    94 //check if such string is in the trie
    -
    95 if (!curr->is_end_) return;
    -
    96 curr->is_end_ = false;
    -
    97
    -
    98
    -
    99 for (int i = int(len) - 1; i >= 0; --i) {
    -
    100
    -
    101 //erase from the parent if node is not ended and no child
    -
    102 if (curr->child_.empty() && !curr->is_end_) {
    -
    103 stk[i]->child_.erase(arr[i]);
    -
    104 curr = stk[i];
    -
    105 } else {
    -
    106 break;
    -
    107 }
    -
    108 }
    -
    109}
    -
    -
    110
    -
    111
    -
    112template <typename T>
    -
    -
    113std::vector<std::vector<T>> Trie<T>::GetAll() const {
    -
    114
    -
    115 std::vector<std::vector<T>> res;
    -
    116 std::vector<T> seq;
    -
    117 Walk(res, seq, root_);
    -
    118 return res;
    -
    119}
    -
    -
    120
    -
    121
    -
    122template <typename T>
    -
    -
    123void Trie<T>::Walk(std::vector< std::vector<T>>& res, std::vector<T>& seq, const Trie<T>::Node& curr) {
    -
    124 for (const auto& child : curr.child_) {
    -
    125
    -
    126 //extend the trie sequence
    -
    127 seq.push_back(child.first);
    -
    128 if (child.second.is_end_) {
    -
    129 res.push_back(seq);
    -
    130 }
    -
    131
    -
    132 //keep walking down the tree
    -
    133 Walk(res, seq, child.second);
    -
    134
    -
    135 //go back to the parent
    -
    136 seq.pop_back();
    -
    137 }
    -
    138}
    -
    - -
    std::map< T, Node > child_
    Definition Trie.h:12
    -
    Node()
    Definition Trie.h:41
    -
    bool is_end_
    Definition Trie.h:13
    -
    Node root_
    Definition Trie.h:18
    -
    void Push(const T *arr, std::size_t len)
    Definition Trie.h:74
    -
    std::vector< std::vector< T > > GetAll() const
    Definition Trie.h:113
    -
    bool Contain(const T *arr, std::size_t len) const
    Definition Trie.h:62
    -
    void Erase(const T *arr, std::size_t len)
    Definition Trie.h:83
    -
    Node * Find(const T *arr, std::size_t len)
    Definition Trie.h:45
    -
    static void Walk(std::vector< std::vector< T > > &res, std::vector< T > &seq, const Trie< T >::Node &curr)
    Definition Trie.h:123
    -
    bool ContainPrefix(const T *arr, std::size_t len) const
    Definition Trie.h:68
    -
    Trie()
    Definition Trie.h:38
    -
    -
    -
    - - - - diff --git a/docs/annotated.html b/docs/annotated.html index f138461..4a44d6d 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -116,30 +116,6 @@  CDoubleExpand  CFibonacciExpand  CGoldenExpand - Nstd - Chash< pair< T, T > > - CAVLTree - CNode - CBinaryHeap - CBinomialHeap - CFlagTree - CDisjointSet - CSet - CIntegerIterator - CLinkedList - CIteratorImpl - CNode - CPSDA - CRandomMeldableHeap - CNode - CSegmentTree - CSkipList - CIteratorImpl - CNode - CTower - CSparseTable - CTrie - CNode diff --git a/docs/annotated_dup.js b/docs/annotated_dup.js index 3cdc129..8dbbe7b 100644 --- a/docs/annotated_dup.js +++ b/docs/annotated_dup.js @@ -16,20 +16,5 @@ var annotated_dup = [ "Tuple< T, Ts... >", "classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html", "classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4" ], [ "Vector", "classflow_1_1_vector.html", "classflow_1_1_vector" ], [ "VectorGrowthStrategy", "structflow_1_1_vector_growth_strategy.html", "structflow_1_1_vector_growth_strategy" ] - ] ], - [ "std", "namespacestd.html", [ - [ "hash< pair< T, T > >", "structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html", "structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4" ] - ] ], - [ "AVLTree", "class_a_v_l_tree.html", "class_a_v_l_tree" ], - [ "BinaryHeap", "class_binary_heap.html", "class_binary_heap" ], - [ "BinomialHeap", "class_binomial_heap.html", "class_binomial_heap" ], - [ "DisjointSet", "class_disjoint_set.html", "class_disjoint_set" ], - [ "IntegerIterator", "class_integer_iterator.html", "class_integer_iterator" ], - [ "LinkedList", "class_linked_list.html", "class_linked_list" ], - [ "PSDA", "class_p_s_d_a.html", "class_p_s_d_a" ], - [ "RandomMeldableHeap", "class_random_meldable_heap.html", "class_random_meldable_heap" ], - [ "SegmentTree", "class_segment_tree.html", "class_segment_tree" ], - [ "SkipList", "class_skip_list.html", "class_skip_list" ], - [ "SparseTable", "class_sparse_table.html", "class_sparse_table" ], - [ "Trie", "class_trie.html", "class_trie" ] + ] ] ]; \ No newline at end of file diff --git a/docs/benchmark_8h.html b/docs/benchmark_8h.html deleted file mode 100644 index b75b3bf..0000000 --- a/docs/benchmark_8h.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - -Flow: benchmark.h File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    benchmark.h File Reference
    -
    -
    -
    #include "flow_arena_memory_resource.h"
    -#include "flow_polymorphic_allocator.h"
    -#include "flow_random_algorithm.h"
    -#include "flow_timer.h"
    -#include "flow_vector.h"
    -#include <algorithm>
    -#include <cstdint>
    -#include <iostream>
    -#include <memory>
    -#include <memory_resource>
    -#include <numeric>
    -#include <set>
    -#include <vector>
    -
    -

    Go to the source code of this file.

    - - - -

    -Namespaces

    namespace  benchmark
    - - - - - - -

    -Functions

    void benchmark::benchmarkStdVector (std::size_t elementSize, std::size_t benchTime)
    void benchmark::benchmarkFlowVector (std::size_t elementSize, std::size_t benchTime)
    void benchmark::benchmarkStdVectorString (std::size_t elementSize, std::size_t benchTime)
    void benchmark::benchmarkFlowVectorString (std::size_t elementSize, std::size_t benchTime)
    void benchmark::benchmarkStdSet (std::size_t elementSize, std::size_t benchTime)
    -
    -
    - -
    - - - - diff --git a/docs/benchmark_8h.js b/docs/benchmark_8h.js deleted file mode 100644 index 08c4cf8..0000000 --- a/docs/benchmark_8h.js +++ /dev/null @@ -1,8 +0,0 @@ -var benchmark_8h = -[ - [ "benchmark::benchmarkFlowVector", "namespacebenchmark.html#a49f4972ef8aa15746e43281484381e39", null ], - [ "benchmark::benchmarkFlowVectorString", "namespacebenchmark.html#a05e5b1e546dc4a325d127bfda0d95902", null ], - [ "benchmark::benchmarkStdSet", "namespacebenchmark.html#aa90af4821e756d6abd48736a886fb7b9", null ], - [ "benchmark::benchmarkStdVector", "namespacebenchmark.html#ab1c92b084d635c2b9a5fce6e5fd3364c", null ], - [ "benchmark::benchmarkStdVectorString", "namespacebenchmark.html#ad143bdfdfd0ac0f02b5107662f077dbb", null ] -]; \ No newline at end of file diff --git a/docs/benchmark_8h_source.html b/docs/benchmark_8h_source.html deleted file mode 100644 index cf77190..0000000 --- a/docs/benchmark_8h_source.html +++ /dev/null @@ -1,473 +0,0 @@ - - - - - - - -Flow: benchmark.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    benchmark.h
    -
    -
    -Go to the documentation of this file.
    1#pragma once
    - - - -
    5#include "flow_timer.h"
    -
    6#include "flow_vector.h"
    -
    7#include <algorithm>
    -
    8#include <cstdint>
    -
    9#include <iostream>
    -
    10#include <memory>
    -
    11#include <memory_resource>
    -
    12#include <numeric>
    -
    13#include <set>
    -
    14#include <vector>
    -
    15
    -
    -
    16namespace benchmark {
    -
    -
    17 inline void benchmarkStdVector(std::size_t elementSize, std::size_t benchTime) {
    -
    18 using namespace std;
    -
    19 using namespace flow;
    -
    20
    -
    21 unique_ptr<int64_t[]> buffer = make_unique<int64_t[]>(elementSize * 32);
    -
    22
    -
    23 cout << "std::vector raw\n";
    -
    24 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    25 vector<int64_t> vec{};
    -
    26
    -
    27 Timer timer{};
    -
    28 timer.reset();
    -
    29 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    30 vec.push_back(i);
    -
    31 }
    -
    32 timer.record();
    -
    33 cout << timer.toString() << '\n';
    -
    34 }
    -
    35
    -
    36 cout << "std::vector reserve\n";
    -
    37 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    38 vector<int64_t> vec{};
    -
    39
    -
    40 Timer timer{};
    -
    41 timer.reset();
    -
    42 vec.reserve(elementSize);
    -
    43 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    44 vec.push_back(i);
    -
    45 }
    -
    46 timer.record();
    -
    47 cout << timer.toString() << '\n';
    -
    48 }
    -
    49
    -
    50 cout << "std::vector raw arena\n";
    -
    51 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    52 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    53 PolymorphicAllocator<> alloc{ resource };
    -
    54 vector<int64_t, PolymorphicAllocator<int64_t>> vec{ alloc };
    -
    55
    -
    56 Timer timer{};
    -
    57 timer.reset();
    -
    58 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    59 vec.push_back(i);
    -
    60 }
    -
    61 timer.record();
    -
    62 cout << timer.toString() << '\n';
    -
    63 }
    -
    64
    -
    65 cout << "std::vector reserve arena\n";
    -
    66 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    67 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    68 PolymorphicAllocator<> alloc{ resource };
    -
    69 vector<int64_t, PolymorphicAllocator<int64_t>> vec{ alloc };
    -
    70
    -
    71 Timer timer{};
    -
    72 timer.reset();
    -
    73 vec.reserve(elementSize);
    -
    74 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    75 vec.push_back(i);
    -
    76 }
    -
    77 timer.record();
    -
    78 cout << timer.toString() << '\n';
    -
    79 }
    -
    80 }
    -
    -
    81
    -
    -
    82 inline void benchmarkFlowVector(std::size_t elementSize, std::size_t benchTime) {
    -
    83 using namespace std;
    -
    84 using namespace flow;
    -
    85
    -
    86 unique_ptr<int64_t[]> buffer = make_unique<int64_t[]>(elementSize * 32);
    -
    87
    -
    88 cout << "flow::Vector raw\n";
    -
    89 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    90 Vector<int64_t> vec{};
    -
    91
    -
    92 Timer timer{};
    -
    93 timer.reset();
    -
    94 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    95 vec.pushBack(i);
    -
    96 }
    -
    97 timer.record();
    -
    98 cout << timer.toString() << '\n';
    -
    99 }
    -
    100
    -
    101 cout << "flow::Vector reserve\n";
    -
    102 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    103 Vector<int64_t> vec{};
    -
    104
    -
    105 Timer timer{};
    -
    106 timer.reset();
    -
    107 vec.reserve(elementSize);
    -
    108 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    109 vec.pushBack(i);
    -
    110 }
    -
    111 timer.record();
    -
    112 cout << timer.toString() << '\n';
    -
    113 }
    -
    114
    -
    115 cout << "flow::Vector raw arena\n";
    -
    116 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    117 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    118 PolymorphicAllocator<> alloc{ resource };
    -
    119 Vector<int64_t> vec{ alloc };
    -
    120
    -
    121 Timer timer{};
    -
    122 timer.reset();
    -
    123
    -
    124 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    125 vec.pushBack(i);
    -
    126 }
    -
    127 timer.record();
    -
    128 cout << timer.toString() << '\n';
    -
    129 }
    -
    130
    -
    131 cout << "flow::Vector reserve arena\n";
    -
    132 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    133 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    134 PolymorphicAllocator<> alloc{ resource };
    -
    135 Vector<int64_t> vec{ alloc };
    -
    136
    -
    137 Timer timer{};
    -
    138 timer.reset();
    -
    139 vec.reserve(elementSize);
    -
    140 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    141 vec.pushBack(i);
    -
    142 }
    -
    143 timer.record();
    -
    144 cout << timer.toString() << '\n';
    -
    145 }
    -
    146 }
    -
    -
    147
    -
    -
    148 inline void benchmarkStdVectorString(std::size_t elementSize, std::size_t benchTime) {
    -
    149 using namespace std;
    -
    150 using namespace flow;
    -
    151
    -
    152 const string sample = "the quick brown fox jumps over the lazy dog";
    -
    153 unique_ptr<int64_t[]> buffer = make_unique<int64_t[]>(elementSize * 32);
    -
    154
    -
    155 cout << "std::vector raw\n";
    -
    156 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    157 vector<string> vec{};
    -
    158
    -
    159 Timer timer{};
    -
    160 timer.reset();
    -
    161 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    162 vec.push_back(sample);
    -
    163 }
    -
    164 timer.record();
    -
    165 cout << timer.toString() << '\n';
    -
    166 }
    -
    167
    -
    168 cout << "std::vector reserve\n";
    -
    169 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    170 vector<string> vec{};
    -
    171 vec.reserve(elementSize);
    -
    172
    -
    173 Timer timer{};
    -
    174 timer.reset();
    -
    175 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    176 vec.push_back(sample);
    -
    177 }
    -
    178 timer.record();
    -
    179 cout << timer.toString() << '\n';
    -
    180 }
    -
    181
    -
    182 cout << "std::vector raw arena\n";
    -
    183 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    184 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    185 PolymorphicAllocator<> alloc{ resource };
    -
    186 vector<string, PolymorphicAllocator<string>> vec{ alloc };
    -
    187
    -
    188 Timer timer{};
    -
    189 timer.reset();
    -
    190 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    191 vec.push_back(sample);
    -
    192 }
    -
    193 timer.record();
    -
    194 cout << timer.toString() << '\n';
    -
    195 }
    -
    196
    -
    197 cout << "std::vector reserve arena\n";
    -
    198 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    199 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    200 PolymorphicAllocator<> alloc{ resource };
    -
    201 vector<string, PolymorphicAllocator<string>> vec{ alloc };
    -
    202 vec.reserve(elementSize);
    -
    203
    -
    204 Timer timer{};
    -
    205 timer.reset();
    -
    206 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    207 vec.push_back(sample);
    -
    208 }
    -
    209 timer.record();
    -
    210 cout << timer.toString() << '\n';
    -
    211 }
    -
    212 }
    -
    -
    213
    -
    -
    214 inline void benchmarkFlowVectorString(std::size_t elementSize, std::size_t benchTime) {
    -
    215 using namespace std;
    -
    216 using namespace flow;
    -
    217
    -
    218 const string sample = "the quick brown fox jumps over the lazy dog";
    -
    219 unique_ptr<int64_t[]> buffer = make_unique<int64_t[]>(elementSize * 32);
    -
    220
    -
    221 cout << "flow::Vector raw\n";
    -
    222 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    223 Vector<string> vec{};
    -
    224
    -
    225 Timer timer{};
    -
    226 timer.reset();
    -
    227 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    228 vec.pushBack(sample);
    -
    229 }
    -
    230 timer.record();
    -
    231 cout << timer.toString() << '\n';
    -
    232 }
    -
    233
    -
    234 cout << "flow::Vector reserve\n";
    -
    235 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    236 Vector<string> vec{};
    -
    237 vec.reserve(elementSize);
    -
    238
    -
    239 Timer timer{};
    -
    240 timer.reset();
    -
    241 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    242 vec.pushBack(sample);
    -
    243 }
    -
    244 timer.record();
    -
    245 cout << timer.toString() << '\n';
    -
    246 }
    -
    247
    -
    248 cout << "flow::Vector raw arena\n";
    -
    249 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    250 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    251 PolymorphicAllocator<> alloc{ resource };
    -
    252 Vector<string> vec{ alloc };
    -
    253
    -
    254 Timer timer{};
    -
    255 timer.reset();
    -
    256 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    257 vec.pushBack(sample);
    -
    258 }
    -
    259 timer.record();
    -
    260 cout << timer.toString() << '\n';
    -
    261 }
    -
    262
    -
    263 cout << "flow::Vector reserve arena\n";
    -
    264 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    265 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    266 PolymorphicAllocator<> alloc{ resource };
    -
    267 Vector<string> vec{ alloc };
    -
    268 vec.reserve(elementSize);
    -
    269
    -
    270 Timer timer{};
    -
    271 timer.reset();
    -
    272 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    273 vec.pushBack(sample);
    -
    274 }
    -
    275 timer.record();
    -
    276 cout << timer.toString() << '\n';
    -
    277 }
    -
    278 }
    -
    -
    279
    -
    -
    280 inline void benchmarkStdSet(std::size_t elementSize, std::size_t benchTime) {
    -
    281 using namespace std;
    -
    282 using namespace flow;
    -
    283
    -
    284 unique_ptr<byte[]> buffer = make_unique<byte[]>(elementSize * sizeof(int64_t) * 32);
    -
    285 vector<int64_t> nums(elementSize);
    -
    286 iota(nums.begin(), nums.end(), int64_t(0));
    -
    287 flow::shuffle(nums.begin(), nums.end());
    -
    288
    -
    289 cout << "std::set\n";
    -
    290 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    291 set<int64_t, std::less<int64_t>> st{};
    -
    292
    -
    293 Timer timer{};
    -
    294 timer.reset();
    -
    295 for (auto n : nums) {
    -
    296 st.insert(n);
    -
    297 }
    -
    298 timer.record();
    -
    299 cout << timer.toString() << '\n';
    -
    300 }
    -
    301
    -
    302 cout << "std::set arena\n";
    -
    303 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    304 ArenaMemoryResource resource(buffer.get(), elementSize * sizeof(int64_t) * 32);
    -
    305 PolymorphicAllocator<> alloc{ resource };
    -
    306 set<int64_t, std::less<int64_t>, PolymorphicAllocator<int64_t>> st{ alloc };
    -
    307
    -
    308 Timer timer{};
    -
    309 timer.reset();
    -
    310 for (auto n : nums) {
    -
    311 st.insert(n);
    -
    312 }
    -
    313 timer.record();
    -
    314 cout << timer.toString() << '\n';
    -
    315 }
    -
    316
    -
    317 cout << "std::set monotonic\n";
    -
    318 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    319 std::pmr::monotonic_buffer_resource mbr{ buffer.get(), elementSize * sizeof(int64_t) * 32 };
    -
    320 std::pmr::polymorphic_allocator<int64_t> pa{ &mbr };
    -
    321 pmr::set<int64_t, std::less<int64_t>> st(pa);
    -
    322
    -
    323 Timer timer{};
    -
    324 timer.reset();
    -
    325 for (auto n : nums) {
    -
    326 st.insert(n);
    -
    327 }
    -
    328 timer.record();
    -
    329 cout << timer.toString() << '\n';
    -
    330 }
    -
    331 }
    -
    -
    332}
    -
    -
    A linear arena memory resource that allocates memory sequentially from a fixed buffer....
    -
    A polymorphic allocator that wraps around a non-owning memory resource. Memory allocation strategy is...
    -
    A simple timer to record timelapses. Uses chrono::steady_clock by default.
    Definition flow_timer.h:11
    -
    void record()
    Records the current time point relative to the last call to start().
    Definition flow_timer.h:43
    -
    std::string toString() const
    Formats and returns a string showing all recorded durations since the timer resets.
    Definition flow_timer.h:51
    -
    void reset()
    Clears all recorded time points and reset the starting time.
    Definition flow_timer.h:35
    - -
    void pushBack(const T &value)
    -
    void reserve(std::size_t capacity)
    - - - - - - -
    void benchmarkFlowVectorString(std::size_t elementSize, std::size_t benchTime)
    Definition benchmark.h:214
    -
    void benchmarkFlowVector(std::size_t elementSize, std::size_t benchTime)
    Definition benchmark.h:82
    -
    void benchmarkStdSet(std::size_t elementSize, std::size_t benchTime)
    Definition benchmark.h:280
    -
    void benchmarkStdVector(std::size_t elementSize, std::size_t benchTime)
    Definition benchmark.h:17
    -
    void benchmarkStdVectorString(std::size_t elementSize, std::size_t benchTime)
    Definition benchmark.h:148
    - -
    void shuffle(It begin, It end)
    Randomly shuffle the elements in the range [begin, end).
    -
    Definition entry.cpp:78
    -
    -
    -
    - - - - diff --git a/docs/class_a_v_l_tree-members.html b/docs/class_a_v_l_tree-members.html deleted file mode 100644 index 4ced739..0000000 --- a/docs/class_a_v_l_tree-members.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    AVLTree< T > Member List
    -
    -
    - -

    This is the complete list of members for AVLTree< T >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - -
    _sizeAVLTree< T >private
    AVLTree()AVLTree< T >
    AVLTree(const AVLTree &tree)AVLTree< T >
    AVLTree(AVLTree &&tree) noexceptAVLTree< T >
    Empty() constAVLTree< T >
    Erase(const T &key)AVLTree< T >
    Find(const T &key)AVLTree< T >
    Find(const T &key) constAVLTree< T >
    Max()AVLTree< T >
    Max() constAVLTree< T >
    Min()AVLTree< T >
    Min() constAVLTree< T >
    operator=(AVLTree rhs) noexceptAVLTree< T >
    Print() constAVLTree< T >
    Push(Arg &&key)AVLTree< T >
    root_AVLTree< T >private
    Size() constAVLTree< T >
    swap(AVLTree &lhs, AVLTree &rhs)AVLTree< T >friend
    ~AVLTree()AVLTree< T >
    -
    -
    - - - - diff --git a/docs/class_a_v_l_tree.html b/docs/class_a_v_l_tree.html deleted file mode 100644 index a70e137..0000000 --- a/docs/class_a_v_l_tree.html +++ /dev/null @@ -1,721 +0,0 @@ - - - - - - - -Flow: AVLTree< T > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    AVLTree< T > Class Template Reference
    -
    -
    - -

    #include <AVLTree.h>

    - - - -

    -Classes

    class  Node
    - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

     AVLTree ()
     AVLTree (const AVLTree &tree)
     AVLTree (AVLTree &&tree) noexcept
     ~AVLTree ()
    AVLTreeoperator= (AVLTree rhs) noexcept
    bool Empty () const
    int Size () const
    T * Min ()
    T * Max ()
    const T * Min () const
    const T * Max () const
    void Print () const
    T * Find (const T &key)
    const T * Find (const T &key) const
    template<typename Arg>
    void Push (Arg &&key)
    void Erase (const T &key)
    - - - -

    -Private Attributes

    int _size
    Noderoot_
    - - -

    -Friends

    void swap (AVLTree &lhs, AVLTree &rhs)
    -

    Detailed Description

    -
    template<typename T>
    -class AVLTree< T >
    -

    Definition at line 20 of file AVLTree.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ AVLTree() [1/3]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    AVLTree< T >::AVLTree ()
    -
    - -

    Definition at line 62 of file AVLTree.h.

    -
    62: _size(0), root_(nullptr) {}
    -
    int _size
    Definition AVLTree.h:24
    -
    Node * root_
    Definition AVLTree.h:25
    -
    -

    References _size, and root_.

    - -

    Referenced by AVLTree(), AVLTree(), Find(), Max(), Min(), operator=(), and swap.

    - -
    -
    - -

    ◆ AVLTree() [2/3]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    AVLTree< T >::AVLTree (const AVLTree< T > & tree)
    -
    - -

    Definition at line 65 of file AVLTree.h.

    -
    65 : _size(tree._size) {
    -
    66 if (tree.root_) {
    -
    67 root_ = new Node(*tree.root_);
    -
    68 }
    -
    69}
    - - -
    -

    References _size, AVLTree(), and root_.

    - -
    -
    - -

    ◆ AVLTree() [3/3]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    AVLTree< T >::AVLTree (AVLTree< T > && tree)
    -
    -noexcept
    -
    - -

    Definition at line 72 of file AVLTree.h.

    -
    -
    -

    References _size, AVLTree(), and root_.

    - -
    -
    - -

    ◆ ~AVLTree()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    AVLTree< T >::~AVLTree ()
    -
    - -

    Definition at line 75 of file AVLTree.h.

    -
    75 {
    -
    76 delete this->root_;
    -
    77}
    -
    -

    References root_.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ Empty()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    bool AVLTree< T >::Empty () const
    -
    - -

    Definition at line 86 of file AVLTree.h.

    -
    86 {
    -
    87 return _size == 0;
    -
    88}
    -
    -

    References _size.

    - -
    -
    - -

    ◆ Erase()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    void AVLTree< T >::Erase (const T & key)
    -
    - -

    Definition at line 152 of file AVLTree.h.

    -
    152 {
    - -
    154}
    -
    static void Erase(Node **parent, Node *curr, const T &key)
    Definition AVLTree.h:329
    -
    -

    References AVLTree< T >::Node::Erase(), and root_.

    - -

    Referenced by AVLTree< T >::Node::Erase().

    - -
    -
    - -

    ◆ Find() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    T * AVLTree< T >::Find (const T & key)
    -
    - -

    Definition at line 141 of file AVLTree.h.

    -
    141 {
    -
    142 return const_cast<T*>(static_cast<const AVLTree<T>&>(*this).Find(key));
    -
    143}
    -
    AVLTree()
    Definition AVLTree.h:62
    -
    -

    References AVLTree().

    - -

    Referenced by AVLTree< T >::Node::Find(), and AVLTree< T >::Node::Find().

    - -
    -
    - -

    ◆ Find() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    const T * AVLTree< T >::Find (const T & key) const
    -
    - -

    Definition at line 136 of file AVLTree.h.

    -
    136 {
    -
    137 return Node::Find(root_, key);
    -
    138}
    -
    static T * Find(Node *curr, const T &key)
    Definition AVLTree.h:301
    -
    -

    References AVLTree< T >::Node::Find(), and root_.

    - -
    -
    - -

    ◆ Max() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    T * AVLTree< T >::Max ()
    -
    - -

    Definition at line 111 of file AVLTree.h.

    -
    111 {
    -
    112 return const_cast<T*>(static_cast<const AVLTree<T>&>(*this).Max());
    -
    113}
    -
    -

    References AVLTree().

    - -
    -
    - -

    ◆ Max() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    const T * AVLTree< T >::Max () const
    -
    - -

    Definition at line 106 of file AVLTree.h.

    -
    106 {
    -
    107 return (root_ ? root_->Max() : nullptr);
    -
    108}
    -
    -

    References root_.

    - -
    -
    - -

    ◆ Min() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    T * AVLTree< T >::Min ()
    -
    - -

    Definition at line 101 of file AVLTree.h.

    -
    101 {
    -
    102 return const_cast<T*>(static_cast<const AVLTree<T>&>(*this).Min());
    -
    103}
    -
    -

    References AVLTree().

    - -
    -
    - -

    ◆ Min() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    const T * AVLTree< T >::Min () const
    -
    - -

    Definition at line 96 of file AVLTree.h.

    -
    96 {
    -
    97 return (root_ ? root_->Min() : nullptr);
    -
    98}
    -
    -

    References root_.

    - -
    -
    - -

    ◆ operator=()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    AVLTree< T > & AVLTree< T >::operator= (AVLTree< T > rhs)
    -
    -noexcept
    -
    - -

    Definition at line 80 of file AVLTree.h.

    -
    80 {
    -
    81 swap(*this, tree);
    -
    82 return *this;
    -
    83}
    -
    friend void swap(AVLTree &lhs, AVLTree &rhs)
    Definition AVLTree.h:55
    -
    -

    References AVLTree(), and swap().

    - -
    -
    - -

    ◆ Print()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    void AVLTree< T >::Print () const
    -
    - -

    Definition at line 116 of file AVLTree.h.

    -
    116 {
    -
    117
    -
    118 if (!this->root_) {
    -
    119 std::cout << "Empty Tree\n";
    -
    120 return;
    -
    121 }
    -
    122
    -
    123 int max_depth = 0;
    -
    124 int max_breadth = 0;
    -
    125 std::string graph_str = this->root_->Print(0, max_depth, max_breadth);
    - -
    127
    -
    128 std::cout << '\n'
    -
    129 << graph_str << '\n'
    -
    130 << line_break << '\n'
    -
    131 << "Max Depth: " << max_depth << '\n'
    -
    132 << "Max Breadth: " << max_breadth << '\n';
    -
    133}
    -
    -

    References root_.

    - -
    -
    - -

    ◆ Push()

    - -
    -
    -
    -template<typename T>
    -
    -template<typename Arg>
    - - - - - - - -
    void AVLTree< T >::Push (Arg && key)
    -
    - -

    Definition at line 147 of file AVLTree.h.

    -
    147 {
    - -
    149}
    -
    static void Push(Node **parent, Node *curr, Arg &&key)
    Definition AVLTree.h:307
    -
    -

    References AVLTree< T >::Node::Push(), and root_.

    - -

    Referenced by AVLTree< T >::Node::Push().

    - -
    -
    - -

    ◆ Size()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    int AVLTree< T >::Size () const
    -
    - -

    Definition at line 91 of file AVLTree.h.

    -
    91 {
    -
    92 return _size;
    -
    93}
    -
    -

    References _size.

    - -
    -
    - - -

    ◆ swap

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - - - - - -
    void swap (AVLTree< T > & lhs,
    AVLTree< T > & rhs )
    -
    -friend
    -
    - -

    Definition at line 55 of file AVLTree.h.

    -
    55 {
    -
    56 using std::swap;
    - - -
    59}
    -
    -

    References _size, AVLTree(), root_, and swap().

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ _size

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    int AVLTree< T >::_size
    -
    -private
    -
    - -

    Definition at line 24 of file AVLTree.h.

    - -

    Referenced by AVLTree(), AVLTree(), AVLTree(), Empty(), Size(), and swap.

    - -
    -
    - -

    ◆ root_

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    Node* AVLTree< T >::root_
    -
    -private
    -
    - -

    Definition at line 25 of file AVLTree.h.

    - -

    Referenced by AVLTree(), AVLTree(), AVLTree(), Erase(), Find(), Max(), Min(), Print(), Push(), swap, and ~AVLTree().

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_a_v_l_tree.js b/docs/class_a_v_l_tree.js deleted file mode 100644 index dee5270..0000000 --- a/docs/class_a_v_l_tree.js +++ /dev/null @@ -1,23 +0,0 @@ -var class_a_v_l_tree = -[ - [ "Node", "class_a_v_l_tree_1_1_node.html", "class_a_v_l_tree_1_1_node" ], - [ "AVLTree", "class_a_v_l_tree.html#a9fab28b32e97ffc5e0f1a4ed3d9823b2", null ], - [ "AVLTree", "class_a_v_l_tree.html#ada4e04560ad4579bf28c4c54594f5fdf", null ], - [ "AVLTree", "class_a_v_l_tree.html#a14c1e8c04a3b932d973f30351b909269", null ], - [ "~AVLTree", "class_a_v_l_tree.html#ae7bb44a235074a48d817acbc32846ae7", null ], - [ "Empty", "class_a_v_l_tree.html#a18b0ad73bf1e0e55c1eab4de01d9928c", null ], - [ "Erase", "class_a_v_l_tree.html#a498a54b28316131aba8272e8a42638c4", null ], - [ "Find", "class_a_v_l_tree.html#a139a6afe3bff1f5c61026e0ede7fb3ca", null ], - [ "Find", "class_a_v_l_tree.html#a351bd47d7f6922ae9d1cd778a20e207c", null ], - [ "Max", "class_a_v_l_tree.html#a39c7f288a34e23d1cbf854d3ac1fc772", null ], - [ "Max", "class_a_v_l_tree.html#ac3c055504c2005a4828a6b69b4dfdc5d", null ], - [ "Min", "class_a_v_l_tree.html#a37e65b817abac7590be80774fde5240f", null ], - [ "Min", "class_a_v_l_tree.html#ac2c3730cb6c8b0d25e005d502b7db87a", null ], - [ "operator=", "class_a_v_l_tree.html#a92b9e7b782f91913bd03d951a73343c2", null ], - [ "Print", "class_a_v_l_tree.html#a8857cce6390ce1613f55259ddff5123a", null ], - [ "Push", "class_a_v_l_tree.html#a15b2fe8be18597bbae8bb399f33f8860", null ], - [ "Size", "class_a_v_l_tree.html#ab85e680166f079bf54d647ac4fe376df", null ], - [ "swap", "class_a_v_l_tree.html#a214f70a9ddeb840f55088f7578411adf", null ], - [ "_size", "class_a_v_l_tree.html#a2f05e0a5381c3760cd6372f87e9740fb", null ], - [ "root_", "class_a_v_l_tree.html#aaf0aba7baf43d7b839f247904c12da25", null ] -]; \ No newline at end of file diff --git a/docs/class_a_v_l_tree_1_1_node-members.html b/docs/class_a_v_l_tree_1_1_node-members.html deleted file mode 100644 index c191331..0000000 --- a/docs/class_a_v_l_tree_1_1_node-members.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    AVLTree< T >::Node Member List
    -
    -
    - -

    This is the complete list of members for AVLTree< T >::Node, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    balance_factor_AVLTree< T >::Nodeprivate
    BalanceSubtree(Node **parent, Node *root)AVLTree< T >::Nodestatic
    Erase(Node **parent, Node *curr, const T &key)AVLTree< T >::Nodestatic
    EraseReplacement(Node **parent, Node *curr, Node *root)AVLTree< T >::Nodestatic
    Find(Node *curr, const T &key)AVLTree< T >::Nodestatic
    Find(const Node *curr, const T &key)AVLTree< T >::Nodestatic
    height_AVLTree< T >::Nodeprivate
    key_AVLTree< T >::Nodeprivate
    left_AVLTree< T >::Nodeprivate
    Max()AVLTree< T >::Node
    Max() constAVLTree< T >::Node
    Min()AVLTree< T >::Node
    Min() constAVLTree< T >::Node
    Node(const T &key)AVLTree< T >::Node
    Node(T &&key)AVLTree< T >::Node
    Node(const Node &rhs)AVLTree< T >::Node
    Node(Node &&rhs) noexceptAVLTree< T >::Node
    operator=(const Node &rhs)=deleteAVLTree< T >::Node
    operator=(Node &&rhs)=deleteAVLTree< T >::Node
    Print(const int depth, int &max_depth, int &max_breadth)AVLTree< T >::Node
    Push(Node **parent, Node *curr, Arg &&key)AVLTree< T >::Nodestatic
    right_AVLTree< T >::Nodeprivate
    RotateLeftLeft(Node **parent)AVLTree< T >::Nodeprivate
    RotateLeftRight(Node **parent)AVLTree< T >::Nodeprivate
    RotateRightLeft(Node **parent)AVLTree< T >::Nodeprivate
    RotateRightRight(Node **parent)AVLTree< T >::Nodeprivate
    UpdateInfo()AVLTree< T >::Nodeprivate
    ~Node()AVLTree< T >::Node
    -
    -
    - - - - diff --git a/docs/class_a_v_l_tree_1_1_node.html b/docs/class_a_v_l_tree_1_1_node.html deleted file mode 100644 index 5200635..0000000 --- a/docs/class_a_v_l_tree_1_1_node.html +++ /dev/null @@ -1,1268 +0,0 @@ - - - - - - - -Flow: AVLTree< T >::Node Class Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    AVLTree< T >::Node Class Reference
    -
    -
    - -

    #include <AVLTree.h>

    - - - - - - - - - - - - - - -

    -Public Member Functions

     Node (const T &key)
     Node (T &&key)
     Node (const Node &rhs)
     Node (Node &&rhs) noexcept
     ~Node ()
    Nodeoperator= (const Node &rhs)=delete
    Nodeoperator= (Node &&rhs)=delete
    T * Min ()
    T * Max ()
    const T * Min () const
    const T * Max () const
    std::string Print (const int depth, int &max_depth, int &max_breadth)
    - - - - - - - - -

    -Static Public Member Functions

    static T * Find (Node *curr, const T &key)
    static const T * Find (const Node *curr, const T &key)
    template<typename Arg>
    static void Push (Node **parent, Node *curr, Arg &&key)
    static void Erase (Node **parent, Node *curr, const T &key)
    static void EraseReplacement (Node **parent, Node *curr, Node *root)
    static void BalanceSubtree (Node **parent, Node *root)
    - - - - - - -

    -Private Member Functions

    void UpdateInfo ()
    void RotateLeftLeft (Node **parent)
    void RotateLeftRight (Node **parent)
    void RotateRightRight (Node **parent)
    void RotateRightLeft (Node **parent)
    - - - - - - -

    -Private Attributes

    short height_
    short balance_factor_
    key_
    Nodeleft_
    Noderight_
    -

    Detailed Description

    -
    template<typename T>
    -class AVLTree< T >::Node
    -

    Definition at line 171 of file AVLTree.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ Node() [1/4]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    AVLTree< T >::Node::Node (const T & key)
    -
    - -

    Definition at line 216 of file AVLTree.h.

    -
    216 :
    -
    217 height_(0), balance_factor_(0), key_(key), left_(nullptr), right_(nullptr) {}
    - -
    Node * left_
    Definition AVLTree.h:176
    -
    short balance_factor_
    Definition AVLTree.h:174
    -
    short height_
    Definition AVLTree.h:173
    -
    Node * right_
    Definition AVLTree.h:177
    - -
    -

    References balance_factor_, height_, key_, left_, and right_.

    - -

    Referenced by BalanceSubtree(), Erase(), EraseReplacement(), Find(), Find(), Node(), Node(), operator=(), operator=(), Push(), RotateLeftLeft(), RotateLeftRight(), RotateRightLeft(), and RotateRightRight().

    - -
    -
    - -

    ◆ Node() [2/4]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    AVLTree< T >::Node::Node (T && key)
    -
    - -

    Definition at line 220 of file AVLTree.h.

    -
    220 :
    -
    221 height_(0), balance_factor_(0), key_(std::move(key)), left_(nullptr), right_(nullptr) {}
    -
    -

    References balance_factor_, height_, key_, left_, and right_.

    - -
    -
    - -

    ◆ Node() [3/4]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    AVLTree< T >::Node::Node (const Node & rhs)
    -
    - -

    Definition at line 224 of file AVLTree.h.

    -
    224 :
    -
    225 height_(rhs.height_), balance_factor_(rhs.balance_factor_), key_(rhs.key_) {
    -
    226 left_ = (rhs.left_ ? new Node(*rhs.left_) : nullptr);
    -
    227 right_ = (rhs.right_ ? new Node(*rhs.right_) : nullptr);
    -
    228}
    -
    Node(const T &key)
    Definition AVLTree.h:216
    -
    -

    References balance_factor_, height_, key_, left_, Node(), and right_.

    - -
    -
    - -

    ◆ Node() [4/4]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    AVLTree< T >::Node::Node (Node && rhs)
    -
    -noexcept
    -
    - -

    Definition at line 231 of file AVLTree.h.

    -
    231 :
    -
    232 height_(rhs.height_), balance_factor_(rhs.balance_factor_), key_(std::move(rhs.key_)), left_(std::exchange(rhs.left_, nullptr), right_(std::exchange(rhs.right_, nullptr))) {}
    -
    -

    References balance_factor_, height_, key_, left_, Node(), and right_.

    - -
    -
    - -

    ◆ ~Node()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    AVLTree< T >::Node::~Node ()
    -
    - -

    Definition at line 235 of file AVLTree.h.

    -
    235 {
    -
    236 delete this->left_;
    -
    237 delete this->right_;
    -
    238}
    -
    -

    References left_, and right_.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ BalanceSubtree()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - - - - - -
    void AVLTree< T >::Node::BalanceSubtree (Node ** parent,
    Node * root )
    -
    -static
    -
    - -

    Definition at line 389 of file AVLTree.h.

    -
    389 {
    -
    390
    -
    391 //update height and balance factor
    -
    392 root->UpdateInfo();
    -
    393
    -
    394 //rotate based on balanced factor
    -
    395 if (root->balance_factor_ <= -2) {
    -
    396
    -
    397 //left heavy
    -
    398 assert(root->left_);
    -
    399
    -
    400 if (root->left_->balance_factor_ <= 0) {
    -
    401 root->RotateLeftLeft(parent);
    -
    402 } else {
    -
    403 root->RotateLeftRight(parent);
    -
    404 }
    -
    405
    -
    406 } else if (root->balance_factor_ >= 2) {
    -
    407
    -
    408 //right heavy
    -
    409 assert(root->right_);
    -
    410
    -
    411 if (root->right_->balance_factor_ >= 0) {
    -
    412 root->RotateRightRight(parent);
    -
    413 } else {
    -
    414 root->RotateRightLeft(parent);
    -
    415 }
    -
    416 }
    -
    417
    -
    418 //check post balance factor
    -
    419 assert((root->right_ ? root->right_->height_ : -1) - (root->left_ ? root->left_->height_ : -1) == root->balance_factor_);
    -
    420}
    -
    -

    References balance_factor_, height_, left_, Node(), right_, RotateLeftLeft(), RotateLeftRight(), RotateRightLeft(), RotateRightRight(), and UpdateInfo().

    - -

    Referenced by Erase(), EraseReplacement(), operator=(), and Push().

    - -
    -
    - -

    ◆ Erase()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - - - - - - - - - - -
    void AVLTree< T >::Node::Erase (Node ** parent,
    Node * curr,
    const T & key )
    -
    -static
    -
    - -

    Definition at line 329 of file AVLTree.h.

    -
    329 {
    -
    330
    -
    331 //key does not exist
    -
    332 if (!curr) {
    -
    333 return;
    -
    334 }
    -
    335
    -
    336 if (key < curr->key_) {
    -
    337
    -
    338 //check left subtree
    -
    339 Erase(&curr->left_, curr->left_, key);
    -
    340
    -
    341 } else if (curr->key_ < key) {
    -
    342
    -
    343 //check right subtree
    -
    344 Erase(&curr->right_, curr->right_, key);
    -
    345
    -
    346 } else {
    -
    347
    -
    348 //found the node
    -
    349 if (curr->left_) {
    -
    350
    -
    351 //max node in left subtree
    -
    352 EraseReplacement(&curr->left_, curr->left_, curr);
    - -
    354
    -
    355 } else if (curr->right_) {
    -
    356
    -
    357 //right child only
    -
    358 *parent = std::exchange(curr->right_, nullptr);
    -
    359 delete curr;
    -
    360
    -
    361 } else {
    -
    362
    -
    363 //leaf node
    -
    364 *parent = nullptr;
    -
    365 delete curr;
    -
    366 }
    -
    367
    -
    368 return;
    -
    369 }
    -
    370
    - -
    372}
    -
    static void Erase(Node **parent, Node *curr, const T &key)
    Definition AVLTree.h:329
    -
    static void BalanceSubtree(Node **parent, Node *root)
    Definition AVLTree.h:389
    -
    static void EraseReplacement(Node **parent, Node *curr, Node *root)
    Definition AVLTree.h:375
    -
    -

    References BalanceSubtree(), AVLTree< T >::Erase(), EraseReplacement(), key_, left_, Node(), and right_.

    - -

    Referenced by AVLTree< T >::Erase().

    - -
    -
    - -

    ◆ EraseReplacement()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - - - - - - - - - - -
    void AVLTree< T >::Node::EraseReplacement (Node ** parent,
    Node * curr,
    Node * root )
    -
    -static
    -
    - -

    Definition at line 375 of file AVLTree.h.

    -
    375 {
    -
    376
    -
    377 //finding the max node in the subtree
    -
    378 if (curr->right_) {
    -
    379 EraseReplacement(&curr->right_, curr->right_, root);
    - -
    381 } else {
    -
    382 root->key_ = std::move(curr->key_);
    -
    383 *parent = std::exchange(curr->left_, nullptr);
    -
    384 delete curr;
    -
    385 }
    -
    386}
    -
    -

    References BalanceSubtree(), EraseReplacement(), key_, left_, Node(), and right_.

    - -

    Referenced by Erase(), EraseReplacement(), and operator=().

    - -
    -
    - -

    ◆ Find() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - - - - - -
    const T * AVLTree< T >::Node::Find (const Node * curr,
    const T & key )
    -
    -static
    -
    - -

    Definition at line 286 of file AVLTree.h.

    -
    286 {
    -
    287 if (!curr) {
    -
    288 return nullptr;
    -
    289 }
    -
    290
    -
    291 if (key < curr->key_) {
    -
    292 return Find(curr->left_, key);
    -
    293 } else if (curr->key_ < key) {
    -
    294 return Find(curr->right_, key);
    -
    295 } else {
    -
    296 return &curr->key_;
    -
    297 }
    -
    298}
    -
    static T * Find(Node *curr, const T &key)
    Definition AVLTree.h:301
    -
    -

    References AVLTree< T >::Find(), key_, left_, Node(), and right_.

    - -
    -
    - -

    ◆ Find() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - - - - - -
    T * AVLTree< T >::Node::Find (Node * curr,
    const T & key )
    -
    -static
    -
    - -

    Definition at line 301 of file AVLTree.h.

    -
    301 {
    -
    302 return const_cast<T*>(Find(static_cast<const Node*>(curr), key));
    -
    303}
    -
    -

    References AVLTree< T >::Find(), and Node().

    - -

    Referenced by AVLTree< T >::Find().

    - -
    -
    - -

    ◆ Max() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    T * AVLTree< T >::Node::Max ()
    -
    - -

    Definition at line 256 of file AVLTree.h.

    -
    256 {
    -
    257 return const_cast<T*>(static_cast<const AVLTree<T>::Node&>(*this).Max());
    -
    258}
    -
    T * Max()
    Definition AVLTree.h:111
    -
    -

    References Max().

    - -

    Referenced by Max().

    - -
    -
    - -

    ◆ Max() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    const T * AVLTree< T >::Node::Max () const
    -
    - -

    Definition at line 251 of file AVLTree.h.

    -
    251 {
    -
    252 return (this->right_ ? this->right_->Max() : &this->key_);
    -
    253}
    -
    -

    References right_.

    - -
    -
    - -

    ◆ Min() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    T * AVLTree< T >::Node::Min ()
    -
    - -

    Definition at line 246 of file AVLTree.h.

    -
    246 {
    -
    247 return const_cast<T*>(static_cast<const AVLTree<T>::Node&>(*this).Min());
    -
    248}
    -
    T * Min()
    Definition AVLTree.h:101
    -
    -

    References Min().

    - -

    Referenced by Min().

    - -
    -
    - -

    ◆ Min() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    const T * AVLTree< T >::Node::Min () const
    -
    - -

    Definition at line 241 of file AVLTree.h.

    -
    241 {
    -
    242 return (this->left_ ? this->left_->Min() : &this->key_);
    -
    243}
    -
    -

    References left_.

    - -
    -
    - -

    ◆ operator=() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    Node & AVLTree< T >::Node::operator= (const Node & rhs)
    -
    -delete
    -
    - -

    References Node().

    - -
    -
    - -

    ◆ operator=() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    Node & AVLTree< T >::Node::operator= (Node && rhs)
    -
    -delete
    -
    -
    - -

    ◆ Print()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - - - - - - -
    std::string AVLTree< T >::Node::Print (const int depth,
    int & max_depth,
    int & max_breadth )
    -
    - -

    Definition at line 261 of file AVLTree.h.

    -
    261 {
    -
    262
    -
    263 //std::string tree_str(std::to_string(this->height_) + "(" + std::to_string(this->balance_factor_) + ")");
    - -
    265 if (this->left_ || this->right_) {
    -
    266 tree_str += " -> ";
    -
    267 }
    -
    268
    -
    269 const std::string space = std::string((depth + 1) * 5, ' ') + "|";
    -
    270
    -
    271 if (this->right_) {
    -
    272 tree_str += "\n" + space + this->right_->Print(depth + 1, max_depth, max_breadth);
    -
    273 }
    -
    274 if (this->left_) {
    -
    275 tree_str += "\n" + space + this->left_->Print(depth + 1, max_depth, max_breadth);
    -
    276 }
    -
    277
    -
    278 //update the max_depth
    - - -
    281
    -
    282 return tree_str;
    -
    283}
    -
    -

    References height_, key_, left_, and right_.

    - -
    -
    - -

    ◆ Push()

    - -
    -
    -
    -template<typename T>
    -
    -template<typename Arg>
    - - - - - -
    - - - - - - - - - - - - - - - - -
    void AVLTree< T >::Node::Push (Node ** parent,
    Node * curr,
    Arg && key )
    -
    -static
    -
    - -

    Definition at line 307 of file AVLTree.h.

    -
    307 {
    -
    308
    -
    309 //null leaf
    -
    310 if (!curr) {
    -
    311 (*parent) = new Node(std::forward<Arg>(key));
    -
    312 return;
    -
    313 }
    -
    314
    -
    315 //check subtree
    -
    316 if (key < curr->key_) {
    -
    317 Push(&curr->left_, curr->left_, std::forward<Arg>(key));
    -
    318 } else if (curr->key_ < key) {
    -
    319 Push(&curr->right_, curr->right_, std::forward<Arg>(key));
    -
    320 } else {
    -
    321 return;
    -
    322 }
    -
    323
    -
    324 //balance the subtree
    - -
    326}
    -
    static void Push(Node **parent, Node *curr, Arg &&key)
    Definition AVLTree.h:307
    -
    -

    References BalanceSubtree(), key_, left_, Node(), AVLTree< T >::Push(), and right_.

    - -

    Referenced by AVLTree< T >::Push().

    - -
    -
    - -

    ◆ RotateLeftLeft()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    void AVLTree< T >::Node::RotateLeftLeft (Node ** parent)
    -
    -private
    -
    - -

    Definition at line 433 of file AVLTree.h.

    -
    433 {
    -
    434
    -
    435 Node* const L = this->left_;
    -
    436
    -
    437 *parent = L;
    -
    438 this->left_ = L->right_;
    -
    439 L->right_ = this;
    -
    440
    -
    441 //update height and balance factor for this node and new parent node
    -
    442 //left subtree remain the same
    -
    443 this->UpdateInfo();
    -
    444 (*parent)->UpdateInfo();
    -
    445}
    -
    void UpdateInfo()
    Definition AVLTree.h:425
    -
    -

    References left_, Node(), right_, and UpdateInfo().

    - -

    Referenced by BalanceSubtree(), and operator=().

    - -
    -
    - -

    ◆ RotateLeftRight()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    void AVLTree< T >::Node::RotateLeftRight (Node ** parent)
    -
    -private
    -
    - -

    Definition at line 448 of file AVLTree.h.

    -
    448 {
    -
    449
    -
    450 Node* const L = this->left_;
    -
    451 Node* const LR = L->right_;
    -
    452
    -
    453 *parent = LR;
    -
    454 L->right_ = LR->left_;
    -
    455 this->left_ = LR->right_;
    -
    456 LR->left_ = L;
    -
    457 LR->right_ = this;
    -
    458
    -
    459 this->UpdateInfo();
    -
    460 (*parent)->left_->UpdateInfo();
    -
    461 (*parent)->UpdateInfo();
    -
    462}
    -
    -

    References left_, Node(), right_, and UpdateInfo().

    - -

    Referenced by BalanceSubtree(), and operator=().

    - -
    -
    - -

    ◆ RotateRightLeft()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    void AVLTree< T >::Node::RotateRightLeft (Node ** parent)
    -
    -private
    -
    - -

    Definition at line 478 of file AVLTree.h.

    -
    478 {
    -
    479 Node* const R = this->right_;
    -
    480 Node* const RL = R->left_;
    -
    481
    -
    482 *parent = RL;
    -
    483 R->left_ = RL->right_;
    -
    484 this->right_ = RL->left_;
    -
    485 RL->right_ = R;
    -
    486 RL->left_ = this;
    -
    487
    -
    488 this->UpdateInfo();
    -
    489 (*parent)->right_->UpdateInfo();
    -
    490 (*parent)->UpdateInfo();
    -
    491}
    -
    -

    References left_, Node(), right_, and UpdateInfo().

    - -

    Referenced by BalanceSubtree(), and operator=().

    - -
    -
    - -

    ◆ RotateRightRight()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    void AVLTree< T >::Node::RotateRightRight (Node ** parent)
    -
    -private
    -
    - -

    Definition at line 465 of file AVLTree.h.

    -
    465 {
    -
    466
    -
    467 Node* const R = this->right_;
    -
    468
    -
    469 *parent = R;
    -
    470 this->right_ = R->left_;
    -
    471 R->left_ = this;
    -
    472
    -
    473 this->UpdateInfo();
    -
    474 (*parent)->UpdateInfo();
    -
    475}
    -
    -

    References left_, Node(), right_, and UpdateInfo().

    - -

    Referenced by BalanceSubtree(), and operator=().

    - -
    -
    - -

    ◆ UpdateInfo()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    void AVLTree< T >::Node::UpdateInfo ()
    -
    -private
    -
    - -

    Definition at line 425 of file AVLTree.h.

    -
    425 {
    -
    426 const short left_height = (this->left_ ? this->left_->height_ : -1);
    -
    427 const short right_height = (this->right_ ? this->right_->height_ : -1);
    - - -
    430}
    -
    -

    References balance_factor_, height_, left_, and right_.

    - -

    Referenced by BalanceSubtree(), operator=(), RotateLeftLeft(), RotateLeftRight(), RotateRightLeft(), and RotateRightRight().

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ balance_factor_

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    short AVLTree< T >::Node::balance_factor_
    -
    -private
    -
    - -

    Definition at line 174 of file AVLTree.h.

    - -

    Referenced by BalanceSubtree(), Node(), Node(), Node(), Node(), and UpdateInfo().

    - -
    -
    - -

    ◆ height_

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    short AVLTree< T >::Node::height_
    -
    -private
    -
    - -

    Definition at line 173 of file AVLTree.h.

    - -

    Referenced by BalanceSubtree(), Node(), Node(), Node(), Node(), Print(), and UpdateInfo().

    - -
    -
    - -

    ◆ key_

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    T AVLTree< T >::Node::key_
    -
    -private
    -
    - -

    Definition at line 175 of file AVLTree.h.

    - -

    Referenced by Erase(), EraseReplacement(), Find(), Node(), Node(), Node(), Node(), Print(), and Push().

    - -
    -
    - -

    ◆ left_

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    Node* AVLTree< T >::Node::left_
    -
    -private
    -
    -
    - -

    ◆ right_

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    Node* AVLTree< T >::Node::right_
    -
    -private
    -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_a_v_l_tree_1_1_node.js b/docs/class_a_v_l_tree_1_1_node.js deleted file mode 100644 index b0ef3e1..0000000 --- a/docs/class_a_v_l_tree_1_1_node.js +++ /dev/null @@ -1,31 +0,0 @@ -var class_a_v_l_tree_1_1_node = -[ - [ "Node", "class_a_v_l_tree_1_1_node.html#a2ed796882625cd894f1f027dff9154ef", null ], - [ "Node", "class_a_v_l_tree_1_1_node.html#af3effc374eabb48b4ce328762783a587", null ], - [ "Node", "class_a_v_l_tree_1_1_node.html#a73419bde4797518d972af6ee65e0c32a", null ], - [ "Node", "class_a_v_l_tree_1_1_node.html#a4c497e92bae58262637f137298dc9842", null ], - [ "~Node", "class_a_v_l_tree_1_1_node.html#ab65c7359c5b7caade318a7abe565dd1d", null ], - [ "BalanceSubtree", "class_a_v_l_tree_1_1_node.html#aa099d28a7be4f606e32c9d99968a5c91", null ], - [ "Erase", "class_a_v_l_tree_1_1_node.html#a562ab626779edd7545f320b792d129ae", null ], - [ "EraseReplacement", "class_a_v_l_tree_1_1_node.html#adbfd56b2fea47ae5ffbb83ae6c24bbae", null ], - [ "Find", "class_a_v_l_tree_1_1_node.html#ac663d148470b9f4a84109b53c29540b1", null ], - [ "Find", "class_a_v_l_tree_1_1_node.html#a42174d3ffb9acb013b19215a445458ea", null ], - [ "Max", "class_a_v_l_tree_1_1_node.html#a44c7df7f7266a5890f64331be132a132", null ], - [ "Max", "class_a_v_l_tree_1_1_node.html#a9ad16c4dc3a754805ae70daf8c642d66", null ], - [ "Min", "class_a_v_l_tree_1_1_node.html#a766ba90bb3159ce3d2eca69a18eefa02", null ], - [ "Min", "class_a_v_l_tree_1_1_node.html#ad3b552c2b070041ac2c8f7674a221317", null ], - [ "operator=", "class_a_v_l_tree_1_1_node.html#ad34a7131e40f8a8184437a528eefc728", null ], - [ "operator=", "class_a_v_l_tree_1_1_node.html#a543a84901066684f6895ecf42f3dca65", null ], - [ "Print", "class_a_v_l_tree_1_1_node.html#aa88d4f148b11fac9578d85287afc9b4a", null ], - [ "Push", "class_a_v_l_tree_1_1_node.html#adcc4d5d6e68be88a4a8ac19a16a5d2da", null ], - [ "RotateLeftLeft", "class_a_v_l_tree_1_1_node.html#aba9397879c44718fd4e675adde9d15a5", null ], - [ "RotateLeftRight", "class_a_v_l_tree_1_1_node.html#ad3e8551ae2758fe2b0ec68c4a0c44d0b", null ], - [ "RotateRightLeft", "class_a_v_l_tree_1_1_node.html#a5d7f8148075ff0b7115e3e8ecdf2ca82", null ], - [ "RotateRightRight", "class_a_v_l_tree_1_1_node.html#aea120a79cec52d18874becf5699636aa", null ], - [ "UpdateInfo", "class_a_v_l_tree_1_1_node.html#adddc913a6d45c16cb0d4b03de31035ab", null ], - [ "balance_factor_", "class_a_v_l_tree_1_1_node.html#a1da64d7cfc1dc9962513832073fa9177", null ], - [ "height_", "class_a_v_l_tree_1_1_node.html#a6bbd64aa1a0493812ea898bb132ee975", null ], - [ "key_", "class_a_v_l_tree_1_1_node.html#a08e132ea53e44650f1008270e55eadca", null ], - [ "left_", "class_a_v_l_tree_1_1_node.html#a10d0c2a63153624ca13f299a0563debd", null ], - [ "right_", "class_a_v_l_tree_1_1_node.html#aaf41210fa129c3927ed9a5e6a9b1f7c6", null ] -]; \ No newline at end of file diff --git a/docs/class_binary_heap-members.html b/docs/class_binary_heap-members.html deleted file mode 100644 index 2b1b3ba..0000000 --- a/docs/class_binary_heap-members.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    BinaryHeap< T, Predicate > Member List
    -
    -
    - -

    This is the complete list of members for BinaryHeap< T, Predicate >, including all inherited members.

    - - - - - - - - - - - - - -
    _dataBinaryHeap< T, Predicate >private
    BinaryHeap()=defaultBinaryHeap< T, Predicate >
    BinaryHeap(std::vector< T > arr)BinaryHeap< T, Predicate >inline
    FixDown(int n, Predicate p=Predicate())BinaryHeap< T, Predicate >inlineprivate
    FixUp(int n, Predicate p=Predicate())BinaryHeap< T, Predicate >inlineprivate
    LeftChild(int n) constBinaryHeap< T, Predicate >inlineprivate
    Parent(int n) constBinaryHeap< T, Predicate >inlineprivate
    Pop()BinaryHeap< T, Predicate >inline
    Push(Args &&... args)BinaryHeap< T, Predicate >inline
    RightChild(int n) constBinaryHeap< T, Predicate >inlineprivate
    Size() constBinaryHeap< T, Predicate >inline
    Top() constBinaryHeap< T, Predicate >inline
    -
    -
    - - - - diff --git a/docs/class_binary_heap.html b/docs/class_binary_heap.html deleted file mode 100644 index 0d895dc..0000000 --- a/docs/class_binary_heap.html +++ /dev/null @@ -1,587 +0,0 @@ - - - - - - - -Flow: BinaryHeap< T, Predicate > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    BinaryHeap< T, Predicate > Class Template Reference
    -
    -
    - -

    #include <BinaryHeap.h>

    - - - - - - - - - -

    -Public Member Functions

     BinaryHeap ()=default
     BinaryHeap (std::vector< T > arr)
    template<typename ... Args>
    void Push (Args &&... args)
    void Pop ()
    const T & Top () const
    std::size_t Size () const
    - - - - - - -

    -Private Member Functions

    int Parent (int n) const
    int LeftChild (int n) const
    int RightChild (int n) const
    void FixUp (int n, Predicate p=Predicate())
    void FixDown (int n, Predicate p=Predicate())
    - - -

    -Private Attributes

    std::vector< T > _data
    -

    Detailed Description

    -
    template<typename T, typename Predicate = std::greater<T>>
    -class BinaryHeap< T, Predicate >
    -

    Definition at line 5 of file BinaryHeap.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ BinaryHeap() [1/2]

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    BinaryHeap< T, Predicate >::BinaryHeap ()
    -
    -default
    -
    - -
    -
    - -

    ◆ BinaryHeap() [2/2]

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    BinaryHeap< T, Predicate >::BinaryHeap (std::vector< T > arr)
    -
    -inline
    -
    - -

    Definition at line 11 of file BinaryHeap.h.

    -
    11 : _data(std::move(arr)) {
    -
    12 for (int r = Parent(_data.size() - 1); r >= 0; --r) {
    -
    13 FixDown(r);
    -
    14 }
    -
    15 }
    - -
    void FixDown(int n, Predicate p=Predicate())
    Definition BinaryHeap.h:55
    -
    int Parent(int n) const
    Definition BinaryHeap.h:39
    -
    std::vector< T > _data
    Definition BinaryHeap.h:6
    -
    -

    References _data, and Parent().

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ FixDown()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - - - - - -
    void BinaryHeap< T, Predicate >::FixDown (int n,
    Predicate p = Predicate() )
    -
    -inlineprivate
    -
    - -

    Definition at line 55 of file BinaryHeap.h.

    -
    55 {
    -
    56 while (true) {
    -
    57 int child = LeftChild(n);
    -
    58 if (child >= _data.size()) {
    -
    59 break;
    -
    60 }
    -
    61 if (int rightChild = RightChild(n);
    -
    62 rightChild < _data.size() && p(_data[rightChild], _data[child])) {
    - -
    64 }
    -
    65 if (p(_data[child], _data[n])) {
    - -
    67 n = child;
    -
    68 } else {
    -
    69 break;
    -
    70 }
    -
    71 }
    -
    72 }
    -
    int LeftChild(int n) const
    Definition BinaryHeap.h:40
    -
    int RightChild(int n) const
    Definition BinaryHeap.h:41
    -
    -

    References _data, LeftChild(), and RightChild().

    - -

    Referenced by Pop().

    - -
    -
    - -

    ◆ FixUp()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - - - - - -
    void BinaryHeap< T, Predicate >::FixUp (int n,
    Predicate p = Predicate() )
    -
    -inlineprivate
    -
    - -

    Definition at line 43 of file BinaryHeap.h.

    -
    43 {
    -
    44 while (n > 0) {
    -
    45 int parent = Parent(n);
    -
    46 if (p(_data[n], _data[parent])) {
    - -
    48 n = parent;
    -
    49 } else {
    -
    50 break;
    -
    51 }
    -
    52 }
    -
    53 }
    -
    -

    References _data, and Parent().

    - -

    Referenced by Push().

    - -
    -
    - -

    ◆ LeftChild()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    int BinaryHeap< T, Predicate >::LeftChild (int n) const
    -
    -inlineprivate
    -
    - -

    Definition at line 40 of file BinaryHeap.h.

    -
    40{ return n * 2 + 1; }
    -
    -

    Referenced by FixDown().

    - -
    -
    - -

    ◆ Parent()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    int BinaryHeap< T, Predicate >::Parent (int n) const
    -
    -inlineprivate
    -
    - -

    Definition at line 39 of file BinaryHeap.h.

    -
    39{ return (n - 1) / 2; }
    -
    -

    Referenced by BinaryHeap(), and FixUp().

    - -
    -
    - -

    ◆ Pop()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    void BinaryHeap< T, Predicate >::Pop ()
    -
    -inline
    -
    - -

    Definition at line 23 of file BinaryHeap.h.

    -
    23 {
    -
    24 _data.front() = std::move(_data.back());
    -
    25 _data.pop_back();
    -
    26 FixDown(0);
    -
    27 }
    -
    -

    References _data, and FixDown().

    - -
    -
    - -

    ◆ Push()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    -
    -template<typename ... Args>
    - - - - - -
    - - - - - - - -
    void BinaryHeap< T, Predicate >::Push (Args &&... args)
    -
    -inline
    -
    - -

    Definition at line 18 of file BinaryHeap.h.

    -
    18 {
    -
    19 _data.emplace_back(std::forward<Args>(args)...);
    -
    20 FixUp(_data.size() - 1);
    -
    21 }
    -
    void FixUp(int n, Predicate p=Predicate())
    Definition BinaryHeap.h:43
    -
    -

    References _data, and FixUp().

    - -
    -
    - -

    ◆ RightChild()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    int BinaryHeap< T, Predicate >::RightChild (int n) const
    -
    -inlineprivate
    -
    - -

    Definition at line 41 of file BinaryHeap.h.

    -
    41{ return n * 2 + 2; }
    -
    -

    Referenced by FixDown().

    - -
    -
    - -

    ◆ Size()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    std::size_t BinaryHeap< T, Predicate >::Size () const
    -
    -inline
    -
    - -

    Definition at line 34 of file BinaryHeap.h.

    -
    34 {
    -
    35 return _data.size();
    -
    36 }
    -
    -

    References _data.

    - -
    -
    - -

    ◆ Top()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    const T & BinaryHeap< T, Predicate >::Top () const
    -
    -inline
    -
    - -

    Definition at line 29 of file BinaryHeap.h.

    -
    29 {
    -
    30 assert(!_data.empty() && "access empty heap top");
    -
    31 return _data[0];
    -
    32 }
    -
    -

    References _data.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ _data

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - -
    std::vector<T> BinaryHeap< T, Predicate >::_data
    -
    -private
    -
    - -

    Definition at line 6 of file BinaryHeap.h.

    - -

    Referenced by BinaryHeap(), FixDown(), FixUp(), Pop(), Push(), Size(), and Top().

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_binary_heap.js b/docs/class_binary_heap.js deleted file mode 100644 index 576275f..0000000 --- a/docs/class_binary_heap.js +++ /dev/null @@ -1,15 +0,0 @@ -var class_binary_heap = -[ - [ "BinaryHeap", "class_binary_heap.html#a0d9679ed0e97e921442df18bcb3e5ffd", null ], - [ "BinaryHeap", "class_binary_heap.html#ac79d9068e914510d4603fd2de15248be", null ], - [ "FixDown", "class_binary_heap.html#a57a09c7ea701967c46d90568cbfc91ba", null ], - [ "FixUp", "class_binary_heap.html#aa9a66152053b6ad02b893478cebe7e7e", null ], - [ "LeftChild", "class_binary_heap.html#a55145df41fa1560e95dcfd1fb20e9242", null ], - [ "Parent", "class_binary_heap.html#a7c5588c7b6657784922b9c43ed90d25a", null ], - [ "Pop", "class_binary_heap.html#a68b86a0f8e20eb80a6c2c9db164c2dde", null ], - [ "Push", "class_binary_heap.html#a3953761fb767627406e06d9860ab06c6", null ], - [ "RightChild", "class_binary_heap.html#ac05dfe457e3d6917472e6b232497eab4", null ], - [ "Size", "class_binary_heap.html#a8dbbd7ca7020e2a4b397ccc11165f278", null ], - [ "Top", "class_binary_heap.html#a0ed75c0004d274ed966336b7eb264ee6", null ], - [ "_data", "class_binary_heap.html#ada01307e0a8c533621e1d67301721a52", null ] -]; \ No newline at end of file diff --git a/docs/class_binomial_heap-members.html b/docs/class_binomial_heap-members.html deleted file mode 100644 index 50b3316..0000000 --- a/docs/class_binomial_heap-members.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    BinomialHeap< T, Predicate > Member List
    -
    -
    - -

    This is the complete list of members for BinomialHeap< T, Predicate >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - -
    _sizeBinomialHeap< T, Predicate >private
    _treesBinomialHeap< T, Predicate >private
    BinomialHeap()BinomialHeap< T, Predicate >inline
    BinomialHeap(const BinomialHeap &rhs)BinomialHeap< T, Predicate >inline
    BinomialHeap(BinomialHeap &&rhs) noexceptBinomialHeap< T, Predicate >inline
    Debug() constBinomialHeap< T, Predicate >inline
    Empty() constBinomialHeap< T, Predicate >inline
    GetMaxIndex() constBinomialHeap< T, Predicate >inlineprivate
    Merge(BinomialHeap heap)BinomialHeap< T, Predicate >inline
    MergeToHeight(FlagTree *tree0, int height)BinomialHeap< T, Predicate >inlineprivate
    operator=(BinomialHeap rhs)BinomialHeap< T, Predicate >inline
    Pop()BinomialHeap< T, Predicate >inline
    Push(Args &&... args)BinomialHeap< T, Predicate >inline
    Size() constBinomialHeap< T, Predicate >inline
    swap(BinomialHeap &lhs, BinomialHeap &rhs)BinomialHeap< T, Predicate >friend
    Top() constBinomialHeap< T, Predicate >inline
    Top()BinomialHeap< T, Predicate >inline
    ~BinomialHeap()BinomialHeap< T, Predicate >inline
    -
    -
    - - - - diff --git a/docs/class_binomial_heap.html b/docs/class_binomial_heap.html deleted file mode 100644 index 02ad2b7..0000000 --- a/docs/class_binomial_heap.html +++ /dev/null @@ -1,853 +0,0 @@ - - - - - - - -Flow: BinomialHeap< T, Predicate > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    BinomialHeap< T, Predicate > Class Template Reference
    -
    -
    - -

    #include <BinomialHeap.h>

    - - - -

    -Classes

    class  FlagTree
    - - - - - - - - - - - - - - - -

    -Public Member Functions

     BinomialHeap ()
     BinomialHeap (const BinomialHeap &rhs)
     BinomialHeap (BinomialHeap &&rhs) noexcept
     ~BinomialHeap ()
    BinomialHeapoperator= (BinomialHeap rhs)
    std::size_t Size () const
    bool Empty () const
    const T & Top () const
    T & Top ()
    template<typename... Args>
    void Push (Args &&... args)
    void Merge (BinomialHeap heap)
    void Pop ()
    void Debug () const
    - - - -

    -Private Member Functions

    void MergeToHeight (FlagTree *tree0, int height)
    int GetMaxIndex () const
    - - - -

    -Private Attributes

    std::vector< FlagTree * > _trees
    std::size_t _size
    - - -

    -Friends

    void swap (BinomialHeap &lhs, BinomialHeap &rhs)
    -

    Detailed Description

    -
    template<typename T, typename Predicate>
    -class BinomialHeap< T, Predicate >
    -

    Definition at line 18 of file BinomialHeap.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ BinomialHeap() [1/3]

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    BinomialHeap< T, Predicate >::BinomialHeap ()
    -
    -inline
    -
    - -

    Definition at line 57 of file BinomialHeap.h.

    -
    57 :
    -
    58 _trees(), _size(0) {
    -
    59 }
    -
    std::vector< FlagTree * > _trees
    -
    std::size_t _size
    -
    -

    References _size, and _trees.

    - -

    Referenced by BinomialHeap(), BinomialHeap(), Merge(), operator=(), and swap.

    - -
    -
    - -

    ◆ BinomialHeap() [2/3]

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    BinomialHeap< T, Predicate >::BinomialHeap (const BinomialHeap< T, Predicate > & rhs)
    -
    -inline
    -
    - -

    Definition at line 61 of file BinomialHeap.h.

    -
    61 :
    -
    62 _trees(rhs._trees.size()), _size(rhs._size) {
    -
    63 for (int h = 0; h < rhs._trees.size(); ++h) {
    -
    64 if (rhs._trees[h]) {
    -
    65 FlagTree* t = rhs._trees[h];
    -
    66 _trees[h] = new FlagTree(*t);
    -
    67 }
    -
    68 }
    -
    69 }
    - - -
    -

    References _size, _trees, and BinomialHeap().

    - -
    -
    - -

    ◆ BinomialHeap() [3/3]

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    BinomialHeap< T, Predicate >::BinomialHeap (BinomialHeap< T, Predicate > && rhs)
    -
    -inlinenoexcept
    -
    - -

    Definition at line 71 of file BinomialHeap.h.

    -
    71 :
    - -
    73 }
    -
    -

    References BinomialHeap().

    - -
    -
    - -

    ◆ ~BinomialHeap()

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    BinomialHeap< T, Predicate >::~BinomialHeap ()
    -
    -inline
    -
    - -

    Definition at line 75 of file BinomialHeap.h.

    -
    75 {
    -
    76 for (const FlagTree* tree : _trees) {
    -
    77 delete tree;
    -
    78 }
    -
    79 }
    -
    -

    References _trees.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ Debug()

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    void BinomialHeap< T, Predicate >::Debug () const
    -
    -inline
    -
    - -

    Definition at line 138 of file BinomialHeap.h.

    -
    138 {
    -
    139 #ifdef _DEBUG
    -
    140 std::cout << "size: " << _size << '\n';
    -
    141 for (const FlagTree* tree : _trees) {
    -
    142 Print("", tree, false);
    -
    143 }
    -
    144 #endif
    -
    145 }
    -
    -

    References _size, and _trees.

    - -
    -
    - -

    ◆ Empty()

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    bool BinomialHeap< T, Predicate >::Empty () const
    -
    -inline
    -
    - -

    Definition at line 90 of file BinomialHeap.h.

    -
    90 {
    -
    91 return _size == 0;
    -
    92 }
    -
    -

    References _size.

    - -
    -
    - -

    ◆ GetMaxIndex()

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    int BinomialHeap< T, Predicate >::GetMaxIndex () const
    -
    -inlineprivate
    -
    - -

    Definition at line 171 of file BinomialHeap.h.

    -
    171 {
    -
    172 assert(_size != 0);
    -
    173 const Predicate cmp{};
    -
    174 int m = -1;
    -
    175 for (int h = 0; h < _trees.size(); ++h) {
    -
    176 if (_trees[h] && (m == -1 || cmp(_trees[h]->_data, _trees[m]->_data))) {
    -
    177 m = h;
    -
    178 }
    -
    179 }
    -
    180 return m;
    -
    181 }
    -
    -

    References _size, and _trees.

    - -

    Referenced by Pop(), Top(), and Top().

    - -
    -
    - -

    ◆ Merge()

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    void BinomialHeap< T, Predicate >::Merge (BinomialHeap< T, Predicate > heap)
    -
    -inline
    -
    - -

    Definition at line 108 of file BinomialHeap.h.

    -
    108 {
    -
    109 for (int h = 0; h < heap._trees.size(); ++h) {
    -
    110 if (FlagTree* tree = heap._trees[h]; tree) {
    - -
    112 }
    -
    113 }
    -
    114 _size += heap._size;
    -
    115
    -
    116 heap._trees.clear();
    -
    117 heap._size = 0;
    -
    118 }
    -
    void MergeToHeight(FlagTree *tree0, int height)
    -
    -

    References _size, _trees, BinomialHeap(), and MergeToHeight().

    - -
    -
    - -

    ◆ MergeToHeight()

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - - - - - -
    void BinomialHeap< T, Predicate >::MergeToHeight (FlagTree * tree0,
    int height )
    -
    -inlineprivate
    -
    - -

    Definition at line 148 of file BinomialHeap.h.

    -
    148 {
    -
    149 const Predicate cmp{};
    -
    150 while (true) {
    -
    151 if (height >= _trees.size()) {
    -
    152 _trees.resize(height + 1);
    -
    153 break;
    -
    154 }
    -
    155
    -
    156 if (FlagTree* tree1 = _trees[height]; tree1) {
    -
    157 if (cmp(tree1->_data, tree0->_data)) {
    - -
    159 }
    -
    160 tree1->_right = tree0->_left;
    -
    161 tree0->_left = tree1;
    -
    162 _trees[height++] = nullptr;
    -
    163 } else {
    -
    164 break;
    -
    165 }
    -
    166 }
    -
    167
    - -
    169 }
    -
    -

    References BinomialHeap< T, Predicate >::FlagTree::_data, BinomialHeap< T, Predicate >::FlagTree::_left, and _trees.

    - -

    Referenced by Merge(), Pop(), and Push().

    - -
    -
    - -

    ◆ operator=()

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    BinomialHeap & BinomialHeap< T, Predicate >::operator= (BinomialHeap< T, Predicate > rhs)
    -
    -inline
    -
    - -

    Definition at line 81 of file BinomialHeap.h.

    -
    81 {
    -
    82 swap(*this, rhs);
    -
    83 return *this;
    -
    84 }
    -
    friend void swap(BinomialHeap &lhs, BinomialHeap &rhs)
    -
    -

    References BinomialHeap(), and swap.

    - -
    -
    - -

    ◆ Pop()

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    void BinomialHeap< T, Predicate >::Pop ()
    -
    -inline
    -
    - -

    Definition at line 120 of file BinomialHeap.h.

    -
    120 {
    -
    121 int h = GetMaxIndex();
    -
    122 FlagTree* tree = _trees[h]->_left;
    -
    123 _trees[h]->_left = nullptr;
    -
    124 delete _trees[h];
    -
    125 _trees[h] = nullptr;
    -
    126
    -
    127 while (tree) {
    -
    128 --h;
    -
    129 FlagTree* const next = tree->_right;
    -
    130 tree->_right = nullptr;
    - -
    132 tree = next;
    -
    133 }
    -
    134
    -
    135 --_size;
    -
    136 }
    -
    int GetMaxIndex() const
    -
    -

    References BinomialHeap< T, Predicate >::FlagTree::_right, _size, _trees, GetMaxIndex(), and MergeToHeight().

    - -
    -
    - -

    ◆ Push()

    - -
    -
    -
    -template<typename T, typename Predicate>
    -
    -template<typename... Args>
    - - - - - -
    - - - - - - - -
    void BinomialHeap< T, Predicate >::Push (Args &&... args)
    -
    -inline
    -
    - -

    Definition at line 103 of file BinomialHeap.h.

    -
    103 {
    - -
    105 ++_size;
    -
    106 }
    -
    -

    References _size, and MergeToHeight().

    - -
    -
    - -

    ◆ Size()

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    std::size_t BinomialHeap< T, Predicate >::Size () const
    -
    -inline
    -
    - -

    Definition at line 86 of file BinomialHeap.h.

    -
    86 {
    -
    87 return _size;
    -
    88 }
    -
    -

    References _size.

    - -
    -
    - -

    ◆ Top() [1/2]

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    T & BinomialHeap< T, Predicate >::Top ()
    -
    -inline
    -
    - -

    Definition at line 98 of file BinomialHeap.h.

    -
    98 {
    -
    99 return _trees[GetMaxIndex()]->_data;
    -
    100 }
    -
    -

    References _trees, and GetMaxIndex().

    - -
    -
    - -

    ◆ Top() [2/2]

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    const T & BinomialHeap< T, Predicate >::Top () const
    -
    -inline
    -
    - -

    Definition at line 94 of file BinomialHeap.h.

    -
    94 {
    -
    95 return _trees[GetMaxIndex()]->_data;
    -
    96 }
    -
    -

    References _trees, and GetMaxIndex().

    - -
    -
    - - -

    ◆ swap

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - - - - - -
    void swap (BinomialHeap< T, Predicate > & lhs,
    BinomialHeap< T, Predicate > & rhs )
    -
    -friend
    -
    - -

    Definition at line 197 of file BinomialHeap.h.

    -
    197 {
    -
    198 using std::swap;
    - - -
    201}
    -
    -

    References _size, _trees, BinomialHeap(), and swap().

    - -

    Referenced by operator=().

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ _size

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - -
    std::size_t BinomialHeap< T, Predicate >::_size
    -
    -private
    -
    - -

    Definition at line 54 of file BinomialHeap.h.

    - -

    Referenced by BinomialHeap(), BinomialHeap(), Debug(), Empty(), GetMaxIndex(), Merge(), Pop(), Push(), Size(), and swap.

    - -
    -
    - -

    ◆ _trees

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - -
    std::vector<FlagTree*> BinomialHeap< T, Predicate >::_trees
    -
    -private
    -
    - -

    Definition at line 53 of file BinomialHeap.h.

    - -

    Referenced by BinomialHeap(), BinomialHeap(), Debug(), GetMaxIndex(), Merge(), MergeToHeight(), Pop(), swap, Top(), Top(), and ~BinomialHeap().

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_binomial_heap.js b/docs/class_binomial_heap.js deleted file mode 100644 index 6f0cad6..0000000 --- a/docs/class_binomial_heap.js +++ /dev/null @@ -1,22 +0,0 @@ -var class_binomial_heap = -[ - [ "FlagTree", "class_binomial_heap_1_1_flag_tree.html", "class_binomial_heap_1_1_flag_tree" ], - [ "BinomialHeap", "class_binomial_heap.html#a08d73d1e768082bfa0873dd9246d8d35", null ], - [ "BinomialHeap", "class_binomial_heap.html#a7554a82e06539ebbdec513ef2404dc0b", null ], - [ "BinomialHeap", "class_binomial_heap.html#acff0cc05580f47f74a5438578e9bb4d8", null ], - [ "~BinomialHeap", "class_binomial_heap.html#a46d26e050caf0f59c4bfd1945b45abc0", null ], - [ "Debug", "class_binomial_heap.html#a35239518827ef736006740e5d368e93a", null ], - [ "Empty", "class_binomial_heap.html#aaed84d347b9813ea57cd038002b658dc", null ], - [ "GetMaxIndex", "class_binomial_heap.html#ad802b7ceeca544218be749b786dc6ade", null ], - [ "Merge", "class_binomial_heap.html#a1097dead10fc94dd970164cd93a289c2", null ], - [ "MergeToHeight", "class_binomial_heap.html#af6cf13de0597a9e105917c103e550b99", null ], - [ "operator=", "class_binomial_heap.html#ab9d1451ae73b2e8e4e0ec7f45cdc73e2", null ], - [ "Pop", "class_binomial_heap.html#a0e2216caa0911e6a81178d2fe7e0b911", null ], - [ "Push", "class_binomial_heap.html#acc21f9b8203f26b3bdfaac56d90cad6c", null ], - [ "Size", "class_binomial_heap.html#abc0262e1ca0f234419fb6023587840ea", null ], - [ "Top", "class_binomial_heap.html#a189e8e2de41b44ebd0803c94738b23bf", null ], - [ "Top", "class_binomial_heap.html#adc6b443e44e239ffff1eefb5ba280792", null ], - [ "swap", "class_binomial_heap.html#a471ccced6b886f7d18948a6840536106", null ], - [ "_size", "class_binomial_heap.html#aa25bc3c594252d3dfcf88062154abe41", null ], - [ "_trees", "class_binomial_heap.html#a8fff9b5c749e1a4207dad31aaa66d613", null ] -]; \ No newline at end of file diff --git a/docs/class_binomial_heap_1_1_flag_tree-members.html b/docs/class_binomial_heap_1_1_flag_tree-members.html deleted file mode 100644 index 4d8ef84..0000000 --- a/docs/class_binomial_heap_1_1_flag_tree-members.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    BinomialHeap< T, Predicate >::FlagTree Member List
    -
    - -
    -
    - - - - diff --git a/docs/class_binomial_heap_1_1_flag_tree.html b/docs/class_binomial_heap_1_1_flag_tree.html deleted file mode 100644 index bd26426..0000000 --- a/docs/class_binomial_heap_1_1_flag_tree.html +++ /dev/null @@ -1,499 +0,0 @@ - - - - - - - -Flow: BinomialHeap< T, Predicate >::FlagTree Class Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    BinomialHeap< T, Predicate >::FlagTree Class Reference
    -
    -
    - - - - - - - - - - -

    -Private Member Functions

    template<typename ... Args>
     FlagTree (Args &&... args)
     FlagTree (const FlagTree &rhs)
     FlagTree (FlagTree &rhs)
     FlagTree (FlagTree &&rhs) noexcept
     ~FlagTree ()
    FlagTreeoperator= (const FlagTree &rhs)=delete
    FlagTreeoperator= (FlagTree &&rhs)=delete
    - - - - -

    -Private Attributes

    _data
    FlagTree_left
    FlagTree_right
    - - -

    -Friends

    class BinomialHeap
    -

    Detailed Description

    -
    template<typename T, typename Predicate>
    -class BinomialHeap< T, Predicate >::FlagTree
    -

    Definition at line 19 of file BinomialHeap.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ FlagTree() [1/4]

    - -
    -
    -
    -template<typename T, typename Predicate>
    -
    -template<typename ... Args>
    - - - - - -
    - - - - - - - -
    BinomialHeap< T, Predicate >::FlagTree::FlagTree (Args &&... args)
    -
    -inlineprivate
    -
    - -

    Definition at line 25 of file BinomialHeap.h.

    -
    25 :
    -
    26 _data(std::forward<Args>(args)...), _left(nullptr), _right(nullptr) {
    -
    27 }
    - - - - -
    -

    References _data, _left, and _right.

    - -

    Referenced by FlagTree(), FlagTree(), FlagTree(), operator=(), and operator=().

    - -
    -
    - -

    ◆ FlagTree() [2/4]

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    BinomialHeap< T, Predicate >::FlagTree::FlagTree (const FlagTree & rhs)
    -
    -inlineprivate
    -
    - -

    Definition at line 29 of file BinomialHeap.h.

    -
    29 :
    -
    30 _data(rhs._data), _left((rhs._left ? new FlagTree(*rhs._left) : nullptr)), _right(_right = (rhs._right ? new FlagTree(*rhs._right) : nullptr)) {
    -
    31 }
    -
    FlagTree(Args &&... args)
    -
    -

    References _data, _left, _right, and FlagTree().

    - -
    -
    - -

    ◆ FlagTree() [3/4]

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    BinomialHeap< T, Predicate >::FlagTree::FlagTree (FlagTree & rhs)
    -
    -inlineprivate
    -
    - -

    Definition at line 33 of file BinomialHeap.h.

    -
    33 :
    -
    34 FlagTree(const_cast<const FlagTree&>(rhs)) {
    -
    35 //override perfect forwarding from variadic constructor
    -
    36 }
    -
    -

    References FlagTree().

    - -
    -
    - -

    ◆ FlagTree() [4/4]

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    BinomialHeap< T, Predicate >::FlagTree::FlagTree (FlagTree && rhs)
    -
    -inlineprivatenoexcept
    -
    - -

    Definition at line 38 of file BinomialHeap.h.

    -
    38 :
    -
    39 _data(std::move(rhs._data)), _left(std::exchange(rhs._left, nullptr)), _right(std::exchange(rhs._right, nullptr)) {
    -
    40 }
    -
    -

    References FlagTree().

    - -
    -
    - -

    ◆ ~FlagTree()

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    BinomialHeap< T, Predicate >::FlagTree::~FlagTree ()
    -
    -inlineprivate
    -
    - -

    Definition at line 42 of file BinomialHeap.h.

    -
    42 {
    -
    43 delete _left;
    -
    44 delete _right;
    -
    45 }
    -
    -

    References _left, and _right.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ operator=() [1/2]

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    FlagTree & BinomialHeap< T, Predicate >::FlagTree::operator= (const FlagTree & rhs)
    -
    -privatedelete
    -
    - -

    References FlagTree().

    - -
    -
    - -

    ◆ operator=() [2/2]

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - - - - -
    FlagTree & BinomialHeap< T, Predicate >::FlagTree::operator= (FlagTree && rhs)
    -
    -privatedelete
    -
    - -

    References FlagTree().

    - -
    -
    - - -

    ◆ BinomialHeap

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - -
    friend class BinomialHeap
    -
    -friend
    -
    - -

    Definition at line 50 of file BinomialHeap.h.

    - -

    References BinomialHeap.

    - -

    Referenced by BinomialHeap.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ _data

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - -
    T BinomialHeap< T, Predicate >::FlagTree::_data
    -
    -private
    -
    - -

    Definition at line 20 of file BinomialHeap.h.

    - -

    Referenced by FlagTree(), FlagTree(), and BinomialHeap< T, Predicate >::MergeToHeight().

    - -
    -
    - -

    ◆ _left

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - -
    FlagTree* BinomialHeap< T, Predicate >::FlagTree::_left
    -
    -private
    -
    - -

    Definition at line 21 of file BinomialHeap.h.

    - -

    Referenced by FlagTree(), FlagTree(), BinomialHeap< T, Predicate >::MergeToHeight(), and ~FlagTree().

    - -
    -
    - -

    ◆ _right

    - -
    -
    -
    -template<typename T, typename Predicate>
    - - - - - -
    - - - - -
    FlagTree* BinomialHeap< T, Predicate >::FlagTree::_right
    -
    -private
    -
    - -

    Definition at line 22 of file BinomialHeap.h.

    - -

    Referenced by FlagTree(), FlagTree(), BinomialHeap< T, Predicate >::Pop(), and ~FlagTree().

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_binomial_heap_1_1_flag_tree.js b/docs/class_binomial_heap_1_1_flag_tree.js deleted file mode 100644 index 66b9e09..0000000 --- a/docs/class_binomial_heap_1_1_flag_tree.js +++ /dev/null @@ -1,14 +0,0 @@ -var class_binomial_heap_1_1_flag_tree = -[ - [ "FlagTree", "class_binomial_heap_1_1_flag_tree.html#ac1c1929b76ec307331493b5628a72865", null ], - [ "FlagTree", "class_binomial_heap_1_1_flag_tree.html#a191fb6a6df479ad5fb8f7b797b3c9de8", null ], - [ "FlagTree", "class_binomial_heap_1_1_flag_tree.html#abd3145af05d86d9e156fcb22bd0ae289", null ], - [ "FlagTree", "class_binomial_heap_1_1_flag_tree.html#ac1e5b470298b303b989dd9826bdaa091", null ], - [ "~FlagTree", "class_binomial_heap_1_1_flag_tree.html#a0f24158df3a6f24c5a1032829e4aa87c", null ], - [ "operator=", "class_binomial_heap_1_1_flag_tree.html#a3d6af13c7eda6f5f2ca6d86e75653278", null ], - [ "operator=", "class_binomial_heap_1_1_flag_tree.html#a5a2cf64fe8ed9b7f1e565a1a483a5ed8", null ], - [ "BinomialHeap", "class_binomial_heap_1_1_flag_tree.html#adb3c0687f1af3f2b8d59c2ff7ec01807", null ], - [ "_data", "class_binomial_heap_1_1_flag_tree.html#a4c72c3a1d0da747536683a945d9689b4", null ], - [ "_left", "class_binomial_heap_1_1_flag_tree.html#a71eb330d4c27115b28abfebbe1788349", null ], - [ "_right", "class_binomial_heap_1_1_flag_tree.html#a8b4e11d69103b08bcdf97042e0b97938", null ] -]; \ No newline at end of file diff --git a/docs/class_disjoint_set-members.html b/docs/class_disjoint_set-members.html deleted file mode 100644 index fcaf7d6..0000000 --- a/docs/class_disjoint_set-members.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    DisjointSet< T > Member List
    -
    -
    - -

    This is the complete list of members for DisjointSet< T >, including all inherited members.

    - - - - - - - - - - - - - - - -
    DisjointSet()=defaultDisjointSet< T >
    DisjointSet(int size, const T &val=T{})DisjointSet< T >
    Empty() constDisjointSet< T >
    Find(int setID)DisjointSet< T >
    InSameSet(int set0, int set1)DisjointSet< T >
    operator[](int setID)DisjointSet< T >
    operator[](int setID) constDisjointSet< T >
    PushBack(const T &val)DisjointSet< T >
    PushBack(T &&val)DisjointSet< T >
    Reserve(int new_reserved)DisjointSet< T >
    Resize(int new_size, const T &val=T{})DisjointSet< T >
    sets_DisjointSet< T >private
    Size() constDisjointSet< T >
    Union(int set0, int set1)DisjointSet< T >
    -
    -
    - - - - diff --git a/docs/class_disjoint_set.html b/docs/class_disjoint_set.html deleted file mode 100644 index 8fa5ad0..0000000 --- a/docs/class_disjoint_set.html +++ /dev/null @@ -1,593 +0,0 @@ - - - - - - - -Flow: DisjointSet< T > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    DisjointSet< T > Class Template Reference
    -
    -
    - -

    #include <DisjointSet.h>

    - - - -

    -Classes

    struct  Set
    - - - - - - - - - - - - - - -

    -Public Member Functions

     DisjointSet ()=default
     DisjointSet (int size, const T &val=T{})
    T & operator[] (int setID)
    const T & operator[] (int setID) const
    constexpr int Size () const
    constexpr bool Empty () const
    int Find (int setID)
    void Union (int set0, int set1)
    bool InSameSet (int set0, int set1)
    void PushBack (const T &val)
    void PushBack (T &&val)
    void Resize (int new_size, const T &val=T{})
    void Reserve (int new_reserved)
    - - -

    -Private Attributes

    std::vector< Setsets_
    -

    Detailed Description

    -
    template<typename T>
    -class DisjointSet< T >
    -

    Definition at line 5 of file DisjointSet.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ DisjointSet() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    DisjointSet< T >::DisjointSet ()
    -
    -default
    -
    - -
    -
    - -

    ◆ DisjointSet() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    DisjointSet< T >::DisjointSet (int size,
    const T & val = T{} )
    -
    - -

    Definition at line 39 of file DisjointSet.h.

    -
    39 : sets_(size)
    -
    40{
    -
    41 for (int r = 0; r < sets_.size(); ++r)
    -
    42 {
    -
    43 sets_[r].parent = r;
    -
    44 sets_[r].data = val;
    -
    45 }
    -
    46}
    - -
    std::vector< Set > sets_
    Definition DisjointSet.h:14
    -
    -

    References sets_.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ Empty()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    bool DisjointSet< T >::Empty () const
    -
    -constexpr
    -
    - -

    Definition at line 69 of file DisjointSet.h.

    -
    70{
    -
    71 return sets_.empty();
    -
    72}
    -
    -

    References sets_.

    - -
    -
    - -

    ◆ Find()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    int DisjointSet< T >::Find (int setID)
    -
    - -

    Definition at line 78 of file DisjointSet.h.

    -
    79{
    -
    80 assert(0 <= setID && setID < sets_.size());
    -
    81
    - -
    83 while (true)
    -
    84 {
    -
    85 const Set& top = *stack.back();
    -
    86 if (top.parent == setID) break;
    -
    87 setID = top.parent;
    -
    88 stack.push_back(&sets_[top.parent]);
    -
    89 }
    -
    90
    -
    91 for (int r = 0; r < stack.size() - 1; ++r)
    -
    92 {
    -
    93 stack[r]->parent = setID;
    -
    94 }
    -
    95
    -
    96 return setID;
    -
    97}
    - -
    -

    References DisjointSet< T >::Set::parent, and sets_.

    - -

    Referenced by InSameSet(), and Union().

    - -
    -
    - -

    ◆ InSameSet()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    bool DisjointSet< T >::InSameSet (int set0,
    int set1 )
    -
    - -

    Definition at line 121 of file DisjointSet.h.

    -
    122{
    -
    123 return Find(set0) == Find(set1);
    -
    124}
    -
    int Find(int setID)
    Definition DisjointSet.h:78
    -
    -

    References Find().

    - -
    -
    - -

    ◆ operator[]() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    T & DisjointSet< T >::operator[] (int setID)
    -
    - -

    Definition at line 49 of file DisjointSet.h.

    -
    50{
    -
    51 assert(0 <= setID && setID < sets_.size());
    -
    52 return sets_[setID].data;
    -
    53}
    -
    -

    References sets_.

    - -
    -
    - -

    ◆ operator[]() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    const T & DisjointSet< T >::operator[] (int setID) const
    -
    - -

    Definition at line 56 of file DisjointSet.h.

    -
    57{
    -
    58 assert(0 <= setID && setID < sets_.size());
    -
    59 return sets_[setID].data;
    -
    60}
    -
    -

    References sets_.

    - -
    -
    - -

    ◆ PushBack() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    void DisjointSet< T >::PushBack (const T & val)
    -
    - -

    Definition at line 127 of file DisjointSet.h.

    -
    128{
    -
    129 sets_.emplace_back(static_cast<int>(sets_.size()), 0, val);
    -
    130}
    -
    -

    References sets_.

    - -
    -
    - -

    ◆ PushBack() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    void DisjointSet< T >::PushBack (T && val)
    -
    - -

    Definition at line 133 of file DisjointSet.h.

    -
    134{
    -
    135 sets_.emplace_back(static_cast<int>(sets_.size()), 0, std::move(val));
    -
    136}
    -
    -

    References sets_.

    - -
    -
    - -

    ◆ Reserve()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    void DisjointSet< T >::Reserve (int new_reserved)
    -
    - -

    Definition at line 145 of file DisjointSet.h.

    -
    146{
    -
    147 sets_.reserve(new_reserved);
    -
    148}
    -
    -

    References sets_.

    - -
    -
    - -

    ◆ Resize()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    void DisjointSet< T >::Resize (int new_size,
    const T & val = T{} )
    -
    - -

    Definition at line 139 of file DisjointSet.h.

    -
    140{
    -
    141 sets_.resize(new_size, val);
    -
    142}
    -
    -

    References sets_.

    - -
    -
    - -

    ◆ Size()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    int DisjointSet< T >::Size () const
    -
    -constexpr
    -
    - -

    Definition at line 63 of file DisjointSet.h.

    -
    64{
    -
    65 return static_cast<int>(sets_.size());
    -
    66}
    -
    -

    References sets_.

    - -
    -
    - -

    ◆ Union()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    void DisjointSet< T >::Union (int set0,
    int set1 )
    -
    - -

    Definition at line 100 of file DisjointSet.h.

    -
    101{
    -
    102 assert(0 <= set0 && set0 < sets_.size());
    -
    103 assert(0 <= set1 && set1 < sets_.size());
    -
    104
    -
    105 int root0 = Find(set0);
    -
    106 int root1 = Find(set1);
    -
    107
    -
    108 if (root0 == root1) return;
    -
    109
    -
    110 //add () since gcc believes rank is a template, wtf???
    -
    111 if ((sets_[root0].rank) < (sets_[root1].rank)) sets_[root0].parent = root1;
    -
    112 else if ((sets_[root0].rank) > (sets_[root1].rank)) sets_[root1].parent = root0;
    -
    113 else
    -
    114 {
    -
    115 sets_[root1].parent = root0;
    -
    116 ++sets_[root0].rank;
    -
    117 }
    -
    118}
    -
    -

    References Find(), and sets_.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ sets_

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    std::vector<Set> DisjointSet< T >::sets_
    -
    -private
    -
    - -

    Definition at line 14 of file DisjointSet.h.

    - -

    Referenced by DisjointSet(), Empty(), Find(), operator[](), operator[](), PushBack(), PushBack(), Reserve(), Resize(), Size(), and Union().

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_disjoint_set.js b/docs/class_disjoint_set.js deleted file mode 100644 index d6e7033..0000000 --- a/docs/class_disjoint_set.js +++ /dev/null @@ -1,18 +0,0 @@ -var class_disjoint_set = -[ - [ "Set", "struct_disjoint_set_1_1_set.html", "struct_disjoint_set_1_1_set" ], - [ "DisjointSet", "class_disjoint_set.html#a149364c52c1d8c177bc0c2a1c5f1e83d", null ], - [ "DisjointSet", "class_disjoint_set.html#a34574033f309cdb23c364744be0689fc", null ], - [ "Empty", "class_disjoint_set.html#aaf0b989981a16122c81476aa35771d44", null ], - [ "Find", "class_disjoint_set.html#abf8e7317a46fda87aee72892302283a9", null ], - [ "InSameSet", "class_disjoint_set.html#aac911297a1592e5e25c63c72362e8b6e", null ], - [ "operator[]", "class_disjoint_set.html#a8a21e0b3cfc09af9675bf57335ff56a9", null ], - [ "operator[]", "class_disjoint_set.html#aa824dddc2e76d3e47865546e5eae0746", null ], - [ "PushBack", "class_disjoint_set.html#a3918cd82b9662d3455906cb9f5b90a36", null ], - [ "PushBack", "class_disjoint_set.html#ae3535f0c54db9f48de22750448dbf6e2", null ], - [ "Reserve", "class_disjoint_set.html#ad76eefdcd819f2c2393ea057d0090f18", null ], - [ "Resize", "class_disjoint_set.html#ab55ff25ae5a2213d9e1790be7cec2c59", null ], - [ "Size", "class_disjoint_set.html#a1ee9e01280561e828d4839839f0c9ade", null ], - [ "Union", "class_disjoint_set.html#a23daffcefcb74cb52b07f33b593eb7f1", null ], - [ "sets_", "class_disjoint_set.html#a614a37acdf7dcdd6b8e38786e9eddb58", null ] -]; \ No newline at end of file diff --git a/docs/class_integer_iterator-members.html b/docs/class_integer_iterator-members.html deleted file mode 100644 index d53abca..0000000 --- a/docs/class_integer_iterator-members.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    IntegerIterator< T > Member List
    -
    -
    - -

    This is the complete list of members for IntegerIterator< T >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - -
    _valueIntegerIterator< T >private
    difference_type typedefIntegerIterator< T >
    IntegerIterator(const T &value)IntegerIterator< T >inline
    iterator_category typedefIntegerIterator< T >
    operator*() constIntegerIterator< T >inline
    operator++()IntegerIterator< T >inline
    operator++(int)IntegerIterator< T >inline
    operator+=(difference_type n)IntegerIterator< T >inline
    operator-(IntegerIterator &rhs) constIntegerIterator< T >inline
    operator--()IntegerIterator< T >inline
    operator--(int)IntegerIterator< T >inline
    operator->() constIntegerIterator< T >inline
    operator<(const IntegerIterator &lhs, const IntegerIterator &rhs)IntegerIterator< T >friend
    operator==(const IntegerIterator &lhs, const IntegerIterator &rhs)IntegerIterator< T >friend
    operator[](difference_type n) constIntegerIterator< T >inline
    pointer typedefIntegerIterator< T >
    reference typedefIntegerIterator< T >
    swap(IntegerIterator &lhs, IntegerIterator &rhs)IntegerIterator< T >friend
    value_type typedefIntegerIterator< T >
    -
    -
    - - - - diff --git a/docs/class_integer_iterator.html b/docs/class_integer_iterator.html deleted file mode 100644 index 692a856..0000000 --- a/docs/class_integer_iterator.html +++ /dev/null @@ -1,746 +0,0 @@ - - - - - - - -Flow: IntegerIterator< T > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    IntegerIterator< T > Class Template Reference
    -
    -
    - -

    #include <IntegerIterator.h>

    - - - - - - - -

    -Public Types

    using value_type = T
    using difference_type = std::ptrdiff_t
    using reference = T
    using pointer = T*
    using iterator_category = std::random_access_iterator_tag
    - - - - - - - - - - - -

    -Public Member Functions

     IntegerIterator (const T &value)
    reference operator* () const
    pointer operator-> () const
    IntegerIteratoroperator++ ()
    IntegerIterator operator++ (int)
    IntegerIteratoroperator-- ()
    IntegerIterator operator-- (int)
    IntegerIteratoroperator+= (difference_type n)
    difference_type operator- (IntegerIterator &rhs) const
    reference operator[] (difference_type n) const
    - - -

    -Private Attributes

    _value
    - - - - -

    -Friends

    bool operator< (const IntegerIterator &lhs, const IntegerIterator &rhs)
    bool operator== (const IntegerIterator &lhs, const IntegerIterator &rhs)
    void swap (IntegerIterator &lhs, IntegerIterator &rhs)
    -

    Detailed Description

    -
    template<typename T>
    -class IntegerIterator< T >
    -

    Definition at line 7 of file IntegerIterator.h.

    -

    Member Typedef Documentation

    - -

    ◆ difference_type

    - -
    -
    -
    -template<typename T>
    - - - - -
    using IntegerIterator< T >::difference_type = std::ptrdiff_t
    -
    - -

    Definition at line 12 of file IntegerIterator.h.

    - -
    -
    - -

    ◆ iterator_category

    - -
    -
    -
    -template<typename T>
    - - - - -
    using IntegerIterator< T >::iterator_category = std::random_access_iterator_tag
    -
    - -

    Definition at line 15 of file IntegerIterator.h.

    - -
    -
    - -

    ◆ pointer

    - -
    -
    -
    -template<typename T>
    - - - - -
    using IntegerIterator< T >::pointer = T*
    -
    - -

    Definition at line 14 of file IntegerIterator.h.

    - -
    -
    - -

    ◆ reference

    - -
    -
    -
    -template<typename T>
    - - - - -
    using IntegerIterator< T >::reference = T
    -
    - -

    Definition at line 13 of file IntegerIterator.h.

    - -
    -
    - -

    ◆ value_type

    - -
    -
    -
    -template<typename T>
    - - - - -
    using IntegerIterator< T >::value_type = T
    -
    - -

    Definition at line 11 of file IntegerIterator.h.

    - -
    -
    -

    Constructor & Destructor Documentation

    - -

    ◆ IntegerIterator()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    IntegerIterator< T >::IntegerIterator (const T & value)
    -
    -inline
    -
    - -

    Definition at line 17 of file IntegerIterator.h.

    -
    17 : _value(value) {
    - -
    19 static_assert(std::is_convertible_v<Trait, std::bidirectional_iterator_tag>, "not bidirectional iterator");
    -
    20 static_assert(std::is_convertible_v<Trait, std::random_access_iterator_tag>, "not random access iterator");
    -
    21 static_assert(std::is_integral_v<T>, "IntegerIterator only supports integer type");
    -
    22 }
    - - -
    -

    References _value.

    - -

    Referenced by operator++(), operator++(), operator+=(), operator-(), operator--(), operator--(), operator<, operator==, and swap.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ operator*()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    reference IntegerIterator< T >::operator* () const
    -
    -inline
    -
    - -

    Definition at line 24 of file IntegerIterator.h.

    -
    24{ return _value; }
    -
    -

    References _value.

    - -
    -
    - -

    ◆ operator++() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    IntegerIterator & IntegerIterator< T >::operator++ ()
    -
    -inline
    -
    - -

    Definition at line 27 of file IntegerIterator.h.

    -
    27 {
    -
    28 ++_value;
    -
    29 return *this;
    -
    30 }
    -
    -

    References _value, and IntegerIterator().

    - -
    -
    - -

    ◆ operator++() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    IntegerIterator IntegerIterator< T >::operator++ (int )
    -
    -inline
    -
    - -

    Definition at line 32 of file IntegerIterator.h.

    -
    32 {
    -
    33 IntegerIterator it = *this;
    -
    34 ++*this;
    -
    35 return it;
    -
    36 }
    -
    IntegerIterator(const T &value)
    -
    -

    References IntegerIterator().

    - -
    -
    - -

    ◆ operator+=()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    IntegerIterator & IntegerIterator< T >::operator+= (difference_type n)
    -
    -inline
    -
    - -

    Definition at line 49 of file IntegerIterator.h.

    -
    49 {
    -
    50 _value += n;
    -
    51 return *this;
    -
    52 }
    -
    -

    References _value, and IntegerIterator().

    - -
    -
    - -

    ◆ operator-()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    difference_type IntegerIterator< T >::operator- (IntegerIterator< T > & rhs) const
    -
    -inline
    -
    - -

    Definition at line 54 of file IntegerIterator.h.

    -
    54 {
    -
    55 return _value - rhs._value;
    -
    56 }
    -
    -

    References _value, and IntegerIterator().

    - -
    -
    - -

    ◆ operator--() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    IntegerIterator & IntegerIterator< T >::operator-- ()
    -
    -inline
    -
    - -

    Definition at line 38 of file IntegerIterator.h.

    -
    38 {
    -
    39 --_value;
    -
    40 return *this;
    -
    41 }
    -
    -

    References _value, and IntegerIterator().

    - -
    -
    - -

    ◆ operator--() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    IntegerIterator IntegerIterator< T >::operator-- (int )
    -
    -inline
    -
    - -

    Definition at line 43 of file IntegerIterator.h.

    -
    43 {
    -
    44 IntegerIterator it = *this;
    -
    45 --*this;
    -
    46 return it;
    -
    47 }
    -
    -

    References IntegerIterator().

    - -
    -
    - -

    ◆ operator->()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    pointer IntegerIterator< T >::operator-> () const
    -
    -inline
    -
    - -

    Definition at line 25 of file IntegerIterator.h.

    -
    25{ return &_value; }
    -
    -

    References _value.

    - -
    -
    - -

    ◆ operator[]()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    reference IntegerIterator< T >::operator[] (difference_type n) const
    -
    -inline
    -
    - -

    Definition at line 58 of file IntegerIterator.h.

    -
    58 {
    -
    59 return _value + n;
    -
    60 }
    -
    -

    References _value.

    - -
    -
    - - -

    ◆ operator<

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - - - - - -
    bool operator< (const IntegerIterator< T > & lhs,
    const IntegerIterator< T > & rhs )
    -
    -friend
    -
    - -

    Definition at line 62 of file IntegerIterator.h.

    -
    62 {
    -
    63 return lhs._value < rhs._value;
    -
    64 }
    -
    -

    References _value, and IntegerIterator().

    - -
    -
    - -

    ◆ operator==

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - - - - - -
    bool operator== (const IntegerIterator< T > & lhs,
    const IntegerIterator< T > & rhs )
    -
    -friend
    -
    - -

    Definition at line 66 of file IntegerIterator.h.

    -
    66 {
    -
    67 return lhs._value == rhs._value;
    -
    68 }
    -
    -

    References _value, and IntegerIterator().

    - -
    -
    - -

    ◆ swap

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - - - - - -
    void swap (IntegerIterator< T > & lhs,
    IntegerIterator< T > & rhs )
    -
    -friend
    -
    - -

    Definition at line 70 of file IntegerIterator.h.

    -
    70 {
    -
    71 using std::swap;
    - -
    73 }
    -
    friend void swap(IntegerIterator &lhs, IntegerIterator &rhs)
    -
    -

    References _value, IntegerIterator(), and swap.

    - -

    Referenced by swap.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ _value

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    T IntegerIterator< T >::_value
    -
    -private
    -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_integer_iterator.js b/docs/class_integer_iterator.js deleted file mode 100644 index 562b19f..0000000 --- a/docs/class_integer_iterator.js +++ /dev/null @@ -1,22 +0,0 @@ -var class_integer_iterator = -[ - [ "difference_type", "class_integer_iterator.html#a4dc267c256b624c84a6f5922994ba7dc", null ], - [ "iterator_category", "class_integer_iterator.html#a288069233a58cf1a1be18c36bab66df9", null ], - [ "pointer", "class_integer_iterator.html#ae939f25463bcf5397e6762a80b1ab6e9", null ], - [ "reference", "class_integer_iterator.html#a533093c61bc3127614384692e672a60d", null ], - [ "value_type", "class_integer_iterator.html#a8f5f76834019bda2c2f3222f80ac0200", null ], - [ "IntegerIterator", "class_integer_iterator.html#a147eb9f8d334a90a87789ddc8fa8752a", null ], - [ "operator*", "class_integer_iterator.html#ad3e6b69858c98fe2a2e04e0575b481b4", null ], - [ "operator++", "class_integer_iterator.html#a75e0aac6228d2e4acebf653b94e3f2e2", null ], - [ "operator++", "class_integer_iterator.html#af5a8a753ac1ef0d22eafd5384e172aca", null ], - [ "operator+=", "class_integer_iterator.html#adb6bf4e91e801469e355eedd73edcd5b", null ], - [ "operator-", "class_integer_iterator.html#ad144e11bdff37af189854f96ff4d84f0", null ], - [ "operator--", "class_integer_iterator.html#a7a8d92400ab4d6e8837ea4917af8776d", null ], - [ "operator--", "class_integer_iterator.html#a19b066cbce0584921a01988046766473", null ], - [ "operator->", "class_integer_iterator.html#aab52fa0c33c14b89e2904fe5cb4b6124", null ], - [ "operator[]", "class_integer_iterator.html#af29083bd8accd9511b721eb141d69531", null ], - [ "operator<", "class_integer_iterator.html#a26dbc105db0ed68c0446e2e612f7f2b8", null ], - [ "operator==", "class_integer_iterator.html#adbc509a5a113d7c505ebed8b9814dca2", null ], - [ "swap", "class_integer_iterator.html#a9ad91a48d41fa01eba25a31d98db5a8e", null ], - [ "_value", "class_integer_iterator.html#ae2530e64d82ae3023a172a71904052f0", null ] -]; \ No newline at end of file diff --git a/docs/class_linked_list-members.html b/docs/class_linked_list-members.html deleted file mode 100644 index 4a9ccfa..0000000 --- a/docs/class_linked_list-members.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    LinkedList< T > Member List
    -
    -
    - -

    This is the complete list of members for LinkedList< T >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - -
    _backLinkedList< T >private
    _frontLinkedList< T >private
    _sizeLinkedList< T >private
    begin()LinkedList< T >inline
    begin() constLinkedList< T >inline
    ConstIterator typedefLinkedList< T >
    end()LinkedList< T >inline
    end() constLinkedList< T >inline
    Iterator typedefLinkedList< T >
    LinkedList()LinkedList< T >inline
    LinkedList(const LinkedList &rhs)LinkedList< T >inline
    LinkedList(LinkedList &&rhs) noexceptLinkedList< T >inline
    operator=(LinkedList rhs)LinkedList< T >inline
    PopFront()LinkedList< T >inline
    PushBack(Args &&... args)LinkedList< T >inline
    PushFront(Args &&... args)LinkedList< T >inline
    size() constLinkedList< T >inline
    swap(LinkedList &lhs, LinkedList &rhs)LinkedList< T >friend
    ~LinkedList()LinkedList< T >inline
    -
    -
    - - - - diff --git a/docs/class_linked_list.html b/docs/class_linked_list.html deleted file mode 100644 index e0ccb9a..0000000 --- a/docs/class_linked_list.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - -Flow: LinkedList< T > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    LinkedList< T > Class Template Reference
    -
    -
    - -

    #include <LinkedList.h>

    - - - - -

    -Classes

    class  IteratorImpl
    class  Node
    - - - -

    -Public Types

    using Iterator = IteratorImpl<T&>
    using ConstIterator = IteratorImpl<const T&>
    - - - - - - - - - - - - - - - - -

    -Public Member Functions

     LinkedList ()
     LinkedList (const LinkedList &rhs)
     LinkedList (LinkedList &&rhs) noexcept
     ~LinkedList ()
    LinkedListoperator= (LinkedList rhs)
    template<typename ... Args>
    void PushFront (Args &&... args)
    template<typename... Args>
    void PushBack (Args &&... args)
    void PopFront ()
    Iterator begin ()
    Iterator end ()
    ConstIterator begin () const
    ConstIterator end () const
    std::size_t size () const
    - - - - -

    -Private Attributes

    Node_front
    Node_back
    std::size_t _size
    - - -

    -Friends

    void swap (LinkedList &lhs, LinkedList &rhs)
    -

    Detailed Description

    -
    template<typename T>
    -class LinkedList< T >
    -

    Definition at line 12 of file LinkedList.h.

    -

    Member Typedef Documentation

    - -

    ◆ ConstIterator

    - -
    -
    -
    -template<typename T>
    - - - - -
    using LinkedList< T >::ConstIterator = IteratorImpl<const T&>
    -
    - -

    Definition at line 63 of file LinkedList.h.

    - -
    -
    - -

    ◆ Iterator

    - -
    -
    -
    -template<typename T>
    - - - - -
    using LinkedList< T >::Iterator = IteratorImpl<T&>
    -
    - -

    Definition at line 62 of file LinkedList.h.

    - -
    -
    -

    Constructor & Destructor Documentation

    - -

    ◆ LinkedList() [1/3]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    LinkedList< T >::LinkedList ()
    -
    -inline
    -
    - -

    Definition at line 65 of file LinkedList.h.

    -
    65: _front(), _back(), _size(0) {};
    -
    Node * _back
    Definition LinkedList.h:58
    -
    std::size_t _size
    Definition LinkedList.h:59
    -
    Node * _front
    Definition LinkedList.h:57
    -
    -

    References _back, _front, and _size.

    - -

    Referenced by LinkedList(), LinkedList(), operator=(), and swap.

    - -
    -
    - -

    ◆ LinkedList() [2/3]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    LinkedList< T >::LinkedList (const LinkedList< T > & rhs)
    -
    -inline
    -
    - -

    Definition at line 67 of file LinkedList.h.

    -
    67 :
    -
    68 LinkedList() {
    -
    69 for (const T& data : rhs) {
    - -
    71 }
    -
    72 }
    - - -
    void PushBack(Args &&... args)
    Definition LinkedList.h:106
    -
    -

    References LinkedList(), and PushBack().

    - -
    -
    - -

    ◆ LinkedList() [3/3]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    LinkedList< T >::LinkedList (LinkedList< T > && rhs)
    -
    -inlinenoexcept
    -
    - -

    Definition at line 74 of file LinkedList.h.

    -
    74 :
    -
    75 _front(std::exchange(rhs._front, nullptr)),
    -
    76 _back(std::exchange(rhs._back, nullptr)),
    - -
    78 }
    -
    -

    References LinkedList().

    - -
    -
    - -

    ◆ ~LinkedList()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    LinkedList< T >::~LinkedList ()
    -
    -inline
    -
    - -

    Definition at line 80 of file LinkedList.h.

    -
    80 {
    -
    81 while (_front) {
    -
    82 Node* next = _front->_next;
    -
    83 delete _front;
    -
    84 _front = next;
    -
    85 }
    -
    86 }
    - -
    -

    References _front.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ begin() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    Iterator LinkedList< T >::begin ()
    -
    -inline
    -
    - -

    Definition at line 128 of file LinkedList.h.

    -
    128{ return Iterator(_front); }
    -
    IteratorImpl< T & > Iterator
    Definition LinkedList.h:62
    -
    -

    References _front.

    - -
    -
    - -

    ◆ begin() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    ConstIterator LinkedList< T >::begin () const
    -
    -inline
    -
    - -

    Definition at line 130 of file LinkedList.h.

    -
    130{ return ConstIterator(_front); }
    -
    IteratorImpl< const T & > ConstIterator
    Definition LinkedList.h:63
    -
    -

    References _front.

    - -
    -
    - -

    ◆ end() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    Iterator LinkedList< T >::end ()
    -
    -inline
    -
    - -

    Definition at line 129 of file LinkedList.h.

    -
    129{ return Iterator(nullptr); }
    -
    -
    -
    - -

    ◆ end() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    ConstIterator LinkedList< T >::end () const
    -
    -inline
    -
    - -

    Definition at line 131 of file LinkedList.h.

    -
    131{ return ConstIterator(nullptr); }
    -
    -
    -
    - -

    ◆ operator=()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    LinkedList & LinkedList< T >::operator= (LinkedList< T > rhs)
    -
    -inline
    -
    - -

    Definition at line 88 of file LinkedList.h.

    -
    88 {
    -
    89 swap(*this, rhs);
    -
    90 return *this;
    -
    91 }
    -
    friend void swap(LinkedList &lhs, LinkedList &rhs)
    Definition LinkedList.h:138
    -
    -

    References LinkedList(), and swap.

    - -
    -
    - -

    ◆ PopFront()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    void LinkedList< T >::PopFront ()
    -
    -inline
    -
    - -

    Definition at line 118 of file LinkedList.h.

    -
    118 {
    -
    119 assert(_size > 0 && "pop front from an empty list");
    -
    120 Node* old = _front;
    -
    121 _front = _front->_next;
    -
    122 if (--_size == 0) {
    -
    123 _back = nullptr;
    -
    124 }
    -
    125 delete old;
    -
    126 }
    -
    -

    References _back, _front, and _size.

    - -
    -
    - -

    ◆ PushBack()

    - -
    -
    -
    -template<typename T>
    -
    -template<typename... Args>
    - - - - - -
    - - - - - - - -
    void LinkedList< T >::PushBack (Args &&... args)
    -
    -inline
    -
    - -

    Definition at line 106 of file LinkedList.h.

    -
    106 {
    - -
    108 if (_size == 0) {
    -
    109 assert(!_front);
    -
    110 _front = node;
    -
    111 } else {
    -
    112 _back->_next = node;
    -
    113 }
    -
    114 _back = node;
    -
    115 ++_size;
    -
    116 }
    -
    -

    References _back, _front, and _size.

    - -

    Referenced by LinkedList().

    - -
    -
    - -

    ◆ PushFront()

    - -
    -
    -
    -template<typename T>
    -
    -template<typename ... Args>
    - - - - - -
    - - - - - - - -
    void LinkedList< T >::PushFront (Args &&... args)
    -
    -inline
    -
    - -

    Definition at line 94 of file LinkedList.h.

    -
    94 {
    - -
    96 node->_next = _front;
    -
    97 _front = node;
    -
    98 if (_size == 0) {
    -
    99 assert(!_back);
    -
    100 _back = _front;
    -
    101 }
    -
    102 ++_size;
    -
    103 }
    -
    -

    References _back, _front, LinkedList< T >::Node::_next, and _size.

    - -
    -
    - -

    ◆ size()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - -
    std::size_t LinkedList< T >::size () const
    -
    -inline
    -
    - -

    Definition at line 132 of file LinkedList.h.

    -
    132{ return _size; }
    -
    -

    References _size.

    - -
    -
    - - -

    ◆ swap

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - - - - - -
    void swap (LinkedList< T > & lhs,
    LinkedList< T > & rhs )
    -
    -friend
    -
    - -

    Definition at line 138 of file LinkedList.h.

    -
    138 {
    -
    139 using std::swap;
    - - - -
    143}
    -
    -

    References _back, _front, _size, LinkedList(), and swap().

    - -

    Referenced by operator=().

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ _back

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    Node* LinkedList< T >::_back
    -
    -private
    -
    - -

    Definition at line 58 of file LinkedList.h.

    - -

    Referenced by LinkedList(), PopFront(), PushBack(), PushFront(), and swap.

    - -
    -
    - -

    ◆ _front

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    Node* LinkedList< T >::_front
    -
    -private
    -
    - -

    Definition at line 57 of file LinkedList.h.

    - -

    Referenced by begin(), begin(), LinkedList(), PopFront(), PushBack(), PushFront(), swap, and ~LinkedList().

    - -
    -
    - -

    ◆ _size

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    std::size_t LinkedList< T >::_size
    -
    -private
    -
    - -

    Definition at line 59 of file LinkedList.h.

    - -

    Referenced by LinkedList(), PopFront(), PushBack(), PushFront(), size(), and swap.

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_linked_list.js b/docs/class_linked_list.js deleted file mode 100644 index 4da0593..0000000 --- a/docs/class_linked_list.js +++ /dev/null @@ -1,24 +0,0 @@ -var class_linked_list = -[ - [ "IteratorImpl", "class_linked_list_1_1_iterator_impl.html", "class_linked_list_1_1_iterator_impl" ], - [ "Node", "class_linked_list_1_1_node.html", "class_linked_list_1_1_node" ], - [ "ConstIterator", "class_linked_list.html#a2b79f60b98c95e481ab2f5e6b407e120", null ], - [ "Iterator", "class_linked_list.html#a90b9243c46e324903cf010de237e5611", null ], - [ "LinkedList", "class_linked_list.html#a3c20fcfec867e867f541061a09fc640c", null ], - [ "LinkedList", "class_linked_list.html#acd3c8669a409385fc5818d0c832bfacf", null ], - [ "LinkedList", "class_linked_list.html#aa39542757ae3cc7dc9121a8b073f2b17", null ], - [ "~LinkedList", "class_linked_list.html#a7c37609df3b83bc4eb0281b852f93fd7", null ], - [ "begin", "class_linked_list.html#a5113bc802622f17b54d719b806ce2a62", null ], - [ "begin", "class_linked_list.html#a3ec959b6356bad1ce7f1900218346b56", null ], - [ "end", "class_linked_list.html#a86de720eaa32b69ff0b57207dc4e8ae2", null ], - [ "end", "class_linked_list.html#a7530f41ff2d9a65899048a1631618059", null ], - [ "operator=", "class_linked_list.html#ae9033aad0e352ceeff848c17d3095d40", null ], - [ "PopFront", "class_linked_list.html#a47e06d0bacd1230e4ebe0bc0692be3b9", null ], - [ "PushBack", "class_linked_list.html#a5a1d0c44971b9c32d0afadeaabaa693a", null ], - [ "PushFront", "class_linked_list.html#ae9e2c29ef6df899ca26d6076870a7076", null ], - [ "size", "class_linked_list.html#ae5e038aa8472ef56e67bd575eeebc9cb", null ], - [ "swap", "class_linked_list.html#a33c26e7e39ec33a37404c620ca73484f", null ], - [ "_back", "class_linked_list.html#a076ece933cdbe7fac882c033b3d72047", null ], - [ "_front", "class_linked_list.html#a15fbf380d5e1990a6fbf30d311dd8113", null ], - [ "_size", "class_linked_list.html#a144c8a50d337d77b726e9ac10463199c", null ] -]; \ No newline at end of file diff --git a/docs/class_linked_list_1_1_iterator_impl-members.html b/docs/class_linked_list_1_1_iterator_impl-members.html deleted file mode 100644 index 714c265..0000000 --- a/docs/class_linked_list_1_1_iterator_impl-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    LinkedList< T >::IteratorImpl< ReturnType > Member List
    -
    - -
    -
    - - - - diff --git a/docs/class_linked_list_1_1_iterator_impl.html b/docs/class_linked_list_1_1_iterator_impl.html deleted file mode 100644 index 65ea30e..0000000 --- a/docs/class_linked_list_1_1_iterator_impl.html +++ /dev/null @@ -1,414 +0,0 @@ - - - - - - - -Flow: LinkedList< T >::IteratorImpl< ReturnType > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    LinkedList< T >::IteratorImpl< ReturnType > Class Template Reference
    -
    -
    - - - - - - - -

    -Public Member Functions

    ReturnType & operator* ()
    IteratorImploperator++ ()
    IteratorImpl operator++ (int)
    bool operator== (const IteratorImpl &rhs) const
    bool operator!= (const IteratorImpl &rhs) const
    - - -

    -Private Member Functions

     IteratorImpl (Node *node)
    - - -

    -Private Attributes

    Nodenode_
    - - -

    -Friends

    class LinkedList
    -

    Detailed Description

    -
    template<typename T>
    -template<typename ReturnType>
    -class LinkedList< T >::IteratorImpl< ReturnType >
    -

    Definition at line 24 of file LinkedList.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ IteratorImpl()

    - -
    -
    -
    -template<typename T>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - - - - -
    LinkedList< T >::IteratorImpl< ReturnType >::IteratorImpl (Node * node)
    -
    -inlineprivate
    -
    - -

    Definition at line 26 of file LinkedList.h.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ operator!=()

    - -
    -
    -
    -template<typename T>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - - - - -
    bool LinkedList< T >::IteratorImpl< ReturnType >::operator!= (const IteratorImpl< ReturnType > & rhs) const
    -
    -inline
    -
    - -

    Definition at line 50 of file LinkedList.h.

    -
    50 {
    -
    51 return !(node_ == rhs.node_);
    -
    52 }
    -
    -
    -
    - -

    ◆ operator*()

    - -
    -
    -
    -template<typename T>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - - - - -
    ReturnType & LinkedList< T >::IteratorImpl< ReturnType >::operator* ()
    -
    -inline
    -
    - -

    Definition at line 29 of file LinkedList.h.

    -
    29 {
    -
    30 assert(node_ && "dereference null iterator");
    -
    31 return node_->_data;
    -
    32 }
    -
    -
    -
    - -

    ◆ operator++() [1/2]

    - -
    -
    -
    -template<typename T>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - - - - -
    IteratorImpl & LinkedList< T >::IteratorImpl< ReturnType >::operator++ ()
    -
    -inline
    -
    - -

    Definition at line 34 of file LinkedList.h.

    -
    34 {
    -
    35 assert(node_ && "dereference null iterator");
    -
    36 node_ = node_->_next;
    -
    37 return *this;
    -
    38 }
    -
    -
    -
    - -

    ◆ operator++() [2/2]

    - -
    -
    -
    -template<typename T>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - - - - -
    IteratorImpl LinkedList< T >::IteratorImpl< ReturnType >::operator++ (int )
    -
    -inline
    -
    - -

    Definition at line 40 of file LinkedList.h.

    -
    40 {
    -
    41 IteratorImpl old = *this;
    -
    42 ++this;
    -
    43 return old;
    -
    44 }
    - -
    -
    -
    - -

    ◆ operator==()

    - -
    -
    -
    -template<typename T>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - - - - -
    bool LinkedList< T >::IteratorImpl< ReturnType >::operator== (const IteratorImpl< ReturnType > & rhs) const
    -
    -inline
    -
    - -

    Definition at line 46 of file LinkedList.h.

    -
    46 {
    -
    47 return node_ == rhs.node_;
    -
    48 }
    -
    -
    -
    - - -

    ◆ LinkedList

    - -
    -
    -
    -template<typename T>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - -
    friend class LinkedList
    -
    -friend
    -
    - -

    Definition at line 54 of file LinkedList.h.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ node_

    - -
    -
    -
    -template<typename T>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - -
    Node* LinkedList< T >::IteratorImpl< ReturnType >::node_
    -
    -private
    -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_linked_list_1_1_iterator_impl.js b/docs/class_linked_list_1_1_iterator_impl.js deleted file mode 100644 index b8909d6..0000000 --- a/docs/class_linked_list_1_1_iterator_impl.js +++ /dev/null @@ -1,11 +0,0 @@ -var class_linked_list_1_1_iterator_impl = -[ - [ "IteratorImpl", "class_linked_list_1_1_iterator_impl.html#a798daf5a28ddc9952e20a0ed5c306974", null ], - [ "operator!=", "class_linked_list_1_1_iterator_impl.html#a9c87113bf420b320048bd9b761887052", null ], - [ "operator*", "class_linked_list_1_1_iterator_impl.html#a52d0dfdd7d999cce2000320e3e0aa44a", null ], - [ "operator++", "class_linked_list_1_1_iterator_impl.html#a519f13b57f0f47636bcea306d8f1f51d", null ], - [ "operator++", "class_linked_list_1_1_iterator_impl.html#a60234f5c744fecc464785d6e7b852e06", null ], - [ "operator==", "class_linked_list_1_1_iterator_impl.html#a8ff0a3e936ef626ea6a3435dcfed496c", null ], - [ "LinkedList", "class_linked_list_1_1_iterator_impl.html#af71fad9f4990e232af55c73aeddb3823", null ], - [ "node_", "class_linked_list_1_1_iterator_impl.html#a8f601c8fff3763ccb9ef86c9ddf472ea", null ] -]; \ No newline at end of file diff --git a/docs/class_linked_list_1_1_node-members.html b/docs/class_linked_list_1_1_node-members.html deleted file mode 100644 index 141dada..0000000 --- a/docs/class_linked_list_1_1_node-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    LinkedList< T >::Node Member List
    -
    -
    - -

    This is the complete list of members for LinkedList< T >::Node, including all inherited members.

    - - - - - -
    _dataLinkedList< T >::Nodeprivate
    _nextLinkedList< T >::Nodeprivate
    LinkedList classLinkedList< T >::Nodefriend
    Node(Args &&... args)LinkedList< T >::Nodeinlineprivate
    -
    -
    - - - - diff --git a/docs/class_linked_list_1_1_node.html b/docs/class_linked_list_1_1_node.html deleted file mode 100644 index 9d47582..0000000 --- a/docs/class_linked_list_1_1_node.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - -Flow: LinkedList< T >::Node Class Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    LinkedList< T >::Node Class Reference
    -
    -
    - - - - -

    -Private Member Functions

    template<typename ... Args>
     Node (Args &&... args)
    - - - -

    -Private Attributes

    _data
    Node_next
    - - -

    -Friends

    class LinkedList
    -

    Detailed Description

    -
    template<typename T>
    -class LinkedList< T >::Node
    -

    Definition at line 13 of file LinkedList.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ Node()

    - -
    -
    -
    -template<typename T>
    -
    -template<typename ... Args>
    - - - - - -
    - - - - - - - -
    LinkedList< T >::Node::Node (Args &&... args)
    -
    -inlineprivate
    -
    - -

    Definition at line 18 of file LinkedList.h.

    - -

    References _data, and _next.

    - -
    -
    - - -

    ◆ LinkedList

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    friend class LinkedList
    -
    -friend
    -
    - -

    Definition at line 20 of file LinkedList.h.

    - -

    References LinkedList.

    - -

    Referenced by LinkedList.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ _data

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    T LinkedList< T >::Node::_data
    -
    -private
    -
    - -

    Definition at line 14 of file LinkedList.h.

    - -

    Referenced by Node().

    - -
    -
    - -

    ◆ _next

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    Node* LinkedList< T >::Node::_next
    -
    -private
    -
    - -

    Definition at line 15 of file LinkedList.h.

    - -

    Referenced by Node(), and LinkedList< T >::PushFront().

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_linked_list_1_1_node.js b/docs/class_linked_list_1_1_node.js deleted file mode 100644 index 9314baf..0000000 --- a/docs/class_linked_list_1_1_node.js +++ /dev/null @@ -1,7 +0,0 @@ -var class_linked_list_1_1_node = -[ - [ "Node", "class_linked_list_1_1_node.html#a3f4761392369dabbaaeba48c4761d371", null ], - [ "LinkedList", "class_linked_list_1_1_node.html#af71fad9f4990e232af55c73aeddb3823", null ], - [ "_data", "class_linked_list_1_1_node.html#a55d55ce4a1941ee648ba6889014ba0e4", null ], - [ "_next", "class_linked_list_1_1_node.html#a84a7f4dc11345f753cdb7547b0437852", null ] -]; \ No newline at end of file diff --git a/docs/class_p_s_d_a-members.html b/docs/class_p_s_d_a-members.html deleted file mode 100644 index 12b563b..0000000 --- a/docs/class_p_s_d_a-members.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    PSDA< T > Member List
    -
    -
    - -

    This is the complete list of members for PSDA< T >, including all inherited members.

    - - - - - - - - - - - - - - - - - - -
    _dataPSDA< T >private
    Back()PSDA< T >
    Back() constPSDA< T >
    begin()PSDA< T >
    begin() constPSDA< T >
    Differentiate(int left, int right)PSDA< T >
    end()PSDA< T >
    end() constPSDA< T >
    Front()PSDA< T >
    Front() constPSDA< T >
    Integrate(int left, int right)PSDA< T >
    LazyIncrement(int left, int right, const T &val)PSDA< T >
    operator[](int r)PSDA< T >
    operator[](int r) constPSDA< T >
    PSDA(std::vector< T > arr)PSDA< T >
    Query(int left, int right) constPSDA< T >
    Size() constPSDA< T >
    -
    -
    - - - - diff --git a/docs/class_p_s_d_a.html b/docs/class_p_s_d_a.html deleted file mode 100644 index 6ef030c..0000000 --- a/docs/class_p_s_d_a.html +++ /dev/null @@ -1,640 +0,0 @@ - - - - - - - -Flow: PSDA< T > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    PSDA< T > Class Template Reference
    -
    -
    - -

    #include <PSDA.h>

    - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

     PSDA (std::vector< T > arr)
    int Size () const
    T & operator[] (int r)
    const T & operator[] (int r) const
    auto begin ()
    const auto begin () const
    auto end ()
    const auto end () const
    T & Front ()
    const T & Front () const
    T & Back ()
    const T & Back () const
    void Integrate (int left, int right)
    void Differentiate (int left, int right)
    void LazyIncrement (int left, int right, const T &val)
    const T & Query (int left, int right) const
    - - -

    -Private Attributes

    std::vector< T > _data
    -

    Detailed Description

    -
    template<typename T>
    -class PSDA< T >
    -

    Definition at line 9 of file PSDA.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ PSDA()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    PSDA< T >::PSDA (std::vector< T > arr)
    -
    - -

    Definition at line 39 of file PSDA.h.

    -
    -
    40{
    -
    41 //empty
    -
    42}
    -
    Definition PSDA.h:10
    -
    std::vector< T > _data
    Definition PSDA.h:11
    -
    -

    References _data.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ Back() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    T & PSDA< T >::Back ()
    -
    - -

    Definition at line 105 of file PSDA.h.

    -
    106{
    -
    107 return _data.back();
    -
    108}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ Back() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    const T & PSDA< T >::Back () const
    -
    - -

    Definition at line 111 of file PSDA.h.

    -
    112{
    -
    113 return _data.back();
    -
    114}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ begin() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    auto PSDA< T >::begin ()
    -
    - -

    Definition at line 67 of file PSDA.h.

    -
    68{
    -
    69 return _data.begin();
    -
    70}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ begin() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    const auto PSDA< T >::begin () const
    -
    - -

    Definition at line 73 of file PSDA.h.

    -
    74{
    -
    75 return _data.cbegin();
    -
    76}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ Differentiate()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    void PSDA< T >::Differentiate (int left,
    int right )
    -
    - -

    Definition at line 133 of file PSDA.h.

    -
    134{
    -
    135 assert(0 <= left && left <= right && right < _data.size());
    -
    136
    -
    137 T prev = _data[left];
    -
    138
    -
    139 for (int r = left + 1; r <= right; ++r)
    -
    140 {
    -
    141 _data[r] -= prev;
    -
    142 prev += _data[r];
    -
    143 }
    -
    144}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ end() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    auto PSDA< T >::end ()
    -
    - -

    Definition at line 79 of file PSDA.h.

    -
    80{
    -
    81 return _data.end();
    -
    82}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ end() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    const auto PSDA< T >::end () const
    -
    - -

    Definition at line 85 of file PSDA.h.

    -
    86{
    -
    87 return _data.cend();
    -
    88}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ Front() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    T & PSDA< T >::Front ()
    -
    - -

    Definition at line 93 of file PSDA.h.

    -
    94{
    -
    95 return _data.front();
    -
    96}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ Front() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    const T & PSDA< T >::Front () const
    -
    - -

    Definition at line 99 of file PSDA.h.

    -
    100{
    -
    101 return _data.front();
    -
    102}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ Integrate()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    void PSDA< T >::Integrate (int left,
    int right )
    -
    - -

    Definition at line 122 of file PSDA.h.

    -
    123{
    -
    124 assert(0 <= left && left <= right && right < _data.size());
    -
    125
    -
    126 for (int r = left + 1; r <= right; ++r)
    -
    127 {
    -
    128 _data[r] += _data[r - 1];
    -
    129 }
    -
    130}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ LazyIncrement()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - - - - - - -
    void PSDA< T >::LazyIncrement (int left,
    int right,
    const T & val )
    -
    - -

    Definition at line 147 of file PSDA.h.

    -
    148{
    -
    149 assert(0 <= left && left <= right && right < _data.size());
    -
    150
    -
    151 _data[left] += val;
    -
    152 if (right + 1 < _data.size()) _data[right + 1] -= val;
    -
    153}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ operator[]() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    T & PSDA< T >::operator[] (int r)
    -
    - -

    Definition at line 53 of file PSDA.h.

    -
    54{
    -
    55 assert(0 <= r && r < _data.size());
    -
    56 return _data[r];
    -
    57}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ operator[]() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    const T & PSDA< T >::operator[] (int r) const
    -
    - -

    Definition at line 60 of file PSDA.h.

    -
    61{
    -
    62 assert(0 <= r && r < _data.size());
    -
    63 return _data[r];
    -
    64}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ Query()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    const T & PSDA< T >::Query (int left,
    int right ) const
    -
    - -

    Definition at line 156 of file PSDA.h.

    -
    157{
    -
    158 assert(0 <= left && left <= right && right < _data.size());
    -
    159
    -
    160 T total = _data[right];
    -
    161 if (left - 1 >= 0) total -= _data[left - 1];
    -
    162
    -
    163 return total;
    -
    164}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ Size()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    int PSDA< T >::Size () const
    -
    - -

    Definition at line 47 of file PSDA.h.

    -
    48{
    -
    49 return _data.size();
    -
    50}
    -
    -

    References _data.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ _data

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    std::vector<T> PSDA< T >::_data
    -
    -private
    -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_p_s_d_a.js b/docs/class_p_s_d_a.js deleted file mode 100644 index 148c489..0000000 --- a/docs/class_p_s_d_a.js +++ /dev/null @@ -1,20 +0,0 @@ -var class_p_s_d_a = -[ - [ "PSDA", "class_p_s_d_a.html#a99cb238eee847f981dc1809429796383", null ], - [ "Back", "class_p_s_d_a.html#a40882252704234173819fe955eaae536", null ], - [ "Back", "class_p_s_d_a.html#ab173388f103084b18b2a2d112ca4a134", null ], - [ "begin", "class_p_s_d_a.html#acc9c255ff6ca8de1d7a05ad6d1b867b7", null ], - [ "begin", "class_p_s_d_a.html#a492b5d4c30a68af9650431d0c77cb1e8", null ], - [ "Differentiate", "class_p_s_d_a.html#af95d18adcf324319134643570d36f896", null ], - [ "end", "class_p_s_d_a.html#af7a89a3f405388a7bc8e79938afa4892", null ], - [ "end", "class_p_s_d_a.html#aead4b439a090b506bf94d2c2fc349f5c", null ], - [ "Front", "class_p_s_d_a.html#a36b6960860c41618e40625937cfe06ee", null ], - [ "Front", "class_p_s_d_a.html#a4ef3ecee1ad9ce8e0329c7ca6c9d2f3a", null ], - [ "Integrate", "class_p_s_d_a.html#a10f6155ec60ca70b906b4cd5e2bd6810", null ], - [ "LazyIncrement", "class_p_s_d_a.html#ab3d0b223ce8489d3099a651a681106ec", null ], - [ "operator[]", "class_p_s_d_a.html#a774785a0c0c3e180bd4d9f7c56952c15", null ], - [ "operator[]", "class_p_s_d_a.html#a17ddffb789aa120ea2634e2ba17efc21", null ], - [ "Query", "class_p_s_d_a.html#a9ba86ff26f27e9c6d5d94b1f0cff9d0c", null ], - [ "Size", "class_p_s_d_a.html#a53e7852aa6b8f4be0c33db7f7e350734", null ], - [ "_data", "class_p_s_d_a.html#a08176d6b45638c9f0fba1c732125b7f0", null ] -]; \ No newline at end of file diff --git a/docs/class_random_meldable_heap-members.html b/docs/class_random_meldable_heap-members.html deleted file mode 100644 index 334481b..0000000 --- a/docs/class_random_meldable_heap-members.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    RandomMeldableHeap< T, Predicate > Member List
    -
    - -
    -
    - - - - diff --git a/docs/class_random_meldable_heap.html b/docs/class_random_meldable_heap.html deleted file mode 100644 index 31aa692..0000000 --- a/docs/class_random_meldable_heap.html +++ /dev/null @@ -1,745 +0,0 @@ - - - - - - - -Flow: RandomMeldableHeap< T, Predicate > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    RandomMeldableHeap< T, Predicate > Class Template Reference
    -
    -
    - -

    #include <RandomMeldableHeap.h>

    - - - -

    -Classes

    struct  Node
    - - - - - - - - - - - - - - -

    -Public Member Functions

     RandomMeldableHeap ()
     RandomMeldableHeap (const RandomMeldableHeap &)=delete
     RandomMeldableHeap (RandomMeldableHeap &&heap)
    RandomMeldableHeapoperator= (const RandomMeldableHeap &)=delete
    RandomMeldableHeapoperator= (RandomMeldableHeap &&)=delete
     ~RandomMeldableHeap ()
    void Merge (RandomMeldableHeap &&heap)
    template<typename ... Args>
    void Push (Args &&... args)
    T & Top ()
    const T & Top () const
    void Pop ()
    std::size_t Size () const
    - - -

    -Static Private Member Functions

    static NodeMergeRoots (Node *root0, Node *root1, Predicate p=Predicate())
    - - - -

    -Private Attributes

    Noderoot_
    std::size_t _size
    - - - -

    -Static Private Attributes

    static std::random_device rd {}
    static std::bernoulli_distribution dis {}
    -

    Detailed Description

    -
    template<typename T, typename Predicate = std::greater<T>>
    -class RandomMeldableHeap< T, Predicate >
    -

    Definition at line 8 of file RandomMeldableHeap.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ RandomMeldableHeap() [1/3]

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    RandomMeldableHeap< T, Predicate >::RandomMeldableHeap ()
    -
    -inline
    -
    - -

    Definition at line 29 of file RandomMeldableHeap.h.

    -
    29: root_(), _size() {}
    - - -
    -

    References _size, and root_.

    - -

    Referenced by Merge(), operator=(), operator=(), RandomMeldableHeap(), and RandomMeldableHeap().

    - -
    -
    - -

    ◆ RandomMeldableHeap() [2/3]

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    RandomMeldableHeap< T, Predicate >::RandomMeldableHeap (const RandomMeldableHeap< T, Predicate > & )
    -
    -delete
    -
    - -

    References RandomMeldableHeap().

    - -
    -
    - -

    ◆ RandomMeldableHeap() [3/3]

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    RandomMeldableHeap< T, Predicate >::RandomMeldableHeap (RandomMeldableHeap< T, Predicate > && heap)
    -
    -inline
    -
    - -

    Definition at line 31 of file RandomMeldableHeap.h.

    - -

    References _size, RandomMeldableHeap(), and root_.

    - -
    -
    - -

    ◆ ~RandomMeldableHeap()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    RandomMeldableHeap< T, Predicate >::~RandomMeldableHeap ()
    -
    -inline
    -
    - -

    Definition at line 34 of file RandomMeldableHeap.h.

    -
    34 {
    -
    35 delete root_;
    -
    36 }
    -
    -

    References root_.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ Merge()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    void RandomMeldableHeap< T, Predicate >::Merge (RandomMeldableHeap< T, Predicate > && heap)
    -
    -inline
    -
    - -

    Definition at line 57 of file RandomMeldableHeap.h.

    -
    57 {
    - -
    59 _size += heap._size;
    -
    60 heap.root_ = nullptr;
    -
    61 heap._size = 0;
    -
    62 }
    -
    static Node * MergeRoots(Node *root0, Node *root1, Predicate p=Predicate())
    -
    -

    References _size, MergeRoots(), RandomMeldableHeap(), and root_.

    - -
    -
    - -

    ◆ MergeRoots()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - - - - - - - - - - -
    Node * RandomMeldableHeap< T, Predicate >::MergeRoots (Node * root0,
    Node * root1,
    Predicate p = Predicate() )
    -
    -inlinestaticprivate
    -
    - -

    Definition at line 39 of file RandomMeldableHeap.h.

    -
    39 {
    -
    40 if (!root0) {
    -
    41 return root1;
    -
    42 }
    -
    43 if (!root1) {
    -
    44 return root0;
    -
    45 }
    -
    46
    -
    47 if (p(root1->val_, root0->val_)) {
    - -
    49 }
    -
    50
    -
    51 Node** child = (dis(rd) ? &root0->left_ : &root0->right_);
    - -
    53 return root0;
    -
    54 }
    -
    static std::bernoulli_distribution dis
    -
    static std::random_device rd
    - -
    -

    References dis, RandomMeldableHeap< T, Predicate >::Node::left_, MergeRoots(), rd, RandomMeldableHeap< T, Predicate >::Node::right_, and RandomMeldableHeap< T, Predicate >::Node::val_.

    - -

    Referenced by Merge(), MergeRoots(), Pop(), and Push().

    - -
    -
    - -

    ◆ operator=() [1/2]

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    RandomMeldableHeap & RandomMeldableHeap< T, Predicate >::operator= (const RandomMeldableHeap< T, Predicate > & )
    -
    -delete
    -
    - -

    References RandomMeldableHeap().

    - -
    -
    - -

    ◆ operator=() [2/2]

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    RandomMeldableHeap & RandomMeldableHeap< T, Predicate >::operator= (RandomMeldableHeap< T, Predicate > && )
    -
    -delete
    -
    - -

    References RandomMeldableHeap().

    - -
    -
    - -

    ◆ Pop()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    void RandomMeldableHeap< T, Predicate >::Pop ()
    -
    -inline
    -
    - -

    Definition at line 80 of file RandomMeldableHeap.h.

    -
    80 {
    -
    81 assert(root_ && "pop from empty heap");
    -
    82
    - -
    84 root_ = MergeRoots(root_->left_, root_->right_);
    -
    85 oldRoot->left_ = nullptr;
    -
    86 oldRoot->right_ = nullptr;
    -
    87 delete oldRoot;
    -
    88 --_size;
    -
    89 }
    -
    -

    References _size, RandomMeldableHeap< T, Predicate >::Node::left_, MergeRoots(), RandomMeldableHeap< T, Predicate >::Node::right_, and root_.

    - -
    -
    - -

    ◆ Push()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    -
    -template<typename ... Args>
    - - - - - -
    - - - - - - - -
    void RandomMeldableHeap< T, Predicate >::Push (Args &&... args)
    -
    -inline
    -
    - -

    Definition at line 65 of file RandomMeldableHeap.h.

    -
    65 {
    - -
    67 ++_size;
    -
    68 }
    -
    -

    References _size, MergeRoots(), and root_.

    - -
    -
    - -

    ◆ Size()

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    std::size_t RandomMeldableHeap< T, Predicate >::Size () const
    -
    -inline
    -
    - -

    Definition at line 91 of file RandomMeldableHeap.h.

    -
    91 {
    -
    92 return _size;
    -
    93 }
    -
    -

    References _size.

    - -
    -
    - -

    ◆ Top() [1/2]

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    T & RandomMeldableHeap< T, Predicate >::Top ()
    -
    -inline
    -
    - -

    Definition at line 70 of file RandomMeldableHeap.h.

    -
    70 {
    -
    71 assert(_size >= 0 && "access empty heap top");
    -
    72 return root_->val_;
    -
    73 }
    -
    -

    References _size, and root_.

    - -
    -
    - -

    ◆ Top() [2/2]

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - - - - -
    const T & RandomMeldableHeap< T, Predicate >::Top () const
    -
    -inline
    -
    - -

    Definition at line 75 of file RandomMeldableHeap.h.

    -
    75 {
    -
    76 assert(_size >= 0 && "access empty heap top");
    -
    77 return root_->val_;
    -
    78 }
    -
    -

    References _size, and root_.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ _size

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - -
    std::size_t RandomMeldableHeap< T, Predicate >::_size
    -
    -private
    -
    - -

    Definition at line 26 of file RandomMeldableHeap.h.

    - -

    Referenced by Merge(), Pop(), Push(), RandomMeldableHeap(), RandomMeldableHeap(), Size(), Top(), and Top().

    - -
    -
    - -

    ◆ dis

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - -
    std::bernoulli_distribution RandomMeldableHeap< T, Predicate >::dis {}
    -
    -inlinestaticprivate
    -
    - -

    Definition at line 97 of file RandomMeldableHeap.h.

    -
    97{};
    -
    -

    Referenced by MergeRoots().

    - -
    -
    - -

    ◆ rd

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - -
    std::random_device RandomMeldableHeap< T, Predicate >::rd {}
    -
    -inlinestaticprivate
    -
    - -

    Definition at line 96 of file RandomMeldableHeap.h.

    -
    96{};
    -
    -

    Referenced by MergeRoots().

    - -
    -
    - -

    ◆ root_

    - -
    -
    -
    -template<typename T, typename Predicate = std::greater<T>>
    - - - - - -
    - - - - -
    Node* RandomMeldableHeap< T, Predicate >::root_
    -
    -private
    -
    - -

    Definition at line 25 of file RandomMeldableHeap.h.

    - -

    Referenced by Merge(), Pop(), Push(), RandomMeldableHeap(), RandomMeldableHeap(), Top(), Top(), and ~RandomMeldableHeap().

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_random_meldable_heap.js b/docs/class_random_meldable_heap.js deleted file mode 100644 index 472c182..0000000 --- a/docs/class_random_meldable_heap.js +++ /dev/null @@ -1,21 +0,0 @@ -var class_random_meldable_heap = -[ - [ "Node", "struct_random_meldable_heap_1_1_node.html", "struct_random_meldable_heap_1_1_node" ], - [ "RandomMeldableHeap", "class_random_meldable_heap.html#a626f88023a14956c01f5a9e395254442", null ], - [ "RandomMeldableHeap", "class_random_meldable_heap.html#a2b0c5fb315ea87e918f6485b5715ec70", null ], - [ "RandomMeldableHeap", "class_random_meldable_heap.html#afda39cf3e42f6dde1ac0891c67bd4a60", null ], - [ "~RandomMeldableHeap", "class_random_meldable_heap.html#acc6d2c48d0a69138fb03f0bd762d4289", null ], - [ "Merge", "class_random_meldable_heap.html#ad81605b7e0207ed2c100cac1a3fa8147", null ], - [ "MergeRoots", "class_random_meldable_heap.html#ad6b8dd660fd2d7815b48f51284ef7053", null ], - [ "operator=", "class_random_meldable_heap.html#a0f7f5ea6016f84f7ec42e4b1a68f88a1", null ], - [ "operator=", "class_random_meldable_heap.html#a69726729670940452a1552426369f999", null ], - [ "Pop", "class_random_meldable_heap.html#a7c3844082f0d4022d04e320190d0d579", null ], - [ "Push", "class_random_meldable_heap.html#a703a2b494544e9f724f531b8ef980b4d", null ], - [ "Size", "class_random_meldable_heap.html#a83184954be3d1f275d08a31aa013aa6f", null ], - [ "Top", "class_random_meldable_heap.html#a75b7d58a837f1aee7fdcf44c994a749c", null ], - [ "Top", "class_random_meldable_heap.html#a2856c74deb6bdeab6678603a7c1b239c", null ], - [ "_size", "class_random_meldable_heap.html#a9d2871890447dfff9b911bb69fd48b74", null ], - [ "dis", "class_random_meldable_heap.html#a2c150211e88d08d139abcc899849c615", null ], - [ "rd", "class_random_meldable_heap.html#ac37595274c6b3411f04d8d036897802a", null ], - [ "root_", "class_random_meldable_heap.html#a7de71ae18404036c7cc348464ea25f5f", null ] -]; \ No newline at end of file diff --git a/docs/class_segment_tree-members.html b/docs/class_segment_tree-members.html deleted file mode 100644 index e99a9bc..0000000 --- a/docs/class_segment_tree-members.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SegmentTree< T, BinOp > Member List
    -
    -
    - -

    This is the complete list of members for SegmentTree< T, BinOp >, including all inherited members.

    - - - - - - - - - - -
    BuildParent(BinOp op=BinOp())SegmentTree< T, BinOp >private
    PointQuery(int segment, BinOp op=BinOp()) constSegmentTree< T, BinOp >
    PointUpdate(int segment, const T &new_value, BinOp op=BinOp())SegmentTree< T, BinOp >
    Print(int width) constSegmentTree< T, BinOp >
    RangeQuery(int left, int right, BinOp op=BinOp()) constSegmentTree< T, BinOp >
    RangeUpdate(int left, int right, const T &new_value, BinOp op=BinOp())SegmentTree< T, BinOp >
    SegmentTree(std::initializer_list< T > lst)SegmentTree< T, BinOp >
    SegmentTree(std::vector< T > lst)SegmentTree< T, BinOp >
    tree_SegmentTree< T, BinOp >private
    -
    -
    - - - - diff --git a/docs/class_segment_tree.html b/docs/class_segment_tree.html deleted file mode 100644 index cf354e9..0000000 --- a/docs/class_segment_tree.html +++ /dev/null @@ -1,508 +0,0 @@ - - - - - - - -Flow: SegmentTree< T, BinOp > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SegmentTree< T, BinOp > Class Template Reference
    -
    -
    - -

    #include <SegmentTree.h>

    - - - - - - - - - -

    -Public Member Functions

     SegmentTree (std::initializer_list< T > lst)
     SegmentTree (std::vector< T > lst)
    void PointUpdate (int segment, const T &new_value, BinOp op=BinOp())
    RangeQuery (int left, int right, BinOp op=BinOp()) const
    void RangeUpdate (int left, int right, const T &new_value, BinOp op=BinOp())
    PointQuery (int segment, BinOp op=BinOp()) const
    void Print (int width) const
    - - -

    -Private Member Functions

    void BuildParent (BinOp op=BinOp())
    - - -

    -Private Attributes

    std::vector< T > tree_
    -

    Detailed Description

    -
    template<typename T, typename BinOp>
    -class SegmentTree< T, BinOp >
    -

    Definition at line 9 of file SegmentTree.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ SegmentTree() [1/2]

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - - - -
    SegmentTree< T, BinOp >::SegmentTree (std::initializer_list< T > lst)
    -
    - -

    Definition at line 34 of file SegmentTree.h.

    -
    34 : tree_(lst.size() * 2)
    -
    35{
    -
    36 std::copy(lst.begin(), lst.end(), tree_.begin() + tree_.size() / 2);
    -
    37 this->BuildParent();
    -
    38}
    - -
    std::vector< T > tree_
    Definition SegmentTree.h:11
    -
    void BuildParent(BinOp op=BinOp())
    Definition SegmentTree.h:48
    -
    -

    References BuildParent(), and tree_.

    - -
    -
    - -

    ◆ SegmentTree() [2/2]

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - - - -
    SegmentTree< T, BinOp >::SegmentTree (std::vector< T > lst)
    -
    - -

    Definition at line 41 of file SegmentTree.h.

    -
    -
    42{
    -
    43 tree_.resize(tree_.size() * 2);
    -
    44 this->BuildParent();
    -
    45}
    -
    -

    References tree_.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ BuildParent()

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - -
    - - - - - - - -
    void SegmentTree< T, BinOp >::BuildParent (BinOp op = BinOp())
    -
    -private
    -
    - -

    Definition at line 48 of file SegmentTree.h.

    -
    49{
    -
    50 for (int r = static_cast<int>(tree_.size()) / 2 - 1; r >= 1; --r)
    -
    51 {
    -
    52 tree_[r] = op(tree_[r * 2], tree_[r * 2 + 1]);
    -
    53 }
    -
    54}
    -
    -

    References tree_.

    - -

    Referenced by SegmentTree().

    - -
    -
    - -

    ◆ PointQuery()

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - - - - - - - -
    T SegmentTree< T, BinOp >::PointQuery (int segment,
    BinOp op = BinOp() ) const
    -
    - -

    Definition at line 129 of file SegmentTree.h.

    -
    130{
    -
    131 segment += static_cast<int>(tree_.size() / 2);
    -
    132}
    -
    -

    References tree_.

    - -
    -
    - -

    ◆ PointUpdate()

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - - - - - - - - - - - - -
    void SegmentTree< T, BinOp >::PointUpdate (int segment,
    const T & new_value,
    BinOp op = BinOp() )
    -
    - -

    Definition at line 65 of file SegmentTree.h.

    -
    66{
    -
    67 segment += static_cast<int>(tree_.size()) / 2;
    - -
    69 while (segment >= 1)
    -
    70 {
    -
    71 segment /= 2;
    -
    72 tree_[segment] = op(tree_[segment * 2], tree_[segment * 2 + 1]);
    -
    73 }
    -
    74}
    -
    -

    References tree_.

    - -
    -
    - -

    ◆ Print()

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - - - -
    void SegmentTree< T, BinOp >::Print (int width) const
    -
    - -

    Definition at line 142 of file SegmentTree.h.

    -
    143{
    -
    144 //notice the log2 and pow 2 does not cancel out each other due to int trancation
    -
    145 //get the height of the tree
    -
    146 int height = static_cast<int>(std::log2(tree_.size()));
    -
    147
    -
    148 //get the number of elements at the bottom row
    -
    149 int space = static_cast<int>(std::pow(2.0, height)) * width;
    -
    150
    -
    151 for (int curr_tw = 0, max_tw = 1, r = 1; r < tree_.size(); ++r)
    -
    152 {
    -
    153 //get the length of each segment
    -
    154 int segment_space = space / max_tw;
    -
    155
    -
    156 //subtract the text length of the number
    - -
    158
    -
    159 segment_space -= static_cast<int>(segment_text.size());
    - -
    161 int left = segment_space / 2;
    -
    162 int right = left + segment_space % 2;
    -
    163
    - -
    165
    -
    166 if (++curr_tw == max_tw)
    -
    167 {
    -
    168 curr_tw = 0;
    -
    169 max_tw *= 2;
    -
    170 std::cout << '\n';
    -
    171 }
    -
    172 }
    -
    173}
    -
    -

    References tree_.

    - -
    -
    - -

    ◆ RangeQuery()

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - - - - - - - - - - - - -
    T SegmentTree< T, BinOp >::RangeQuery (int left,
    int right,
    BinOp op = BinOp() ) const
    -
    - -

    Definition at line 77 of file SegmentTree.h.

    -
    78{
    -
    79 //convert to the child leaf index
    -
    80 left += static_cast<int>(tree_.size()) / 2;
    -
    81 right += static_cast<int>(tree_.size()) / 2;
    -
    82
    -
    83 //set up the initial query value
    -
    84 T res = tree_[left];
    -
    85
    -
    86 //check if left and right borders collide
    -
    87 while(left <= right)
    -
    88 {
    -
    89 //apply the operators to the edge segment
    -
    90 if (left % 2 == 1) res = op(res, tree_[left++]);
    -
    91 if (right % 2 == 0) res = op(res, tree_[right--]);
    -
    92
    -
    93 //climb up the tree
    -
    94 left /= 2;
    -
    95 right /= 2;
    -
    96 }
    -
    97
    -
    98 return res;
    -
    99}
    -
    -

    References tree_.

    - -
    -
    - -

    ◆ RangeUpdate()

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - - - - - - - - - - - - - - - - - -
    void SegmentTree< T, BinOp >::RangeUpdate (int left,
    int right,
    const T & new_value,
    BinOp op = BinOp() )
    -
    - -

    Definition at line 104 of file SegmentTree.h.

    -
    105{
    -
    106 left += static_cast<int>(tree_.size() / 2);
    -
    107 right += static_cast<int>(tree_.size() / 2);
    -
    108
    -
    109 while(left <= right)
    -
    110 {
    -
    111 if (left % 2 == 1)
    -
    112 {
    - -
    114 ++left;
    -
    115 }
    -
    116
    -
    117 if (right % 2 == 0)
    -
    118 {
    - -
    120 --right;
    -
    121 }
    -
    122
    -
    123 left /= 2;
    -
    124 right /= 2;
    -
    125 }
    -
    126}
    -
    -

    References tree_.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ tree_

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - -
    - - - - -
    std::vector<T> SegmentTree< T, BinOp >::tree_
    -
    -private
    -
    - -

    Definition at line 11 of file SegmentTree.h.

    - -

    Referenced by BuildParent(), PointQuery(), PointUpdate(), Print(), RangeQuery(), RangeUpdate(), SegmentTree(), and SegmentTree().

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_segment_tree.js b/docs/class_segment_tree.js deleted file mode 100644 index 3ea4407..0000000 --- a/docs/class_segment_tree.js +++ /dev/null @@ -1,12 +0,0 @@ -var class_segment_tree = -[ - [ "SegmentTree", "class_segment_tree.html#a0171328c01aecf88ba32506b05443bea", null ], - [ "SegmentTree", "class_segment_tree.html#a8fd3d00c664cffb3b49e02901de7ed3a", null ], - [ "BuildParent", "class_segment_tree.html#afbfa8cf96ec9ddf34e9e3d2ba58365f0", null ], - [ "PointQuery", "class_segment_tree.html#a872ede0fa9c7d692a206259b9adedca2", null ], - [ "PointUpdate", "class_segment_tree.html#aa7e7a3bfed9f3dfe76ad6ce4615d2b0f", null ], - [ "Print", "class_segment_tree.html#ac31ed2db84d473746e43d797329abff7", null ], - [ "RangeQuery", "class_segment_tree.html#acb52b501869d10a7c744680d20c05fa1", null ], - [ "RangeUpdate", "class_segment_tree.html#a4455133bc3dfdd31e81da3c516717726", null ], - [ "tree_", "class_segment_tree.html#a0d3df3fccc12b274e96439b6992b4c35", null ] -]; \ No newline at end of file diff --git a/docs/class_skip_list-members.html b/docs/class_skip_list-members.html deleted file mode 100644 index 4800da3..0000000 --- a/docs/class_skip_list-members.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SkipList< KeyType, ValueType, Predicate > Member List
    -
    -
    - -

    This is the complete list of members for SkipList< KeyType, ValueType, Predicate >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - -
    _rootSkipList< KeyType, ValueType, Predicate >private
    begin()SkipList< KeyType, ValueType, Predicate >inline
    begin() constSkipList< KeyType, ValueType, Predicate >inline
    compSkipList< KeyType, ValueType, Predicate >inlineprivatestatic
    ConstIterator typedefSkipList< KeyType, ValueType, Predicate >
    end()SkipList< KeyType, ValueType, Predicate >inline
    end() constSkipList< KeyType, ValueType, Predicate >inline
    Erase(const KeyType &key)SkipList< KeyType, ValueType, Predicate >inline
    Find(const KeyType &key)SkipList< KeyType, ValueType, Predicate >inline
    Find(const KeyType &key) constSkipList< KeyType, ValueType, Predicate >inline
    GetPredecessors(const KeyType &key) constSkipList< KeyType, ValueType, Predicate >inlineprivate
    Insert(const KeyValueType &keyValue)SkipList< KeyType, ValueType, Predicate >inline
    Iterator typedefSkipList< KeyType, ValueType, Predicate >
    KeyValueType typedefSkipList< KeyType, ValueType, Predicate >private
    operator=(const SkipList &other)=deleteSkipList< KeyType, ValueType, Predicate >
    operator=(SkipList &&other) noexceptSkipList< KeyType, ValueType, Predicate >inline
    Print() constSkipList< KeyType, ValueType, Predicate >inline
    SkipList()SkipList< KeyType, ValueType, Predicate >inlineexplicit
    SkipList(const SkipList &other)=deleteSkipList< KeyType, ValueType, Predicate >explicit
    SkipList(SkipList &&other) noexceptSkipList< KeyType, ValueType, Predicate >inlineexplicit
    ~SkipList()SkipList< KeyType, ValueType, Predicate >inline
    -
    -
    - - - - diff --git a/docs/class_skip_list.html b/docs/class_skip_list.html deleted file mode 100644 index 0cc882b..0000000 --- a/docs/class_skip_list.html +++ /dev/null @@ -1,896 +0,0 @@ - - - - - - - -Flow: SkipList< KeyType, ValueType, Predicate > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SkipList< KeyType, ValueType, Predicate > Class Template Reference
    -
    -
    - -

    #include <SkipList.h>

    - - - - - -

    -Classes

    class  IteratorImpl
    struct  Node
    struct  Tower
    - - - -

    -Public Types

    using Iterator = IteratorImpl<KeyValueType&>
    using ConstIterator = IteratorImpl<const KeyValueType&>
    - - - - - - - - - - - - - - - - -

    -Public Member Functions

    Iterator begin ()
    ConstIterator begin () const
    Iterator end ()
    ConstIterator end () const
    Iterator Find (const KeyType &key)
    ConstIterator Find (const KeyType &key) const
    void Insert (const KeyValueType &keyValue)
    void Erase (const KeyType &key)
    void Print () const
     SkipList ()
     SkipList (const SkipList &other)=delete
     SkipList (SkipList &&other) noexcept
     ~SkipList ()
    SkipListoperator= (const SkipList &other)=delete
    SkipListoperator= (SkipList &&other) noexcept
    - - -

    -Private Types

    using KeyValueType = std::pair<const KeyType, ValueType>
    - - -

    -Private Member Functions

    std::vector< Node * > GetPredecessors (const KeyType &key) const
    - - -

    -Private Attributes

    Tower_root
    - - -

    -Static Private Attributes

    static const Predicate comp {}
    -

    Detailed Description

    -
    template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    -class SkipList< KeyType, ValueType, Predicate >
    -

    Definition at line 10 of file SkipList.h.

    -

    Member Typedef Documentation

    - -

    ◆ ConstIterator

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - -
    using SkipList< KeyType, ValueType, Predicate >::ConstIterator = IteratorImpl<const KeyValueType&>
    -
    - -

    Definition at line 97 of file SkipList.h.

    - -
    -
    - -

    ◆ Iterator

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - -
    using SkipList< KeyType, ValueType, Predicate >::Iterator = IteratorImpl<KeyValueType&>
    -
    - -

    Definition at line 96 of file SkipList.h.

    - -
    -
    - -

    ◆ KeyValueType

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - -
    using SkipList< KeyType, ValueType, Predicate >::KeyValueType = std::pair<const KeyType, ValueType>
    -
    -private
    -
    - -

    Definition at line 11 of file SkipList.h.

    - -
    -
    -

    Constructor & Destructor Documentation

    - -

    ◆ SkipList() [1/3]

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    SkipList< KeyType, ValueType, Predicate >::SkipList ()
    -
    -inlineexplicit
    -
    - -

    Definition at line 177 of file SkipList.h.

    -
    177: _root(new Tower()) {}
    -
    Tower * _root
    Definition SkipList.h:74
    - -
    -

    References _root.

    - -

    Referenced by operator=(), operator=(), SkipList(), and SkipList().

    - -
    -
    - -

    ◆ SkipList() [2/3]

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    SkipList< KeyType, ValueType, Predicate >::SkipList (const SkipList< KeyType, ValueType, Predicate > & other)
    -
    -explicitdelete
    -
    - -

    References SkipList().

    - -
    -
    - -

    ◆ SkipList() [3/3]

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    SkipList< KeyType, ValueType, Predicate >::SkipList (SkipList< KeyType, ValueType, Predicate > && other)
    -
    -inlineexplicitnoexcept
    -
    - -

    Definition at line 181 of file SkipList.h.

    -
    181: _root(std::exchange(other._root, nullptr)) {}
    - -
    -

    References SkipList().

    - -
    -
    - -

    ◆ ~SkipList()

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    SkipList< KeyType, ValueType, Predicate >::~SkipList ()
    -
    -inline
    -
    - -

    Definition at line 183 of file SkipList.h.

    -
    183 {
    -
    184 for (Tower* curr = _root; curr; ) {
    -
    185 Tower* next = curr->_nodes.front()._next;
    -
    186 delete curr;
    -
    187 curr = next;
    -
    188 }
    -
    189 }
    -
    -

    References SkipList< KeyType, ValueType, Predicate >::Tower::_nodes, and _root.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ begin() [1/2]

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    Iterator SkipList< KeyType, ValueType, Predicate >::begin ()
    -
    -inline
    -
    - -

    Definition at line 99 of file SkipList.h.

    -
    99 {
    -
    100 return Iterator(_root->_nodes.front()->_next);
    -
    101 }
    -
    IteratorImpl< KeyValueType & > Iterator
    Definition SkipList.h:96
    -
    -

    References _root.

    - -
    -
    - -

    ◆ begin() [2/2]

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    ConstIterator SkipList< KeyType, ValueType, Predicate >::begin () const
    -
    -inline
    -
    - -

    Definition at line 103 of file SkipList.h.

    -
    103 {
    -
    104 return ConstIterator(_root->_nodes.front()->_next);
    -
    105 }
    -
    IteratorImpl< const KeyValueType & > ConstIterator
    Definition SkipList.h:97
    -
    -

    References _root.

    - -
    -
    - -

    ◆ end() [1/2]

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    Iterator SkipList< KeyType, ValueType, Predicate >::end ()
    -
    -inline
    -
    - -

    Definition at line 107 of file SkipList.h.

    -
    107 {
    -
    108 return Iterator(nullptr);
    -
    109 }
    -
    -

    Referenced by Insert().

    - -
    -
    - -

    ◆ end() [2/2]

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    ConstIterator SkipList< KeyType, ValueType, Predicate >::end () const
    -
    -inline
    -
    - -

    Definition at line 111 of file SkipList.h.

    -
    111 {
    -
    112 return ConstIterator(nullptr);
    -
    113 }
    -
    -
    -
    - -

    ◆ Erase()

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    void SkipList< KeyType, ValueType, Predicate >::Erase (const KeyType & key)
    -
    -inline
    -
    - -

    Definition at line 145 of file SkipList.h.

    -
    145 {
    - -
    147 Tower* const tower = predecessors.back()->_next;
    -
    148 bool found = false;
    -
    149
    -
    150 int height = 0;
    -
    151 for (auto iter = predecessors.rbegin(); iter != predecessors.rend(); ++iter, ++height) {
    -
    152 Tower* const candidate = (*iter)->_next;
    -
    153 if (candidate && !comp(candidate->Key(), key) && !comp(key, candidate->Key())) {
    -
    154 (*iter)->_next = candidate->_nodes[height]._next;
    -
    155 found = true;
    -
    156 } else {
    -
    157 break;
    -
    158 }
    -
    159 }
    -
    160
    -
    161 if (found) {
    -
    162 delete tower;
    -
    163 }
    -
    164 }
    -
    std::vector< Node * > GetPredecessors(const KeyType &key) const
    Definition SkipList.h:76
    -
    static const Predicate comp
    Definition SkipList.h:13
    -
    -

    References SkipList< KeyType, ValueType, Predicate >::Tower::_nodes, comp, GetPredecessors(), and SkipList< KeyType, ValueType, Predicate >::Tower::Key().

    - -
    -
    - -

    ◆ Find() [1/2]

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    Iterator SkipList< KeyType, ValueType, Predicate >::Find (const KeyType & key)
    -
    -inline
    -
    - -

    Definition at line 115 of file SkipList.h.

    -
    115 {
    -
    116 Tower* const tower = GetPredecessors(key).back()->_next;
    -
    117 return Iterator((tower && !comp(tower->Key(), key) && !comp(key, tower->Key())) ? tower : nullptr); //is == defined?, should I use < instead?
    -
    118 }
    -
    -

    References comp, GetPredecessors(), and SkipList< KeyType, ValueType, Predicate >::Tower::Key().

    - -

    Referenced by Insert().

    - -
    -
    - -

    ◆ Find() [2/2]

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    ConstIterator SkipList< KeyType, ValueType, Predicate >::Find (const KeyType & key) const
    -
    -inline
    -
    - -

    Definition at line 120 of file SkipList.h.

    -
    120 {
    -
    121 Tower* const tower = GetPredecessors(key).back()->_next;
    -
    122 return ConstIterator((tower && !comp(tower->Key(), key) && !comp(key, tower->Key())) ? tower : nullptr);
    -
    123 }
    -
    -

    References comp, GetPredecessors(), and SkipList< KeyType, ValueType, Predicate >::Tower::Key().

    - -
    -
    - -

    ◆ GetPredecessors()

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    std::vector< Node * > SkipList< KeyType, ValueType, Predicate >::GetPredecessors (const KeyType & key) const
    -
    -inlineprivate
    -
    - -

    Definition at line 76 of file SkipList.h.

    -
    76 {
    - -
    78 int height = int(_root->_nodes.size()) - 1;
    -
    79
    - -
    81
    -
    82 //go down by 1 height each iteration
    -
    83 while (--height >= 0) {
    -
    84
    -
    85 //search horizontally until reaches the upper bound or sentinel
    -
    86 Node* currNode = &currTower->_nodes[height];
    -
    87 while (currNode->_next && comp(currNode->_next->Key(), key)) {
    -
    88 currNode = &currNode->_next->_nodes[height];
    -
    89 }
    -
    90 predecessors.push_back(currNode);
    -
    91 }
    -
    92 return predecessors;
    -
    93 }
    - -
    -

    References SkipList< KeyType, ValueType, Predicate >::Node::_next, SkipList< KeyType, ValueType, Predicate >::Tower::_nodes, _root, comp, and SkipList< KeyType, ValueType, Predicate >::Tower::Key().

    - -

    Referenced by Erase(), Find(), Find(), and Insert().

    - -
    -
    - -

    ◆ Insert()

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    void SkipList< KeyType, ValueType, Predicate >::Insert (const KeyValueType & keyValue)
    -
    -inline
    -
    - -

    Definition at line 125 of file SkipList.h.

    -
    125 {
    -
    126 if (auto result = Find(keyValue.first); result != end()) {
    -
    127 (*result).second = keyValue.second;
    -
    128 return;
    -
    129 }
    -
    130
    -
    131 //insert the new tower
    -
    132 Tower* newTower = new Tower(keyValue); //pray it doesn't throw, this strategy always works
    -
    133 if (_root->_nodes.size() <= newTower->_nodes.size()) {
    -
    134 _root->_nodes.resize(newTower->_nodes.size() + 1);
    -
    135 }
    - -
    137
    -
    138 for (Node& node : newTower->_nodes) {
    -
    139 node._next = predecessors.back()->_next;
    -
    140 predecessors.back()->_next = newTower;
    -
    141 predecessors.pop_back();
    -
    142 }
    -
    143 }
    -
    Iterator Find(const KeyType &key)
    Definition SkipList.h:115
    -
    Iterator end()
    Definition SkipList.h:107
    -
    -

    References SkipList< KeyType, ValueType, Predicate >::Node::_next, SkipList< KeyType, ValueType, Predicate >::Tower::_nodes, _root, end(), Find(), and GetPredecessors().

    - -
    -
    - -

    ◆ operator=() [1/2]

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    SkipList & SkipList< KeyType, ValueType, Predicate >::operator= (const SkipList< KeyType, ValueType, Predicate > & other)
    -
    -delete
    -
    - -

    References SkipList().

    - -
    -
    - -

    ◆ operator=() [2/2]

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    SkipList & SkipList< KeyType, ValueType, Predicate >::operator= (SkipList< KeyType, ValueType, Predicate > && other)
    -
    -inlinenoexcept
    -
    - -

    Definition at line 193 of file SkipList.h.

    -
    193 {
    - -
    195 }
    -
    -

    References _root, and SkipList().

    - -
    -
    - -

    ◆ Print()

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - - - - -
    void SkipList< KeyType, ValueType, Predicate >::Print () const
    -
    -inline
    -
    - -

    Definition at line 166 of file SkipList.h.

    -
    166 {
    -
    167 for (int i = int(_root->_nodes.size()) - 1; i >= 0; --i) {
    -
    168 Node node = _root->_nodes[i];
    -
    169 for (Tower* tower = node._next; tower; ) {
    -
    170 std::cout << "_(" << tower->Key() << ", " << tower->Value() << ")";
    -
    171 tower = tower->_nodes[i]._next;
    -
    172 }
    -
    173 std::cout << '\n';
    -
    174 }
    -
    175 }
    -
    -

    References SkipList< KeyType, ValueType, Predicate >::Node::_next, and _root.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ _root

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - -
    Tower* SkipList< KeyType, ValueType, Predicate >::_root
    -
    -private
    -
    - -

    Definition at line 74 of file SkipList.h.

    - -

    Referenced by begin(), begin(), GetPredecessors(), Insert(), operator=(), Print(), SkipList(), and ~SkipList().

    - -
    -
    - -

    ◆ comp

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    - - - - - -
    - - - - -
    const Predicate SkipList< KeyType, ValueType, Predicate >::comp {}
    -
    -inlinestaticprivate
    -
    - -

    Definition at line 13 of file SkipList.h.

    -
    13{};
    -
    -

    Referenced by Erase(), Find(), Find(), and GetPredecessors().

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_skip_list.js b/docs/class_skip_list.js deleted file mode 100644 index 789a8a2..0000000 --- a/docs/class_skip_list.js +++ /dev/null @@ -1,27 +0,0 @@ -var class_skip_list = -[ - [ "IteratorImpl", "class_skip_list_1_1_iterator_impl.html", "class_skip_list_1_1_iterator_impl" ], - [ "Node", "struct_skip_list_1_1_node.html", "struct_skip_list_1_1_node" ], - [ "Tower", "struct_skip_list_1_1_tower.html", "struct_skip_list_1_1_tower" ], - [ "ConstIterator", "class_skip_list.html#af16211f5bd5c42c443adeade271720b7", null ], - [ "Iterator", "class_skip_list.html#a42bc1096d9969553bc1995ed143aff13", null ], - [ "KeyValueType", "class_skip_list.html#acbb87b31d514f4ca1613e1521cc56585", null ], - [ "SkipList", "class_skip_list.html#a21c7073f015a4981aa3db81c68ded678", null ], - [ "SkipList", "class_skip_list.html#a7b96cbaab5563be94deb2515f4b7d005", null ], - [ "SkipList", "class_skip_list.html#a4cc1bc645d0eac48b0684501c35b68ee", null ], - [ "~SkipList", "class_skip_list.html#a5595a1c2e776f2ed0392350fec54b3ca", null ], - [ "begin", "class_skip_list.html#acf677bbb22255fe662570d04fa1d39f2", null ], - [ "begin", "class_skip_list.html#ae4e2b80c7ab0f4b9e20390b96f8ba82b", null ], - [ "end", "class_skip_list.html#a524b4b9a54258a5fa37e72ee8cc2a592", null ], - [ "end", "class_skip_list.html#a2e04647b73b200aa4f55cf548dac80dd", null ], - [ "Erase", "class_skip_list.html#a78009a34e704863223fb7d5ac6bfb705", null ], - [ "Find", "class_skip_list.html#a18373c8126749befdccf5bf06528b6cd", null ], - [ "Find", "class_skip_list.html#a9b6d942c7485e8eb62f4c8c0c4d76ce1", null ], - [ "GetPredecessors", "class_skip_list.html#ac23462bfed8dd4a68989c6ec371297d3", null ], - [ "Insert", "class_skip_list.html#a049048bd0ead2ae94cc39d5a1d3ca9db", null ], - [ "operator=", "class_skip_list.html#abdf618ba429ef69b0a5ffacd2e7cb029", null ], - [ "operator=", "class_skip_list.html#a0f70befb4ab19c4aae234633828305a5", null ], - [ "Print", "class_skip_list.html#ae3db55a74bebba283371d6a07eeba4e4", null ], - [ "_root", "class_skip_list.html#a30db5634b1bda0964c31c6db4f0e4a3d", null ], - [ "comp", "class_skip_list.html#ad107b551a4abbdd19c796aa268192d7f", null ] -]; \ No newline at end of file diff --git a/docs/class_skip_list_1_1_iterator_impl-members.html b/docs/class_skip_list_1_1_iterator_impl-members.html deleted file mode 100644 index cf8d267..0000000 --- a/docs/class_skip_list_1_1_iterator_impl-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - - - - - - diff --git a/docs/class_skip_list_1_1_iterator_impl.html b/docs/class_skip_list_1_1_iterator_impl.html deleted file mode 100644 index 67387b7..0000000 --- a/docs/class_skip_list_1_1_iterator_impl.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - -Flow: SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType > Class Template Reference
    -
    -
    - - - - - - -

    -Public Member Functions

    IteratorImploperator++ ()
    bool operator== (const IteratorImpl &other) const
    bool operator!= (const IteratorImpl &other) const
    ReturnType operator* ()
    - - -

    -Private Member Functions

     IteratorImpl (Tower *tower)
    - - -

    -Private Attributes

    Towertower
    - - -

    -Friends

    class SkipList
    -

    Detailed Description

    -
    template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    -template<typename ReturnType>
    -class SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >
    -

    Definition at line 48 of file SkipList.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ IteratorImpl()

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - - - - -
    SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >::IteratorImpl (Tower * tower)
    -
    -inlineprivate
    -
    - -

    Definition at line 50 of file SkipList.h.

    -
    50: tower(tower) {}
    - -
    -
    -
    -

    Member Function Documentation

    - -

    ◆ operator!=()

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - - - - -
    bool SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >::operator!= (const IteratorImpl< ReturnType > & other) const
    -
    -inline
    -
    - -

    Definition at line 63 of file SkipList.h.

    -
    63 {
    -
    64 return !(*this == other);
    -
    65 }
    - -
    -
    -
    - -

    ◆ operator*()

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - - - - -
    ReturnType SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >::operator* ()
    -
    -inline
    -
    - -

    Definition at line 67 of file SkipList.h.

    -
    67 {
    -
    68 assert(tower && tower->_keyValue && "dereference sentinel node");
    -
    69 return *tower->_keyValue;
    -
    70 }
    -
    -
    -
    - -

    ◆ operator++()

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - - - - -
    IteratorImpl & SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >::operator++ ()
    -
    -inline
    -
    - -

    Definition at line 53 of file SkipList.h.

    -
    53 {
    -
    54 assert(tower->_nodes.at(0) && "incrementing pass the end");
    -
    55 tower = tower->_nodes[0];
    -
    56 return *this;
    -
    57 }
    -
    -
    -
    - -

    ◆ operator==()

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - - - - -
    bool SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >::operator== (const IteratorImpl< ReturnType > & other) const
    -
    -inline
    -
    - -

    Definition at line 59 of file SkipList.h.

    -
    59 {
    -
    60 return tower == other.tower;
    -
    61 }
    -
    -
    -
    - - -

    ◆ SkipList

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - -
    friend class SkipList
    -
    -friend
    -
    - -

    Definition at line 71 of file SkipList.h.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ tower

    - -
    -
    -
    -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
    -
    -template<typename ReturnType>
    - - - - - -
    - - - - -
    Tower* SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >::tower
    -
    -private
    -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_skip_list_1_1_iterator_impl.js b/docs/class_skip_list_1_1_iterator_impl.js deleted file mode 100644 index 26c1aad..0000000 --- a/docs/class_skip_list_1_1_iterator_impl.js +++ /dev/null @@ -1,10 +0,0 @@ -var class_skip_list_1_1_iterator_impl = -[ - [ "IteratorImpl", "class_skip_list_1_1_iterator_impl.html#a494f3d41a62b132fe122db34b60dd258", null ], - [ "operator!=", "class_skip_list_1_1_iterator_impl.html#ad638955b109f8a7f3220dd1f06cda062", null ], - [ "operator*", "class_skip_list_1_1_iterator_impl.html#ada7dd87c088aee472ec3e228b90560c2", null ], - [ "operator++", "class_skip_list_1_1_iterator_impl.html#ac3dd0bbc5bdd50c18d2b5d0014f650e9", null ], - [ "operator==", "class_skip_list_1_1_iterator_impl.html#a86c3a76b1ed67707f3805e7378bcfc26", null ], - [ "SkipList", "class_skip_list_1_1_iterator_impl.html#ac126981346d56d95dbdb4f443365265b", null ], - [ "tower", "class_skip_list_1_1_iterator_impl.html#a314bb1dc8b3e57380fc6c684164c960e", null ] -]; \ No newline at end of file diff --git a/docs/class_sparse_table-members.html b/docs/class_sparse_table-members.html deleted file mode 100644 index e2003af..0000000 --- a/docs/class_sparse_table-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SparseTable< T, BinOp > Member List
    -
    -
    - -

    This is the complete list of members for SparseTable< T, BinOp >, including all inherited members.

    - - - - - - - -
    _dataSparseTable< T, BinOp >private
    FastQuery(int left, int right, BinOp op=BinOp()) constSparseTable< T, BinOp >
    Pow2(int power)SparseTable< T, BinOp >static
    Print(int width) constSparseTable< T, BinOp >
    Query(int left, int right, BinOp op=BinOp()) constSparseTable< T, BinOp >
    SparseTable(std::vector< T > arr, BinOp op=BinOp())SparseTable< T, BinOp >
    -
    -
    - - - - diff --git a/docs/class_sparse_table.html b/docs/class_sparse_table.html deleted file mode 100644 index ab46e73..0000000 --- a/docs/class_sparse_table.html +++ /dev/null @@ -1,374 +0,0 @@ - - - - - - - -Flow: SparseTable< T, BinOp > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    SparseTable< T, BinOp > Class Template Reference
    -
    -
    - -

    #include <SparseTable.h>

    - - - - - - -

    -Public Member Functions

     SparseTable (std::vector< T > arr, BinOp op=BinOp())
    Query (int left, int right, BinOp op=BinOp()) const
    FastQuery (int left, int right, BinOp op=BinOp()) const
    void Print (int width) const
    - - -

    -Static Public Member Functions

    static int Pow2 (int power)
    - - -

    -Private Attributes

    std::vector< std::vector< T > > _data
    -

    Detailed Description

    -
    template<typename T, typename BinOp>
    -class SparseTable< T, BinOp >
    -

    Definition at line 9 of file SparseTable.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ SparseTable()

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - - - - - - - -
    SparseTable< T, BinOp >::SparseTable (std::vector< T > arr,
    BinOp op = BinOp() )
    -
    - -

    Definition at line 24 of file SparseTable.h.

    -
    25{
    -
    26 //base layer
    -
    27 _data.push_back(std::move(arr));
    -
    28
    -
    29 //increase height if the interval covering length <= arr size
    -
    30 for (int h = 1; Pow2(h) <= _data[0].size(); ++h)
    -
    31 {
    -
    32 //allocate table length with estimated size
    -
    33 int inter_len = Pow2(h - 1);
    -
    34 _data.push_back(std::vector<T>(_data[h - 1].size() - inter_len));
    -
    35 for (int r = 0; r < _data[h].size(); ++r)
    -
    36 {
    -
    37 _data[h][r] = op(_data[h - 1][r], _data[h - 1][r + inter_len]);
    -
    38 }
    -
    39 }
    -
    40}
    - -
    static int Pow2(int power)
    Definition SparseTable.h:94
    -
    std::vector< std::vector< T > > _data
    Definition SparseTable.h:11
    -
    -

    References _data, and Pow2().

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ FastQuery()

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - - - - - - - - - - - - -
    T SparseTable< T, BinOp >::FastQuery (int left,
    int right,
    BinOp op = BinOp() ) const
    -
    - -

    Definition at line 73 of file SparseTable.h.

    -
    74{
    -
    75
    -
    76}
    -
    -
    -
    - -

    ◆ Pow2()

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - -
    - - - - - - - -
    int SparseTable< T, BinOp >::Pow2 (int power)
    -
    -static
    -
    - -

    Definition at line 94 of file SparseTable.h.

    -
    95{
    -
    96 return 1 << power;
    -
    97}
    -
    -

    Referenced by Query(), and SparseTable().

    - -
    -
    - -

    ◆ Print()

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - - - -
    void SparseTable< T, BinOp >::Print (int width) const
    -
    - -

    Definition at line 79 of file SparseTable.h.

    -
    80{
    -
    81 for (const auto& row : _data)
    -
    82 {
    -
    83 for (const auto& column : row)
    -
    84 {
    - -
    86 }
    -
    87 std::cout << '\n';
    -
    88 }
    -
    89}
    -
    -

    References _data.

    - -
    -
    - -

    ◆ Query()

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - - - - - - - - - - - - -
    T SparseTable< T, BinOp >::Query (int left,
    int right,
    BinOp op = BinOp() ) const
    -
    - -

    Definition at line 43 of file SparseTable.h.

    -
    44{
    -
    45 //initial query result
    -
    46 T res = _data[0][left];
    -
    47
    -
    48 //top down
    -
    49 for (int h = static_cast<int>(_data.size()) - 1; h >= 0; --h)
    -
    50 {
    -
    51 //check if the table includes the left index
    -
    52 if (left < _data[h].size())
    -
    53 {
    -
    54 int inter_len = Pow2(h);
    -
    55 int require_len = right - left + 1;
    -
    56
    -
    57 //if the interval fits within the range
    - -
    59 {
    -
    60 //query
    -
    61 res = op(res, _data[h][left]);
    -
    62
    -
    63 //update range
    -
    64 left += inter_len;
    -
    65 }
    -
    66 }
    -
    67 }
    -
    68
    -
    69 return res;
    -
    70}
    -
    -

    References _data, and Pow2().

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ _data

    - -
    -
    -
    -template<typename T, typename BinOp>
    - - - - - -
    - - - - -
    std::vector<std::vector<T> > SparseTable< T, BinOp >::_data
    -
    -private
    -
    - -

    Definition at line 11 of file SparseTable.h.

    - -

    Referenced by Print(), Query(), and SparseTable().

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_sparse_table.js b/docs/class_sparse_table.js deleted file mode 100644 index cd49999..0000000 --- a/docs/class_sparse_table.js +++ /dev/null @@ -1,9 +0,0 @@ -var class_sparse_table = -[ - [ "SparseTable", "class_sparse_table.html#a65c85236969ff6a8f18b0265dd76b669", null ], - [ "FastQuery", "class_sparse_table.html#a6afd60d3402ddf6f4b2b10adf61f15c0", null ], - [ "Pow2", "class_sparse_table.html#a13b34b60970ef48e919b76c24de4845d", null ], - [ "Print", "class_sparse_table.html#a03fb9a33783e5a9963d7a6bf12a53db8", null ], - [ "Query", "class_sparse_table.html#af477d026d12d824c070f86c12d36473c", null ], - [ "_data", "class_sparse_table.html#a4b4ddbdcbadc9111cb6774fb5aa7138c", null ] -]; \ No newline at end of file diff --git a/docs/class_trie-members.html b/docs/class_trie-members.html deleted file mode 100644 index 736e238..0000000 --- a/docs/class_trie-members.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Trie< T > Member List
    -
    -
    - -

    This is the complete list of members for Trie< T >, including all inherited members.

    - - - - - - - - - - - -
    Contain(const T *arr, std::size_t len) constTrie< T >
    ContainPrefix(const T *arr, std::size_t len) constTrie< T >
    Erase(const T *arr, std::size_t len)Trie< T >
    Find(const T *arr, std::size_t len)Trie< T >
    Find(const T *arr, std::size_t len) constTrie< T >
    GetAll() constTrie< T >
    Push(const T *arr, std::size_t len)Trie< T >
    root_Trie< T >private
    Trie()Trie< T >
    Walk(std::vector< std::vector< T > > &res, std::vector< T > &seq, const Trie< T >::Node &curr)Trie< T >privatestatic
    -
    -
    - - - - diff --git a/docs/class_trie.html b/docs/class_trie.html deleted file mode 100644 index cee95fc..0000000 --- a/docs/class_trie.html +++ /dev/null @@ -1,514 +0,0 @@ - - - - - - - -Flow: Trie< T > Class Template Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Trie< T > Class Template Reference
    -
    -
    - -

    #include <Trie.h>

    - - - -

    -Classes

    class  Node
    - - - - - - - - - -

    -Public Member Functions

     Trie ()
    NodeFind (const T *arr, std::size_t len)
    const NodeFind (const T *arr, std::size_t len) const
    bool Contain (const T *arr, std::size_t len) const
    bool ContainPrefix (const T *arr, std::size_t len) const
    void Push (const T *arr, std::size_t len)
    void Erase (const T *arr, std::size_t len)
    std::vector< std::vector< T > > GetAll () const
    - - -

    -Static Private Member Functions

    static void Walk (std::vector< std::vector< T > > &res, std::vector< T > &seq, const Trie< T >::Node &curr)
    - - -

    -Private Attributes

    Node root_
    -

    Detailed Description

    -
    template<typename T>
    -class Trie< T >
    -

    Definition at line 7 of file Trie.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ Trie()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    Trie< T >::Trie ()
    -
    - -

    Definition at line 38 of file Trie.h.

    -
    38: root_() {}
    -
    Node root_
    Definition Trie.h:18
    -
    -

    References root_.

    - -

    Referenced by Find().

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ Contain()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    bool Trie< T >::Contain (const T * arr,
    std::size_t len ) const
    -
    - -

    Definition at line 62 of file Trie.h.

    -
    62 {
    -
    63 const typename Trie<T>::Node* res = Find(arr, len);
    -
    64 return res != nullptr && res->is_end_;
    -
    65}
    -
    Definition Trie.h:7
    -
    Node * Find(const T *arr, std::size_t len)
    Definition Trie.h:45
    -
    -

    References Find(), and Trie< T >::Node::is_end_.

    - -
    -
    - -

    ◆ ContainPrefix()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    bool Trie< T >::ContainPrefix (const T * arr,
    std::size_t len ) const
    -
    - -

    Definition at line 68 of file Trie.h.

    -
    68 {
    -
    69 const typename Trie<T>::Node* res = Find(arr, len);
    -
    70 return res != nullptr;
    -
    71}
    -
    -

    References Find().

    - -
    -
    - -

    ◆ Erase()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    void Trie< T >::Erase (const T * arr,
    std::size_t len )
    -
    - -

    Definition at line 83 of file Trie.h.

    -
    83 {
    -
    84
    - - -
    87 for (std::size_t i = 0; i < len; ++i) {
    -
    88 auto res = curr->child_.find(arr[i]);
    -
    89 if (res == curr->child_.end()) return;
    -
    90 stk.push_back(curr);
    -
    91 curr = &res->second;
    -
    92 }
    -
    93
    -
    94 //check if such string is in the trie
    -
    95 if (!curr->is_end_) return;
    -
    96 curr->is_end_ = false;
    -
    97
    -
    98
    -
    99 for (int i = int(len) - 1; i >= 0; --i) {
    -
    100
    -
    101 //erase from the parent if node is not ended and no child
    -
    102 if (curr->child_.empty() && !curr->is_end_) {
    -
    103 stk[i]->child_.erase(arr[i]);
    -
    104 curr = stk[i];
    -
    105 } else {
    -
    106 break;
    -
    107 }
    -
    108 }
    -
    109}
    -
    -

    References Trie< T >::Node::child_, Trie< T >::Node::is_end_, and root_.

    - -
    -
    - -

    ◆ Find() [1/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    Trie< T >::Node * Trie< T >::Find (const T * arr,
    std::size_t len )
    -
    - -

    Definition at line 45 of file Trie.h.

    -
    45 {
    -
    46 return const_cast<Trie<T>::Node*>(static_cast<const Trie<T>&>(*this).Find(arr, len));
    -
    47}
    -
    Trie()
    Definition Trie.h:38
    -
    -

    References Trie().

    - -

    Referenced by Contain(), and ContainPrefix().

    - -
    -
    - -

    ◆ Find() [2/2]

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    const Trie< T >::Node * Trie< T >::Find (const T * arr,
    std::size_t len ) const
    -
    - -

    Definition at line 50 of file Trie.h.

    -
    50 {
    -
    51 const typename Trie<T>::Node* curr = &root_;
    -
    52 for (std::size_t i = 0; i < len; ++i) {
    -
    53 const auto res = curr->child_.find(arr[i]);
    -
    54 if (res == curr->child_.end()) return nullptr;
    -
    55 curr = &res->second;
    -
    56 }
    -
    57 return curr;
    -
    58}
    -
    -

    References Trie< T >::Node::child_, and root_.

    - -
    -
    - -

    ◆ GetAll()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    std::vector< std::vector< T > > Trie< T >::GetAll () const
    -
    - -

    Definition at line 113 of file Trie.h.

    -
    113 {
    -
    114
    - - -
    117 Walk(res, seq, root_);
    -
    118 return res;
    -
    119}
    -
    static void Walk(std::vector< std::vector< T > > &res, std::vector< T > &seq, const Trie< T >::Node &curr)
    Definition Trie.h:123
    -
    -

    References root_, and Walk().

    - -
    -
    - -

    ◆ Push()

    - -
    -
    -
    -template<typename T>
    - - - - - - - - - - - -
    void Trie< T >::Push (const T * arr,
    std::size_t len )
    -
    - -

    Definition at line 74 of file Trie.h.

    -
    74 {
    - -
    76 for (std::size_t i = 0; i < len; ++i) {
    -
    77 curr = &curr->child_[arr[i]];
    -
    78 }
    -
    79 curr->is_end_ = true;
    -
    80}
    -
    -

    References Trie< T >::Node::child_, Trie< T >::Node::is_end_, and root_.

    - -
    -
    - -

    ◆ Walk()

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - - - - - - - - - - - - - -
    void Trie< T >::Walk (std::vector< std::vector< T > > & res,
    std::vector< T > & seq,
    const Trie< T >::Node & curr )
    -
    -staticprivate
    -
    - -

    Definition at line 123 of file Trie.h.

    -
    123 {
    -
    124 for (const auto& child : curr.child_) {
    -
    125
    -
    126 //extend the trie sequence
    -
    127 seq.push_back(child.first);
    -
    128 if (child.second.is_end_) {
    -
    129 res.push_back(seq);
    -
    130 }
    -
    131
    -
    132 //keep walking down the tree
    -
    133 Walk(res, seq, child.second);
    -
    134
    -
    135 //go back to the parent
    -
    136 seq.pop_back();
    -
    137 }
    -
    138}
    -
    -

    References Trie< T >::Node::child_, and Walk().

    - -

    Referenced by GetAll(), and Walk().

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ root_

    - -
    -
    -
    -template<typename T>
    - - - - - -
    - - - - -
    Node Trie< T >::root_
    -
    -private
    -
    - -

    Definition at line 18 of file Trie.h.

    - -

    Referenced by Erase(), Find(), GetAll(), Push(), and Trie().

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_trie.js b/docs/class_trie.js deleted file mode 100644 index f45af87..0000000 --- a/docs/class_trie.js +++ /dev/null @@ -1,14 +0,0 @@ -var class_trie = -[ - [ "Node", "class_trie_1_1_node.html", "class_trie_1_1_node" ], - [ "Trie", "class_trie.html#af8a231351d78977f070e94f1850ce9ad", null ], - [ "Contain", "class_trie.html#a2744b10e84471c92ec03a8be7232a28c", null ], - [ "ContainPrefix", "class_trie.html#ae6c561f0202434b3a488b436060c5832", null ], - [ "Erase", "class_trie.html#a317c6fcb5202f78b7c89afd9a40f6aa7", null ], - [ "Find", "class_trie.html#a4c4ebbb18ef1114d31e8a6f17d355778", null ], - [ "Find", "class_trie.html#aa238f7ca666567689d9868eaaedf1e01", null ], - [ "GetAll", "class_trie.html#a2662953bc5ae29a49d5298133f7222bc", null ], - [ "Push", "class_trie.html#a104fc9742f008835573d540fb989eea1", null ], - [ "Walk", "class_trie.html#ab21d47e41ffbd82ee7d84cd917ca3b77", null ], - [ "root_", "class_trie.html#a03d741ca549f30e7f5889ccaa6b083bd", null ] -]; \ No newline at end of file diff --git a/docs/class_trie_1_1_node-members.html b/docs/class_trie_1_1_node-members.html deleted file mode 100644 index a99dc24..0000000 --- a/docs/class_trie_1_1_node-members.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Trie< T >::Node Member List
    -
    -
    - -

    This is the complete list of members for Trie< T >::Node, including all inherited members.

    - - - - -
    child_Trie< T >::Node
    is_end_Trie< T >::Node
    Node()Trie< T >::Node
    -
    -
    - - - - diff --git a/docs/class_trie_1_1_node.html b/docs/class_trie_1_1_node.html deleted file mode 100644 index 37fabde..0000000 --- a/docs/class_trie_1_1_node.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - -Flow: Trie< T >::Node Class Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Trie< T >::Node Class Reference
    -
    -
    - - - -

    -Public Member Functions

     Node ()
    - - - -

    -Public Attributes

    std::map< T, Nodechild_
    bool is_end_
    -

    Detailed Description

    -
    template<typename T>
    -class Trie< T >::Node
    -

    Definition at line 10 of file Trie.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ Node()

    - -
    -
    -
    -template<typename T>
    - - - - - - - -
    Trie< T >::Node::Node ()
    -
    - -

    Definition at line 41 of file Trie.h.

    -
    41: child_(), is_end_(false) {}
    -
    std::map< T, Node > child_
    Definition Trie.h:12
    -
    bool is_end_
    Definition Trie.h:13
    -
    -

    References child_, and is_end_.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ child_

    - -
    -
    -
    -template<typename T>
    - - - - -
    std::map<T, Node> Trie< T >::Node::child_
    -
    - -

    Definition at line 12 of file Trie.h.

    - -

    Referenced by Trie< T >::Erase(), Trie< T >::Find(), Node(), Trie< T >::Push(), and Trie< T >::Walk().

    - -
    -
    - -

    ◆ is_end_

    - -
    -
    -
    -template<typename T>
    - - - - -
    bool Trie< T >::Node::is_end_
    -
    - -

    Definition at line 13 of file Trie.h.

    - -

    Referenced by Trie< T >::Contain(), Trie< T >::Erase(), Node(), and Trie< T >::Push().

    - -
    -
    -
    The documentation for this class was generated from the following file: -
    -
    - -
    - - - - diff --git a/docs/class_trie_1_1_node.js b/docs/class_trie_1_1_node.js deleted file mode 100644 index 9b578de..0000000 --- a/docs/class_trie_1_1_node.js +++ /dev/null @@ -1,6 +0,0 @@ -var class_trie_1_1_node = -[ - [ "Node", "class_trie_1_1_node.html#a70a940cce0f7a9828063f0fc39d8d8a7", null ], - [ "child_", "class_trie_1_1_node.html#a5d6bcd5a59d9ddd60924c8694925cf1b", null ], - [ "is_end_", "class_trie_1_1_node.html#a7a3e7fccbb0c2f098da866a2f4517e57", null ] -]; \ No newline at end of file diff --git a/docs/classes.html b/docs/classes.html index 989c81e..3b2d84f 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -92,53 +92,41 @@
    Class Index
    -
    A | B | C | D | F | G | H | I | L | M | N | P | R | S | T | V
    +
    A | C | D | F | G | H | M | N | P | S | T | V
    A
    -
    ArenaMemoryResource (flow)
    AVLTree
    +
    ArenaMemoryResource (flow)
    -
    B
    -
    BinaryHeap
    BinomialHeap
    -
    C
    ConcurrentFlexQueue (flow)
    ConcurrentQueue (flow)
    CountedValueViewIterator (flow)
    -
    -
    D
    -
    DebugClass (flow)
    DefaultMemoryResource (flow)
    DisjointSet
    VectorGrowthStrategy::DoubleExpand (flow)
    -
    F
    -
    VectorGrowthStrategy::FibonacciExpand (flow)
    BinomialHeap::FlagTree
    +
    D
    +
    DebugClass (flow)
    DefaultMemoryResource (flow)
    VectorGrowthStrategy::DoubleExpand (flow)
    +
    F
    +
    VectorGrowthStrategy::FibonacciExpand (flow)
    +
    G
    VectorGrowthStrategy::GoldenExpand (flow)
    -
    -
    H
    -
    hash< pair< T, T > > (std)
    PoolMemoryResource::Header (flow)
    StackMemoryResource::Header (flow)
    -
    I
    -
    IntegerIterator
    LinkedList::IteratorImpl
    SkipList::IteratorImpl
    +
    H
    +
    PoolMemoryResource::Header (flow)
    StackMemoryResource::Header (flow)
    -
    L
    -
    LinkedList
    -
    M
    MemoryResource (flow)
    -
    -
    N
    -
    AVLTree::Node
    ConcurrentFlexQueue::Node (flow)
    LinkedList::Node
    RandomMeldableHeap::Node
    SkipList::Node
    Trie::Node
    -
    P
    -
    PolymorphicAllocator (flow)
    PoolMemoryResource (flow)
    PSDA
    +
    N
    +
    ConcurrentFlexQueue::Node (flow)
    -
    R
    -
    RandomMeldableHeap
    +
    P
    +
    PolymorphicAllocator (flow)
    PoolMemoryResource (flow)
    S
    -
    SegmentTree
    DisjointSet::Set
    SkipList
    SparseTable
    StackMemoryResource (flow)
    +
    StackMemoryResource (flow)
    T
    -
    Timer (flow)
    SkipList::Tower
    Trie
    Tuple (flow)
    Tuple< T, Ts... > (flow)
    +
    Timer (flow)
    Tuple (flow)
    Tuple< T, Ts... > (flow)
    V
    Vector (flow)
    VectorGrowthStrategy (flow)
    diff --git a/docs/classflow_1_1_memory_resource.html b/docs/classflow_1_1_memory_resource.html index 2b5e1e4..d69903e 100644 --- a/docs/classflow_1_1_memory_resource.html +++ b/docs/classflow_1_1_memory_resource.html @@ -188,8 +188,6 @@

    References allocateImp().

    -

    Referenced by main().

    -

    @@ -265,8 +263,6 @@

    References deallocateImp().

    -

    Referenced by main().

    - diff --git a/docs/classflow_1_1_timer.html b/docs/classflow_1_1_timer.html index 6d3e03c..2afdb8e 100644 --- a/docs/classflow_1_1_timer.html +++ b/docs/classflow_1_1_timer.html @@ -226,8 +226,6 @@

    References timepoints_.

    -

    Referenced by benchmark::benchmarkFlowVector(), benchmark::benchmarkFlowVectorString(), benchmark::benchmarkStdSet(), benchmark::benchmarkStdVector(), and benchmark::benchmarkStdVectorString().

    - @@ -266,8 +264,6 @@

    References begin_, and timepoints_.

    -

    Referenced by benchmark::benchmarkFlowVector(), benchmark::benchmarkFlowVectorString(), benchmark::benchmarkStdSet(), benchmark::benchmarkStdVector(), and benchmark::benchmarkStdVectorString().

    - @@ -353,8 +349,6 @@

    References begin_, and timepoints_.

    -

    Referenced by benchmark::benchmarkFlowVector(), benchmark::benchmarkFlowVectorString(), benchmark::benchmarkStdSet(), benchmark::benchmarkStdVector(), and benchmark::benchmarkStdVectorString().

    -

    Member Data Documentation

    diff --git a/docs/classflow_1_1_vector.html b/docs/classflow_1_1_vector.html index fc82bab..517aba5 100644 --- a/docs/classflow_1_1_vector.html +++ b/docs/classflow_1_1_vector.html @@ -1897,8 +1897,6 @@

    References emplaceBack().

    -

    Referenced by benchmark::benchmarkFlowVector(), and benchmark::benchmarkFlowVectorString().

    - @@ -2061,8 +2059,6 @@

    References capacity(), capacity_, and relocateBuffer().

    -

    Referenced by benchmark::benchmarkFlowVector(), and benchmark::benchmarkFlowVectorString().

    - diff --git a/docs/doxygen_crawl.html b/docs/doxygen_crawl.html index ca8a83a..5d8a3b0 100644 --- a/docs/doxygen_crawl.html +++ b/docs/doxygen_crawl.html @@ -8,322 +8,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -530,33 +215,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -591,67 +249,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -673,35 +278,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -724,8 +300,5 @@ - - - diff --git a/docs/entry_8cpp.html b/docs/entry_8cpp.html deleted file mode 100644 index 3759888..0000000 --- a/docs/entry_8cpp.html +++ /dev/null @@ -1,719 +0,0 @@ - - - - - - - -Flow: entry.cpp File Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    entry.cpp File Reference
    -
    -
    - -

    Go to the source code of this file.

    - - - -

    -Classes

    struct  std::hash< pair< T, T > >
    - - -

    -Namespaces

    namespace  std
    - - - - -

    -Macros

    #define IN_USE
    #define CP_TEMPLATE
    #define USACO(filename)
    - - - - - - - - - - - - - - -

    -Typedefs

    using i8 = std::int8_t
    using i16 = std::int16_t
    using i32 = std::int32_t
    using i64 = std::int64_t
    using u8 = std::uint8_t
    using u16 = std::uint16_t
    using u32 = std::uint32_t
    using u64 = std::uint64_t
    using f32 = float
    using f64 = double
    using pi32 = std::pair<i32, i32>
    using pi64 = std::pair<i64, i64>
    using pu64 = std::pair<u64, u64>
    - - - - - - -

    -Functions

    template<typename T, typename = std::enable_if_t<std::is_unsigned_v<T>>>
    constexpr T popCount (T n)
    template<typename T, typename = std::enable_if_t<std::is_integral_v<T>>>
    constexpr int countDigits (T x)
    int main ()
    - - - - - - - -

    -Variables

    constexpr f64 kPI = 3.1415926535
    constexpr u64 kMod = 1000000007ull
    constexpr i32 kDx [] = { -1, 0, 1, 0 }
    constexpr i32 kDy [] = { 0, 1, 0, -1 }
    constexpr u64 kPrimes []
    const auto _ = std::cin.tie(nullptr)->sync_with_stdio(false)
    -

    Macro Definition Documentation

    - -

    ◆ CP_TEMPLATE

    - -
    -
    - - - - -
    #define CP_TEMPLATE
    -
    - -

    Definition at line 4 of file entry.cpp.

    - -
    -
    - -

    ◆ IN_USE

    - -
    -
    - - - - -
    #define IN_USE
    -
    - -

    Definition at line 1 of file entry.cpp.

    - -
    -
    - -

    ◆ USACO

    - -
    -
    - - - - - - - -
    #define USACO( filename)
    -
    -Value:
    do {freopen(filename".in", "r", stdin); freopen(filename".out", "w", stdout);}while(false)
    -
    -

    Definition at line 140 of file entry.cpp.

    - -
    -
    -

    Typedef Documentation

    - -

    ◆ f32

    - -
    -
    - - - - -
    using f32 = float
    -
    - -

    Definition at line 60 of file entry.cpp.

    - -
    -
    - -

    ◆ f64

    - -
    -
    - - - - -
    using f64 = double
    -
    - -

    Definition at line 61 of file entry.cpp.

    - -
    -
    - -

    ◆ i16

    - -
    -
    - - - - -
    using i16 = std::int16_t
    -
    - -

    Definition at line 53 of file entry.cpp.

    - -
    -
    - -

    ◆ i32

    - -
    -
    - - - - -
    using i32 = std::int32_t
    -
    - -

    Definition at line 54 of file entry.cpp.

    - -
    -
    - -

    ◆ i64

    - -
    -
    - - - - -
    using i64 = std::int64_t
    -
    - -

    Definition at line 55 of file entry.cpp.

    - -
    -
    - -

    ◆ i8

    - -
    -
    - - - - -
    using i8 = std::int8_t
    -
    - -

    Definition at line 52 of file entry.cpp.

    - -
    -
    - -

    ◆ pi32

    - -
    -
    - - - - -
    using pi32 = std::pair<i32, i32>
    -
    - -

    Definition at line 62 of file entry.cpp.

    - -
    -
    - -

    ◆ pi64

    - -
    -
    - - - - -
    using pi64 = std::pair<i64, i64>
    -
    - -

    Definition at line 63 of file entry.cpp.

    - -
    -
    - -

    ◆ pu64

    - -
    -
    - - - - -
    using pu64 = std::pair<u64, u64>
    -
    - -

    Definition at line 64 of file entry.cpp.

    - -
    -
    - -

    ◆ u16

    - -
    -
    - - - - -
    using u16 = std::uint16_t
    -
    - -

    Definition at line 57 of file entry.cpp.

    - -
    -
    - -

    ◆ u32

    - -
    -
    - - - - -
    using u32 = std::uint32_t
    -
    - -

    Definition at line 58 of file entry.cpp.

    - -
    -
    - -

    ◆ u64

    - -
    -
    - - - - -
    using u64 = std::uint64_t
    -
    - -

    Definition at line 59 of file entry.cpp.

    - -
    -
    - -

    ◆ u8

    - -
    -
    - - - - -
    using u8 = std::uint8_t
    -
    - -

    Definition at line 56 of file entry.cpp.

    - -
    -
    -

    Function Documentation

    - -

    ◆ countDigits()

    - -
    -
    -
    -template<typename T, typename = std::enable_if_t<std::is_integral_v<T>>>
    - - - - - -
    - - - - - - - -
    int countDigits (T x)
    -
    -constexpr
    -
    - -

    Definition at line 123 of file entry.cpp.

    -
    123 {
    -
    124 int digits = 1;
    -
    125 for (; x >= T{ 10 }; x /= T{ 10 }) {
    -
    126 ++digits;
    -
    127 }
    -
    128 return digits;
    -
    129}
    -
    -
    -
    - -

    ◆ main()

    - -
    -
    - - - - - - - -
    int main ()
    -
    - -

    Definition at line 149 of file entry.cpp.

    -
    149 {
    -
    150 char buffer[1000];
    -
    151 flow::PoolMemoryResource resource(buffer, 1000, 64);
    -
    152 for (int i = 0; i < 10000000; ++i) {
    -
    153 void* ptr = resource.allocate(10, 4);
    -
    154 resource.deallocate(ptr, 10, 4);
    -
    155 }
    -
    156}
    -
    A pool memory resource that manages fixed-size memory blocks from a pre-allocated buffer....
    -
    -

    References flow::MemoryResource::allocate(), and flow::MemoryResource::deallocate().

    - -
    -
    - -

    ◆ popCount()

    - -
    -
    -
    -template<typename T, typename = std::enable_if_t<std::is_unsigned_v<T>>>
    - - - - - -
    - - - - - - - -
    T popCount (T n)
    -
    -constexpr
    -
    - -

    Definition at line 114 of file entry.cpp.

    -
    114 {
    -
    115#ifdef _HAS_CXX20
    -
    116 return std::popcount(n);
    -
    117#else
    -
    118 return __builtin_popcount(n);
    -
    119#endif
    -
    120}
    -
    -
    -
    -

    Variable Documentation

    - -

    ◆ _

    - -
    -
    - - - - -
    const auto _ = std::cin.tie(nullptr)->sync_with_stdio(false)
    -
    - -

    Definition at line 131 of file entry.cpp.

    - -
    -
    - -

    ◆ kDx

    - -
    -
    - - - - - -
    - - - - -
    i32 kDx[] = { -1, 0, 1, 0 }
    -
    -constexpr
    -
    - -

    Definition at line 68 of file entry.cpp.

    -
    68{ -1, 0, 1, 0 };
    -
    -
    -
    - -

    ◆ kDy

    - -
    -
    - - - - - -
    - - - - -
    i32 kDy[] = { 0, 1, 0, -1 }
    -
    -constexpr
    -
    - -

    Definition at line 69 of file entry.cpp.

    -
    69{ 0, 1, 0, -1 };
    -
    -
    -
    - -

    ◆ kMod

    - -
    -
    - - - - - -
    - - - - -
    u64 kMod = 1000000007ull
    -
    -constexpr
    -
    - -

    Definition at line 67 of file entry.cpp.

    - -
    -
    - -

    ◆ kPI

    - -
    -
    - - - - - -
    - - - - -
    f64 kPI = 3.1415926535
    -
    -constexpr
    -
    - -

    Definition at line 66 of file entry.cpp.

    - -
    -
    - -

    ◆ kPrimes

    - -
    -
    - - - - - -
    - - - - -
    u64 kPrimes[]
    -
    -constexpr
    -
    -Initial value:
    = {
    -
    2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41,
    -
    43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101,
    -
    103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167,
    -
    173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239,
    -
    241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313,
    -
    }
    -
    -

    Definition at line 70 of file entry.cpp.

    -
    70 {
    -
    71 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41,
    -
    72 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101,
    -
    73 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167,
    -
    74 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239,
    -
    75 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313,
    -
    76};
    -
    -
    -
    -
    -
    - -
    - - - - diff --git a/docs/entry_8cpp.js b/docs/entry_8cpp.js deleted file mode 100644 index a3cf54f..0000000 --- a/docs/entry_8cpp.js +++ /dev/null @@ -1,29 +0,0 @@ -var entry_8cpp = -[ - [ "std::hash< pair< T, T > >", "structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html", "structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4" ], - [ "CP_TEMPLATE", "entry_8cpp.html#a43cfe84261f255686df473504c173ef0", null ], - [ "IN_USE", "entry_8cpp.html#ae17a3a2e3545f97a4575a5584d84558e", null ], - [ "USACO", "entry_8cpp.html#a53c0feeffc184aa8c0637ec715223467", null ], - [ "f32", "entry_8cpp.html#ad34d88453d37b65a09797bad37f2f527", null ], - [ "f64", "entry_8cpp.html#abc2f107791bd7c1d49ecf0f168c085a3", null ], - [ "i16", "entry_8cpp.html#aa9061c03e78b5c69a2e90542f956b1b9", null ], - [ "i32", "entry_8cpp.html#aec4a1429cc91fb7ff41599b263c348cc", null ], - [ "i64", "entry_8cpp.html#ae72e52134285dbd83ca4227ec77394a2", null ], - [ "i8", "entry_8cpp.html#a090e14ab721404d80f4404634d5c79cc", null ], - [ "pi32", "entry_8cpp.html#a7f659c0035c3d1439ff60d68ad7692b9", null ], - [ "pi64", "entry_8cpp.html#a6e18372eace65469d9b4c96861b23e08", null ], - [ "pu64", "entry_8cpp.html#af50a13c91da0494684407e754257804d", null ], - [ "u16", "entry_8cpp.html#a917e58b0692c2df778a27350534cbfe7", null ], - [ "u32", "entry_8cpp.html#a65cf28726f89e62ccf2f1354bc2716df", null ], - [ "u64", "entry_8cpp.html#a66e1d499241ccae9a18a20a1f4f0590d", null ], - [ "u8", "entry_8cpp.html#a254d32383658e016368673396e7afc1b", null ], - [ "countDigits", "entry_8cpp.html#a979f40b9b785d8c4f528f3c7aa7f9a32", null ], - [ "main", "entry_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ], - [ "popCount", "entry_8cpp.html#a307ecdbe3be2ca5ba5217f1450d35bde", null ], - [ "_", "entry_8cpp.html#ac09fa47991b07a86112d75ab38c702a2", null ], - [ "kDx", "entry_8cpp.html#a7b694a75ff447e1f9de4c034dd6f6c45", null ], - [ "kDy", "entry_8cpp.html#a72aa87788a81217aa01baec3274ab9ea", null ], - [ "kMod", "entry_8cpp.html#a7bd47470ea83b5e8ffd35364a4cc6089", null ], - [ "kPI", "entry_8cpp.html#a53d416bb2597358966c72d41c768caa8", null ], - [ "kPrimes", "entry_8cpp.html#acffcbd3ff75ad5ede4ed67cfac03e397", null ] -]; \ No newline at end of file diff --git a/docs/entry_8cpp_source.html b/docs/entry_8cpp_source.html deleted file mode 100644 index eebf16a..0000000 --- a/docs/entry_8cpp_source.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - -Flow: entry.cpp Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    entry.cpp
    -
    -
    -Go to the documentation of this file.
    1#define IN_USE
    -
    2#ifdef IN_USE
    -
    3
    -
    4#define CP_TEMPLATE
    -
    5#ifdef CP_TEMPLATE
    -
    6//io
    -
    7#include <cstdint>
    -
    8#include <cstdio>
    -
    9#include <cstdlib>
    -
    10#include <fstream>
    -
    11#include <iomanip>
    -
    12#include <iosfwd>
    -
    13#include <iostream>
    -
    14#include <sstream>
    -
    15
    -
    16//DS && ADT
    -
    17#include <array>
    -
    18#include <bitset>
    -
    19#include <deque>
    -
    20#include <initializer_list>
    -
    21#include <list>
    -
    22#include <map>
    -
    23#include <queue>
    -
    24#include <set>
    -
    25#include <stack>
    -
    26#include <string>
    -
    27#include <tuple>
    -
    28#include <unordered_map>
    -
    29#include <unordered_set>
    -
    30#include <vector>
    -
    31
    -
    32//algorithm && helper
    -
    33#include <algorithm>
    -
    34#include <cassert>
    -
    35#include <cctype>
    -
    36#include <chrono>
    -
    37#include <climits>
    -
    38#include <cmath>
    -
    39#include <iterator>
    -
    40#include <memory>
    -
    41#include <numeric>
    -
    42#include <random>
    -
    43#include <regex>
    -
    44#include <thread>
    -
    45#include <type_traits>
    -
    46#include <utility>
    -
    47#ifdef _HAS_CXX20
    -
    48#include <bit>
    -
    49#endif
    -
    50#include <limits>
    -
    51
    -
    52using i8 = std::int8_t;
    -
    53using i16 = std::int16_t;
    -
    54using i32 = std::int32_t;
    -
    55using i64 = std::int64_t;
    -
    56using u8 = std::uint8_t;
    -
    57using u16 = std::uint16_t;
    -
    58using u32 = std::uint32_t;
    -
    59using u64 = std::uint64_t;
    -
    60using f32 = float;
    -
    61using f64 = double;
    -
    62using pi32 = std::pair<i32, i32>;
    -
    63using pi64 = std::pair<i64, i64>;
    -
    64using pu64 = std::pair<u64, u64>;
    -
    65
    -
    66constexpr f64 kPI = 3.1415926535;
    -
    67constexpr u64 kMod = 1000000007ull;
    -
    68constexpr i32 kDx[] = { -1, 0, 1, 0 };
    -
    69constexpr i32 kDy[] = { 0, 1, 0, -1 };
    -
    -
    70constexpr u64 kPrimes[] = {
    -
    71 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41,
    -
    72 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101,
    -
    73 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167,
    -
    74 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239,
    -
    75 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313,
    -
    76};
    -
    -
    77
    -
    -
    78namespace std {
    -
    79 template<typename T>
    -
    -
    80 struct hash<pair<T, T>> {
    -
    81 typename std::enable_if_t<std::is_same_v<T, int> || std::is_same_v<T, i32> || std::is_same_v<T, u32>, std::size_t>
    -
    -
    82 operator()(const pair<T, T>& p) const {
    -
    83 return std::hash<T>{}(p.first) ^ (std::hash<T>{}(p.second) << 1);
    -
    84 }
    -
    -
    85 };
    -
    -
    86}
    -
    -
    87
    -
    88#if defined _WIN32 || defined _WIN64
    -
    89template <
    -
    90 typename T,
    -
    91 typename = std::enable_if_t<!std::is_same_v<T, std::string>>,
    -
    92 typename = std::enable_if_t<std::is_base_of_v<std::input_iterator_tag, typename std::iterator_traits<typename T::iterator>::iterator_category>>
    -
    93>
    -
    94std::ostream& operator<<(std::ostream& out, const T& vec) {
    -
    95 auto it = vec.begin();
    -
    96 if (it == vec.end()) {
    -
    97 return out;
    -
    98 }
    -
    99 out << *it;
    -
    100 while (++it != vec.end()) {
    -
    101 out << ' ' << *it;
    -
    102 }
    -
    103 return out;
    -
    104}
    -
    105
    -
    106template <typename T, typename U>
    -
    107std::ostream& operator<<(std::ostream& out, const std::pair<T, U>& vec) {
    -
    108 out << '(' << vec.first << ' ' << vec.second << ')';
    -
    109 return out;
    -
    110}
    -
    111#endif
    -
    112
    -
    113template <typename T, typename = std::enable_if_t<std::is_unsigned_v<T>>>
    -
    -
    114constexpr T popCount(T n) {
    -
    115#ifdef _HAS_CXX20
    -
    116 return std::popcount(n);
    -
    117#else
    -
    118 return __builtin_popcount(n);
    -
    119#endif
    -
    120}
    -
    -
    121
    -
    122template <typename T, typename = std::enable_if_t<std::is_integral_v<T>>>
    -
    -
    123constexpr int countDigits(T x) {
    -
    124 int digits = 1;
    -
    125 for (; x >= T{ 10 }; x /= T{ 10 }) {
    -
    126 ++digits;
    -
    127 }
    -
    128 return digits;
    -
    129}
    -
    -
    130
    -
    131const auto _ = std::cin.tie(nullptr)->sync_with_stdio(false);
    -
    132
    -
    133#ifdef LC_HACK
    -
    134const auto __ = std::atexit([]() { std::ofstream("display_runtime.txt") << INT_MAX << '\n'; });
    -
    135#endif
    -
    136
    -
    137#if defined _WIN32 || defined _WIN64
    -
    138#define USACO(filename) 0
    -
    139#else
    -
    140#define USACO(filename) do {freopen(filename".in", "r", stdin); freopen(filename".out", "w", stdout);}while(false)
    -
    141#endif
    -
    142
    -
    143#endif
    -
    144
    -
    145using namespace std;
    -
    146
    - -
    148
    -
    -
    149int main() {
    -
    150 char buffer[1000];
    -
    151 flow::PoolMemoryResource resource(buffer, 1000, 64);
    -
    152 for (int i = 0; i < 10000000; ++i) {
    -
    153 void* ptr = resource.allocate(10, 4);
    -
    154 resource.deallocate(ptr, 10, 4);
    -
    155 }
    -
    156}
    -
    -
    157
    -
    158/*
    -
    159priority queue is a max heap
    -
    160sort the data to find the pattern
    -
    161vec.size() - 1 may underflow
    -
    162*/
    -
    163
    -
    164#endif
    -
    void * allocate(std::size_t bytes, std::size_t alignment=alignof(std::max_align_t))
    -
    void deallocate(void *address, std::size_t bytes, std::size_t alignment=alignof(std::max_align_t))
    -
    A pool memory resource that manages fixed-size memory blocks from a pre-allocated buffer....
    -
    std::int8_t i8
    Definition entry.cpp:52
    -
    std::uint8_t u8
    Definition entry.cpp:56
    -
    constexpr T popCount(T n)
    Definition entry.cpp:114
    -
    constexpr f64 kPI
    Definition entry.cpp:66
    -
    std::uint32_t u32
    Definition entry.cpp:58
    -
    std::uint64_t u64
    Definition entry.cpp:59
    -
    std::pair< i64, i64 > pi64
    Definition entry.cpp:63
    -
    constexpr i32 kDy[]
    Definition entry.cpp:69
    -
    constexpr i32 kDx[]
    Definition entry.cpp:68
    -
    constexpr u64 kMod
    Definition entry.cpp:67
    -
    std::pair< i32, i32 > pi32
    Definition entry.cpp:62
    -
    std::uint16_t u16
    Definition entry.cpp:57
    -
    constexpr int countDigits(T x)
    Definition entry.cpp:123
    -
    std::int16_t i16
    Definition entry.cpp:53
    -
    double f64
    Definition entry.cpp:61
    -
    const auto _
    Definition entry.cpp:131
    -
    constexpr u64 kPrimes[]
    Definition entry.cpp:70
    -
    float f32
    Definition entry.cpp:60
    -
    int main()
    Definition entry.cpp:149
    -
    std::int64_t i64
    Definition entry.cpp:55
    -
    std::int32_t i32
    Definition entry.cpp:54
    -
    std::pair< u64, u64 > pu64
    Definition entry.cpp:64
    - -
    Definition entry.cpp:78
    -
    std::enable_if_t< std::is_same_v< T, int >||std::is_same_v< T, i32 >||std::is_same_v< T, u32 >, std::size_t > operator()(const pair< T, T > &p) const
    Definition entry.cpp:82
    -
    -
    -
    - - - - diff --git a/docs/files.html b/docs/files.html index 2918cc5..0e08b18 100644 --- a/docs/files.html +++ b/docs/files.html @@ -94,35 +94,21 @@ diff --git a/docs/files_dup.js b/docs/files_dup.js index 7b31247..b4165a4 100644 --- a/docs/files_dup.js +++ b/docs/files_dup.js @@ -1,11 +1,5 @@ var files_dup = [ - [ "AVLTree.h", "_a_v_l_tree_8h.html", "_a_v_l_tree_8h" ], - [ "benchmark.h", "benchmark_8h.html", "benchmark_8h" ], - [ "BinaryHeap.h", "_binary_heap_8h.html", "_binary_heap_8h" ], - [ "BinomialHeap.h", "_binomial_heap_8h.html", "_binomial_heap_8h" ], - [ "DisjointSet.h", "_disjoint_set_8h.html", "_disjoint_set_8h" ], - [ "entry.cpp", "entry_8cpp.html", "entry_8cpp" ], [ "flow_arena_memory_resource.h", "flow__arena__memory__resource_8h.html", "flow__arena__memory__resource_8h" ], [ "flow_concurrent_flex_queue.h", "flow__concurrent__flex__queue_8h.html", "flow__concurrent__flex__queue_8h" ], [ "flow_concurrent_queue.h", "flow__concurrent__queue_8h.html", "flow__concurrent__queue_8h" ], @@ -20,13 +14,5 @@ var files_dup = [ "flow_stack_memory_resource.h", "flow__stack__memory__resource_8h.html", "flow__stack__memory__resource_8h" ], [ "flow_timer.h", "flow__timer_8h.html", "flow__timer_8h" ], [ "flow_tuple.h", "flow__tuple_8h.html", "flow__tuple_8h" ], - [ "flow_vector.h", "flow__vector_8h.html", "flow__vector_8h" ], - [ "IntegerIterator.h", "_integer_iterator_8h.html", "_integer_iterator_8h" ], - [ "LinkedList.h", "_linked_list_8h.html", "_linked_list_8h" ], - [ "PSDA.h", "_p_s_d_a_8h.html", "_p_s_d_a_8h" ], - [ "RandomMeldableHeap.h", "_random_meldable_heap_8h.html", "_random_meldable_heap_8h" ], - [ "SegmentTree.h", "_segment_tree_8h.html", "_segment_tree_8h" ], - [ "SkipList.h", "_skip_list_8h.html", "_skip_list_8h" ], - [ "SparseTable.h", "_sparse_table_8h.html", "_sparse_table_8h" ], - [ "Trie.h", "_trie_8h.html", "_trie_8h" ] + [ "flow_vector.h", "flow__vector_8h.html", "flow__vector_8h" ] ]; \ No newline at end of file diff --git a/docs/flow__concurrent__flex__queue_8h_source.html b/docs/flow__concurrent__flex__queue_8h_source.html index 709e5fe..ebc4d58 100644 --- a/docs/flow__concurrent__flex__queue_8h_source.html +++ b/docs/flow__concurrent__flex__queue_8h_source.html @@ -119,7 +119,7 @@
    22 public:
    -
    24 : head_(std::make_unique<Node>()), tail_(head_.get()) {
    +
    24 : head_(std::make_unique<Node>()), tail_(head_.get()) {
    25 }
    26
    @@ -218,7 +218,6 @@ -
    Definition entry.cpp:78
    diff --git a/docs/flow__debug__memory_8h_source.html b/docs/flow__debug__memory_8h_source.html index 110e5bd..26ff373 100644 --- a/docs/flow__debug__memory_8h_source.html +++ b/docs/flow__debug__memory_8h_source.html @@ -121,7 +121,7 @@
    32 public:
    -
    34 : copyCounter_(std::make_shared<std::size_t>(0)),
    +
    34 : copyCounter_(std::make_shared<std::size_t>(0)),
    35 copies_(0),
    36 id_(globalId++) {
    37 std::cout << std::format("default_ctor id {}, copies {}\n", id_, copies_);
    @@ -196,7 +196,6 @@
    std::shared_ptr< std::size_t > copyCounter_
    void enableMemoryGuard()
    Enable MSVC native memory leak checker in debug mode. Not compatible with the address sanitizer.
    -
    Definition entry.cpp:78
    diff --git a/docs/flow__tuple_8h_source.html b/docs/flow__tuple_8h_source.html index 3b20d3d..7b673c6 100644 --- a/docs/flow__tuple_8h_source.html +++ b/docs/flow__tuple_8h_source.html @@ -123,7 +123,7 @@
    22 template <typename Arg1, typename ...Args2>
    23 explicit constexpr Tuple(Arg1&& value, Args2&&... values)
    -
    24 : BaseType(std::forward<Args2>(values)...), value_(std::forward<Arg1>(value)) {
    +
    24 : BaseType(std::forward<Args2>(values)...), value_(std::forward<Arg1>(value)) {
    25 }
    26
    @@ -224,7 +224,6 @@
    constexpr std::size_t size() const
    Definition flow_tuple.h:7
    Tuple(T &&, Ts &&...) -> Tuple< T, Ts... >
    -
    Definition entry.cpp:78
    diff --git a/docs/flow__vector_8h_source.html b/docs/flow__vector_8h_source.html index af28940..47ac61f 100644 --- a/docs/flow__vector_8h_source.html +++ b/docs/flow__vector_8h_source.html @@ -292,7 +292,7 @@
    160 explicit constexpr Vector(It first, It last, const allocator_type& allocator = {})
    161 : allocator_(allocator),
    -
    163 size_(std::distance(first, last)),
    +
    163 size_(std::distance(first, last)),
    @@ -808,7 +808,6 @@
    OutputIt uninitializedForward(AllocatorType &allocator, InputIt first, InputIt last, OutputIt dest)
    Forward elements from a source range to uninitialized memory.
    void deleteBuffer(AllocatorType &allocator, T *buffer, std::size_t size, std::size_t capacity) noexcept
    Destroys and deallocates the buffer, where size is the number of constructed elements and capacity is...
    OutputIt uninitializedEmplaceN(AllocatorType &allocator, OutputIt first, std::size_t count, const Args &... args)
    Constructs a specified number of objects in uninitialized memory by forwarding arguments to their con...
    -
    Definition entry.cpp:78
    std::size_t operator()(std::size_t oldCapacity) const
    Definition flow_vector.h:26
    diff --git a/docs/functions.html b/docs/functions.html index e44786a..fbf4826 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -91,19 +91,190 @@
    Here is a list of all class members with links to the classes they belong to:
    -

    - _ -

    diff --git a/docs/functions_a.html b/docs/functions_a.html deleted file mode 100644 index cdb0b0d..0000000 --- a/docs/functions_a.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - a -

    -
    -
    -
    - - - - diff --git a/docs/functions_b.html b/docs/functions_b.html deleted file mode 100644 index eb37793..0000000 --- a/docs/functions_b.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - - -
    -
    - - - - diff --git a/docs/functions_c.html b/docs/functions_c.html deleted file mode 100644 index a8bf73e..0000000 --- a/docs/functions_c.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - c -

    -
    -
    -
    - - - - diff --git a/docs/functions_d.html b/docs/functions_d.html deleted file mode 100644 index cb40df0..0000000 --- a/docs/functions_d.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - d -

    -
    -
    -
    - - - - diff --git a/docs/functions_dup.js b/docs/functions_dup.js deleted file mode 100644 index b0df751..0000000 --- a/docs/functions_dup.js +++ /dev/null @@ -1,27 +0,0 @@ -var functions_dup = -[ - [ "_", "functions.html", null ], - [ "a", "functions_a.html", null ], - [ "b", "functions_b.html", null ], - [ "c", "functions_c.html", null ], - [ "d", "functions_d.html", null ], - [ "e", "functions_e.html", null ], - [ "f", "functions_f.html", null ], - [ "g", "functions_g.html", null ], - [ "h", "functions_h.html", null ], - [ "i", "functions_i.html", null ], - [ "k", "functions_k.html", null ], - [ "l", "functions_l.html", null ], - [ "m", "functions_m.html", null ], - [ "n", "functions_n.html", null ], - [ "o", "functions_o.html", null ], - [ "p", "functions_p.html", null ], - [ "q", "functions_q.html", null ], - [ "r", "functions_r.html", null ], - [ "s", "functions_s.html", null ], - [ "t", "functions_t.html", null ], - [ "u", "functions_u.html", null ], - [ "v", "functions_v.html", null ], - [ "w", "functions_w.html", null ], - [ "~", "functions_~.html", null ] -]; \ No newline at end of file diff --git a/docs/functions_e.html b/docs/functions_e.html deleted file mode 100644 index 10fc73a..0000000 --- a/docs/functions_e.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - - - - - - diff --git a/docs/functions_f.html b/docs/functions_f.html deleted file mode 100644 index dca2d0f..0000000 --- a/docs/functions_f.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - f -

    -
    -
    -
    - - - - diff --git a/docs/functions_func.html b/docs/functions_func.html index dba8a0d..626c997 100644 --- a/docs/functions_func.html +++ b/docs/functions_func.html @@ -95,7 +95,124 @@

    - a -

    + + +

    - b -

    + + +

    - c -

    + + +

    - d -

    + + +

    - e -

    + + +

    - f -

    + + +

    - g -

    + + +

    - i -

    + + +

    - o -

    + + +

    - p -

    + + +

    - r -

    + + +

    - s -

    + + +

    - t -

    + + +

    - u -

    + + +

    - v -

    + + +

    - w -

    + + +

    - ~ -

    diff --git a/docs/functions_func.js b/docs/functions_func.js deleted file mode 100644 index 40eedee..0000000 --- a/docs/functions_func.js +++ /dev/null @@ -1,25 +0,0 @@ -var functions_func = -[ - [ "a", "functions_func.html", null ], - [ "b", "functions_func_b.html", null ], - [ "c", "functions_func_c.html", null ], - [ "d", "functions_func_d.html", null ], - [ "e", "functions_func_e.html", null ], - [ "f", "functions_func_f.html", null ], - [ "g", "functions_func_g.html", null ], - [ "i", "functions_func_i.html", null ], - [ "k", "functions_func_k.html", null ], - [ "l", "functions_func_l.html", null ], - [ "m", "functions_func_m.html", null ], - [ "n", "functions_func_n.html", null ], - [ "o", "functions_func_o.html", null ], - [ "p", "functions_func_p.html", null ], - [ "q", "functions_func_q.html", null ], - [ "r", "functions_func_r.html", null ], - [ "s", "functions_func_s.html", null ], - [ "t", "functions_func_t.html", null ], - [ "u", "functions_func_u.html", null ], - [ "v", "functions_func_v.html", null ], - [ "w", "functions_func_w.html", null ], - [ "~", "functions_func_~.html", null ] -]; \ No newline at end of file diff --git a/docs/functions_func_b.html b/docs/functions_func_b.html deleted file mode 100644 index 7ca65bc..0000000 --- a/docs/functions_func_b.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - b -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_c.html b/docs/functions_func_c.html deleted file mode 100644 index 84ca868..0000000 --- a/docs/functions_func_c.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - c -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_d.html b/docs/functions_func_d.html deleted file mode 100644 index ad486f2..0000000 --- a/docs/functions_func_d.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - d -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_e.html b/docs/functions_func_e.html deleted file mode 100644 index f34422f..0000000 --- a/docs/functions_func_e.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - - - - - - diff --git a/docs/functions_func_f.html b/docs/functions_func_f.html deleted file mode 100644 index 9d4fa21..0000000 --- a/docs/functions_func_f.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - f -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_g.html b/docs/functions_func_g.html deleted file mode 100644 index b2edc80..0000000 --- a/docs/functions_func_g.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - g -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_i.html b/docs/functions_func_i.html deleted file mode 100644 index 1b6ac75..0000000 --- a/docs/functions_func_i.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - i -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_k.html b/docs/functions_func_k.html deleted file mode 100644 index ab32dc2..0000000 --- a/docs/functions_func_k.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - k -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_l.html b/docs/functions_func_l.html deleted file mode 100644 index 5af86f7..0000000 --- a/docs/functions_func_l.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - l -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_m.html b/docs/functions_func_m.html deleted file mode 100644 index 7e0564b..0000000 --- a/docs/functions_func_m.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - m -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_n.html b/docs/functions_func_n.html deleted file mode 100644 index 1b4101f..0000000 --- a/docs/functions_func_n.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - n -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_o.html b/docs/functions_func_o.html deleted file mode 100644 index cd14724..0000000 --- a/docs/functions_func_o.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - o -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_p.html b/docs/functions_func_p.html deleted file mode 100644 index 5ea52f8..0000000 --- a/docs/functions_func_p.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - - - - - - diff --git a/docs/functions_func_q.html b/docs/functions_func_q.html deleted file mode 100644 index 99ea400..0000000 --- a/docs/functions_func_q.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - q -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_r.html b/docs/functions_func_r.html deleted file mode 100644 index 968d859..0000000 --- a/docs/functions_func_r.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - r -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_s.html b/docs/functions_func_s.html deleted file mode 100644 index 9c621f9..0000000 --- a/docs/functions_func_s.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - - -
    -
    - - - - diff --git a/docs/functions_func_t.html b/docs/functions_func_t.html deleted file mode 100644 index c5f8c96..0000000 --- a/docs/functions_func_t.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - - -
    -
    - - - - diff --git a/docs/functions_func_u.html b/docs/functions_func_u.html deleted file mode 100644 index e91511f..0000000 --- a/docs/functions_func_u.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - u -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_v.html b/docs/functions_func_v.html deleted file mode 100644 index 3e70d04..0000000 --- a/docs/functions_func_v.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - v -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_w.html b/docs/functions_func_w.html deleted file mode 100644 index 3d2a4a9..0000000 --- a/docs/functions_func_w.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - w -

    -
    -
    -
    - - - - diff --git a/docs/functions_func_~.html b/docs/functions_func_~.html deleted file mode 100644 index 34083a8..0000000 --- a/docs/functions_func_~.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Flow: Class Members - Functions - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all functions with links to the classes they belong to:
    - -

    - ~ -

    -
    -
    -
    - - - - diff --git a/docs/functions_g.html b/docs/functions_g.html deleted file mode 100644 index 3c9bc15..0000000 --- a/docs/functions_g.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - g -

    -
    -
    -
    - - - - diff --git a/docs/functions_h.html b/docs/functions_h.html deleted file mode 100644 index 8379ba2..0000000 --- a/docs/functions_h.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - h -

    -
    -
    -
    - - - - diff --git a/docs/functions_i.html b/docs/functions_i.html deleted file mode 100644 index e1338b5..0000000 --- a/docs/functions_i.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - i -

    -
    -
    -
    - - - - diff --git a/docs/functions_k.html b/docs/functions_k.html deleted file mode 100644 index cddd808..0000000 --- a/docs/functions_k.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - k -

    -
    -
    -
    - - - - diff --git a/docs/functions_l.html b/docs/functions_l.html deleted file mode 100644 index 7da713c..0000000 --- a/docs/functions_l.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - l -

    -
    -
    -
    - - - - diff --git a/docs/functions_m.html b/docs/functions_m.html deleted file mode 100644 index f3ea568..0000000 --- a/docs/functions_m.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - m -

    -
    -
    -
    - - - - diff --git a/docs/functions_n.html b/docs/functions_n.html deleted file mode 100644 index 965b3d9..0000000 --- a/docs/functions_n.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - - -
    -
    - - - - diff --git a/docs/functions_o.html b/docs/functions_o.html deleted file mode 100644 index bcad040..0000000 --- a/docs/functions_o.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - o -

    -
    -
    -
    - - - - diff --git a/docs/functions_p.html b/docs/functions_p.html deleted file mode 100644 index 5d75b8c..0000000 --- a/docs/functions_p.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - - - - - - diff --git a/docs/functions_q.html b/docs/functions_q.html deleted file mode 100644 index a7d6120..0000000 --- a/docs/functions_q.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - q -

    -
    -
    -
    - - - - diff --git a/docs/functions_r.html b/docs/functions_r.html deleted file mode 100644 index ae26c98..0000000 --- a/docs/functions_r.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - r -

    -
    -
    -
    - - - - diff --git a/docs/functions_rela.html b/docs/functions_rela.html index 5af29db..ecc3c88 100644 --- a/docs/functions_rela.html +++ b/docs/functions_rela.html @@ -90,15 +90,11 @@ diff --git a/docs/functions_s.html b/docs/functions_s.html deleted file mode 100644 index 24e333b..0000000 --- a/docs/functions_s.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - - - - - - diff --git a/docs/functions_t.html b/docs/functions_t.html deleted file mode 100644 index 4b56344..0000000 --- a/docs/functions_t.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - - -
    -
    - - - - diff --git a/docs/functions_type.html b/docs/functions_type.html index 4a902aa..7c3ef2d 100644 --- a/docs/functions_type.html +++ b/docs/functions_type.html @@ -96,17 +96,14 @@
  • const_iterator : flow::Vector< T, Allocator, Strategy >
  • const_pointer : flow::Vector< T, Allocator, Strategy >
  • const_reference : flow::Vector< T, Allocator, Strategy >
  • -
  • ConstIterator : LinkedList< T >, SkipList< KeyType, ValueType, Predicate >
  • -
  • difference_type : flow::CountedValueViewIterator< T >, flow::Vector< T, Allocator, Strategy >, IntegerIterator< T >
  • -
  • Iterator : LinkedList< T >, SkipList< KeyType, ValueType, Predicate >
  • +
  • difference_type : flow::CountedValueViewIterator< T >, flow::Vector< T, Allocator, Strategy >
  • iterator : flow::Vector< T, Allocator, Strategy >
  • -
  • iterator_category : flow::CountedValueViewIterator< T >, IntegerIterator< T >
  • -
  • KeyValueType : SkipList< KeyType, ValueType, Predicate >
  • -
  • pointer : flow::CountedValueViewIterator< T >, flow::Vector< T, Allocator, Strategy >, IntegerIterator< T >
  • -
  • reference : flow::CountedValueViewIterator< T >, flow::Vector< T, Allocator, Strategy >, IntegerIterator< T >
  • +
  • iterator_category : flow::CountedValueViewIterator< T >
  • +
  • pointer : flow::CountedValueViewIterator< T >, flow::Vector< T, Allocator, Strategy >
  • +
  • reference : flow::CountedValueViewIterator< T >, flow::Vector< T, Allocator, Strategy >
  • size_type : flow::Vector< T, Allocator, Strategy >
  • TimePoint : flow::Timer< ClockType >
  • -
  • value_type : flow::CountedValueViewIterator< T >, flow::PolymorphicAllocator< T >, flow::Vector< T, Allocator, Strategy >, IntegerIterator< T >
  • +
  • value_type : flow::CountedValueViewIterator< T >, flow::PolymorphicAllocator< T >, flow::Vector< T, Allocator, Strategy >
  • diff --git a/docs/functions_u.html b/docs/functions_u.html deleted file mode 100644 index 98221c2..0000000 --- a/docs/functions_u.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all class members with links to the classes they belong to:
    - -

    - u -

    -
    -
    -
    - - - - diff --git a/docs/functions_v.html b/docs/functions_v.html deleted file mode 100644 index 2472e84..0000000 --- a/docs/functions_v.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Flow: Class Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - - -
    -
    - - - - diff --git a/docs/functions_vars.html b/docs/functions_vars.html index 1d6e90e..ded737b 100644 --- a/docs/functions_vars.html +++ b/docs/functions_vars.html @@ -91,29 +91,12 @@
    Here is a list of all variables with links to the classes they belong to:
    -

    - _ -

    - -

    - a -

    - b -

    -
    Here is a list of all file members with links to the files they belong to:
    - -

    - _ -

    - - -

    - c -

    - - -

    - f -

    - - -

    - i -

    - - -

    - k -

    - - -

    - m -

    - - -

    - o -

    diff --git a/docs/globals_defs.html b/docs/globals_defs.html deleted file mode 100644 index 46f0962..0000000 --- a/docs/globals_defs.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - -Flow: File Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all macros with links to the files they belong to:
    -
    -
    -
    - - - - diff --git a/docs/globals_func.html b/docs/globals_func.html index 3ae264a..11c15a6 100644 --- a/docs/globals_func.html +++ b/docs/globals_func.html @@ -90,18 +90,8 @@
    Here is a list of all functions with links to the files they belong to:
    diff --git a/docs/globals_type.html b/docs/globals_type.html deleted file mode 100644 index 7dfa9b4..0000000 --- a/docs/globals_type.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Flow: File Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all typedefs with links to the files they belong to:
    -
    -
    -
    - - - - diff --git a/docs/globals_vars.html b/docs/globals_vars.html deleted file mode 100644 index 7a728ea..0000000 --- a/docs/globals_vars.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Flow: File Members - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Here is a list of all variables with links to the files they belong to:
    -
    -
    -
    - - - - diff --git a/docs/hierarchy.html b/docs/hierarchy.html index 38d1688..7d842b9 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -94,51 +94,28 @@
    This inheritance list is sorted roughly, but not completely, alphabetically:
    [detail level 12]
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +
     CAVLTree< T >
     CBinaryHeap< T, Predicate >
     CBinomialHeap< T, Predicate >
     Cflow::ConcurrentFlexQueue< T >
     Cflow::ConcurrentQueue< T, Container >
     Cflow::CountedValueViewIterator< T >Iterator that returns a constant value for a fixed number of times. Useful for creating a virtual range of repeated values without storage
     Cflow::DebugClassDebug class that tracks object's copy/move opeartions. Note that some of the operations may get optimized away with optimization on
     CDisjointSet< T >
     Cflow::VectorGrowthStrategy::DoubleExpand
     Cflow::VectorGrowthStrategy::FibonacciExpand
     CBinomialHeap< T, Predicate >::FlagTree
     Cflow::VectorGrowthStrategy::GoldenExpand
     Cstd::hash< pair< T, T > >
     Cflow::PoolMemoryResource::Header
     Cflow::StackMemoryResource::Header
     CIntegerIterator< T >
     CLinkedList< T >::IteratorImpl< ReturnType >
     CSkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >
     CLinkedList< T >
     Cflow::MemoryResourceA memory resource holder interface for the PolymorphicAllocator. Responsible for allocate and deallocate raw memory
     Cflow::ArenaMemoryResourceA linear arena memory resource that allocates memory sequentially from a fixed buffer. Throws std::bad_alloc if there is insufficient space for the requested allocation
     Cflow::DefaultMemoryResourceA default memory resource that wraps global ::operator new and ::operator delete
     Cflow::PoolMemoryResourceA pool memory resource that manages fixed-size memory blocks from a pre-allocated buffer. The allocation size must be less or equal to the block size. The allocation alignment must be less or equal to the block alignment. Throws std::bad_alloc if the constraint is not met or run out of memory
     Cflow::StackMemoryResourceA stack-based memory resource that allocates memory in a LIFO order from a fixed buffer. Deallocation must happen in reverse order of allocation. Throws std::bad_alloc if there is insufficient space for an allocation
     CAVLTree< T >::Node
     Cflow::ConcurrentFlexQueue< T >::Node
     CLinkedList< T >::Node
     CRandomMeldableHeap< T, Predicate >::Node
     CSkipList< KeyType, ValueType, Predicate >::Node
     CTrie< T >::Node
     Cflow::PolymorphicAllocator< T >A polymorphic allocator that wraps around a non-owning memory resource. Memory allocation strategy is decided by memory resource's implementation
     CPSDA< T >
     CRandomMeldableHeap< T, Predicate >
     CSegmentTree< T, BinOp >
     CDisjointSet< T >::Set
     CSkipList< KeyType, ValueType, Predicate >
     CSparseTable< T, BinOp >
     Cflow::Timer< ClockType >A simple timer to record timelapses. Uses chrono::steady_clock by default
     CSkipList< KeyType, ValueType, Predicate >::Tower
     CTrie< T >
     Cflow::Tuple< Ts >
     Cflow::Tuple< Ts... >
     Cflow::Tuple< T, Ts... >
     Cflow::Vector< T, Allocator, Strategy >
     Cflow::VectorGrowthStrategy
     Cflow::ConcurrentFlexQueue< T >
     Cflow::ConcurrentQueue< T, Container >
     Cflow::CountedValueViewIterator< T >Iterator that returns a constant value for a fixed number of times. Useful for creating a virtual range of repeated values without storage
     Cflow::DebugClassDebug class that tracks object's copy/move opeartions. Note that some of the operations may get optimized away with optimization on
     Cflow::VectorGrowthStrategy::DoubleExpand
     Cflow::VectorGrowthStrategy::FibonacciExpand
     Cflow::VectorGrowthStrategy::GoldenExpand
     Cflow::PoolMemoryResource::Header
     Cflow::StackMemoryResource::Header
     Cflow::MemoryResourceA memory resource holder interface for the PolymorphicAllocator. Responsible for allocate and deallocate raw memory
     Cflow::ArenaMemoryResourceA linear arena memory resource that allocates memory sequentially from a fixed buffer. Throws std::bad_alloc if there is insufficient space for the requested allocation
     Cflow::DefaultMemoryResourceA default memory resource that wraps global ::operator new and ::operator delete
     Cflow::PoolMemoryResourceA pool memory resource that manages fixed-size memory blocks from a pre-allocated buffer. The allocation size must be less or equal to the block size. The allocation alignment must be less or equal to the block alignment. Throws std::bad_alloc if the constraint is not met or run out of memory
     Cflow::StackMemoryResourceA stack-based memory resource that allocates memory in a LIFO order from a fixed buffer. Deallocation must happen in reverse order of allocation. Throws std::bad_alloc if there is insufficient space for an allocation
     Cflow::ConcurrentFlexQueue< T >::Node
     Cflow::PolymorphicAllocator< T >A polymorphic allocator that wraps around a non-owning memory resource. Memory allocation strategy is decided by memory resource's implementation
     Cflow::Timer< ClockType >A simple timer to record timelapses. Uses chrono::steady_clock by default
     Cflow::Tuple< Ts >
     Cflow::Tuple< Ts... >
     Cflow::Tuple< T, Ts... >
     Cflow::Vector< T, Allocator, Strategy >
     Cflow::VectorGrowthStrategy
    diff --git a/docs/hierarchy.js b/docs/hierarchy.js index f2eccc0..b7e3e85 100644 --- a/docs/hierarchy.js +++ b/docs/hierarchy.js @@ -1,46 +1,23 @@ var hierarchy = [ - [ "AVLTree< T >", "class_a_v_l_tree.html", null ], - [ "BinaryHeap< T, Predicate >", "class_binary_heap.html", null ], - [ "BinomialHeap< T, Predicate >", "class_binomial_heap.html", null ], [ "flow::ConcurrentFlexQueue< T >", "classflow_1_1_concurrent_flex_queue.html", null ], [ "flow::ConcurrentQueue< T, Container >", "classflow_1_1_concurrent_queue.html", null ], [ "flow::CountedValueViewIterator< T >", "classflow_1_1_counted_value_view_iterator.html", null ], [ "flow::DebugClass", "classflow_1_1_debug_class.html", null ], - [ "DisjointSet< T >", "class_disjoint_set.html", null ], [ "flow::VectorGrowthStrategy::DoubleExpand", "structflow_1_1_vector_growth_strategy_1_1_double_expand.html", null ], [ "flow::VectorGrowthStrategy::FibonacciExpand", "structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html", null ], - [ "BinomialHeap< T, Predicate >::FlagTree", "class_binomial_heap_1_1_flag_tree.html", null ], [ "flow::VectorGrowthStrategy::GoldenExpand", "structflow_1_1_vector_growth_strategy_1_1_golden_expand.html", null ], - [ "std::hash< pair< T, T > >", "structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html", null ], [ "flow::PoolMemoryResource::Header", "structflow_1_1_pool_memory_resource_1_1_header.html", null ], [ "flow::StackMemoryResource::Header", "structflow_1_1_stack_memory_resource_1_1_header.html", null ], - [ "IntegerIterator< T >", "class_integer_iterator.html", null ], - [ "LinkedList< T >::IteratorImpl< ReturnType >", "class_linked_list_1_1_iterator_impl.html", null ], - [ "SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >", "class_skip_list_1_1_iterator_impl.html", null ], - [ "LinkedList< T >", "class_linked_list.html", null ], [ "flow::MemoryResource", "classflow_1_1_memory_resource.html", [ [ "flow::ArenaMemoryResource", "classflow_1_1_arena_memory_resource.html", null ], [ "flow::DefaultMemoryResource", "classflow_1_1_default_memory_resource.html", null ], [ "flow::PoolMemoryResource", "classflow_1_1_pool_memory_resource.html", null ], [ "flow::StackMemoryResource", "classflow_1_1_stack_memory_resource.html", null ] ] ], - [ "AVLTree< T >::Node", "class_a_v_l_tree_1_1_node.html", null ], [ "flow::ConcurrentFlexQueue< T >::Node", "structflow_1_1_concurrent_flex_queue_1_1_node.html", null ], - [ "LinkedList< T >::Node", "class_linked_list_1_1_node.html", null ], - [ "RandomMeldableHeap< T, Predicate >::Node", "struct_random_meldable_heap_1_1_node.html", null ], - [ "SkipList< KeyType, ValueType, Predicate >::Node", "struct_skip_list_1_1_node.html", null ], - [ "Trie< T >::Node", "class_trie_1_1_node.html", null ], [ "flow::PolymorphicAllocator< T >", "classflow_1_1_polymorphic_allocator.html", null ], - [ "PSDA< T >", "class_p_s_d_a.html", null ], - [ "RandomMeldableHeap< T, Predicate >", "class_random_meldable_heap.html", null ], - [ "SegmentTree< T, BinOp >", "class_segment_tree.html", null ], - [ "DisjointSet< T >::Set", "struct_disjoint_set_1_1_set.html", null ], - [ "SkipList< KeyType, ValueType, Predicate >", "class_skip_list.html", null ], - [ "SparseTable< T, BinOp >", "class_sparse_table.html", null ], [ "flow::Timer< ClockType >", "classflow_1_1_timer.html", null ], - [ "SkipList< KeyType, ValueType, Predicate >::Tower", "struct_skip_list_1_1_tower.html", null ], - [ "Trie< T >", "class_trie.html", null ], [ "flow::Tuple< Ts >", "classflow_1_1_tuple.html", null ], [ "flow::Tuple< Ts... >", "classflow_1_1_tuple.html", [ [ "flow::Tuple< T, Ts... >", "classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html", null ] diff --git a/docs/menudata.js b/docs/menudata.js index 62944d7..45cc1b5 100644 --- a/docs/menudata.js +++ b/docs/menudata.js @@ -36,68 +36,55 @@ var menudata={children:[ {text:"Class Hierarchy",url:"hierarchy.html"}, {text:"Class Members",url:"functions.html",children:[ {text:"All",url:"functions.html",children:[ -{text:"_",url:"functions.html#index__5F"}, -{text:"a",url:"functions_a.html#index_a"}, -{text:"b",url:"functions_b.html#index_b"}, -{text:"c",url:"functions_c.html#index_c"}, -{text:"d",url:"functions_d.html#index_d"}, -{text:"e",url:"functions_e.html#index_e"}, -{text:"f",url:"functions_f.html#index_f"}, -{text:"g",url:"functions_g.html#index_g"}, -{text:"h",url:"functions_h.html#index_h"}, -{text:"i",url:"functions_i.html#index_i"}, -{text:"k",url:"functions_k.html#index_k"}, -{text:"l",url:"functions_l.html#index_l"}, -{text:"m",url:"functions_m.html#index_m"}, -{text:"n",url:"functions_n.html#index_n"}, -{text:"o",url:"functions_o.html#index_o"}, -{text:"p",url:"functions_p.html#index_p"}, -{text:"q",url:"functions_q.html#index_q"}, -{text:"r",url:"functions_r.html#index_r"}, -{text:"s",url:"functions_s.html#index_s"}, -{text:"t",url:"functions_t.html#index_t"}, -{text:"u",url:"functions_u.html#index_u"}, -{text:"v",url:"functions_v.html#index_v"}, -{text:"w",url:"functions_w.html#index_w"}, -{text:"~",url:"functions_~.html#index__7E"}]}, +{text:"a",url:"functions.html#index_a"}, +{text:"b",url:"functions.html#index_b"}, +{text:"c",url:"functions.html#index_c"}, +{text:"d",url:"functions.html#index_d"}, +{text:"e",url:"functions.html#index_e"}, +{text:"f",url:"functions.html#index_f"}, +{text:"g",url:"functions.html#index_g"}, +{text:"h",url:"functions.html#index_h"}, +{text:"i",url:"functions.html#index_i"}, +{text:"m",url:"functions.html#index_m"}, +{text:"n",url:"functions.html#index_n"}, +{text:"o",url:"functions.html#index_o"}, +{text:"p",url:"functions.html#index_p"}, +{text:"q",url:"functions.html#index_q"}, +{text:"r",url:"functions.html#index_r"}, +{text:"s",url:"functions.html#index_s"}, +{text:"t",url:"functions.html#index_t"}, +{text:"u",url:"functions.html#index_u"}, +{text:"v",url:"functions.html#index_v"}, +{text:"w",url:"functions.html#index_w"}, +{text:"~",url:"functions.html#index__7E"}]}, {text:"Functions",url:"functions_func.html",children:[ {text:"a",url:"functions_func.html#index_a"}, -{text:"b",url:"functions_func_b.html#index_b"}, -{text:"c",url:"functions_func_c.html#index_c"}, -{text:"d",url:"functions_func_d.html#index_d"}, -{text:"e",url:"functions_func_e.html#index_e"}, -{text:"f",url:"functions_func_f.html#index_f"}, -{text:"g",url:"functions_func_g.html#index_g"}, -{text:"i",url:"functions_func_i.html#index_i"}, -{text:"k",url:"functions_func_k.html#index_k"}, -{text:"l",url:"functions_func_l.html#index_l"}, -{text:"m",url:"functions_func_m.html#index_m"}, -{text:"n",url:"functions_func_n.html#index_n"}, -{text:"o",url:"functions_func_o.html#index_o"}, -{text:"p",url:"functions_func_p.html#index_p"}, -{text:"q",url:"functions_func_q.html#index_q"}, -{text:"r",url:"functions_func_r.html#index_r"}, -{text:"s",url:"functions_func_s.html#index_s"}, -{text:"t",url:"functions_func_t.html#index_t"}, -{text:"u",url:"functions_func_u.html#index_u"}, -{text:"v",url:"functions_func_v.html#index_v"}, -{text:"w",url:"functions_func_w.html#index_w"}, -{text:"~",url:"functions_func_~.html#index__7E"}]}, +{text:"b",url:"functions_func.html#index_b"}, +{text:"c",url:"functions_func.html#index_c"}, +{text:"d",url:"functions_func.html#index_d"}, +{text:"e",url:"functions_func.html#index_e"}, +{text:"f",url:"functions_func.html#index_f"}, +{text:"g",url:"functions_func.html#index_g"}, +{text:"i",url:"functions_func.html#index_i"}, +{text:"o",url:"functions_func.html#index_o"}, +{text:"p",url:"functions_func.html#index_p"}, +{text:"r",url:"functions_func.html#index_r"}, +{text:"s",url:"functions_func.html#index_s"}, +{text:"t",url:"functions_func.html#index_t"}, +{text:"u",url:"functions_func.html#index_u"}, +{text:"v",url:"functions_func.html#index_v"}, +{text:"w",url:"functions_func.html#index_w"}, +{text:"~",url:"functions_func.html#index__7E"}]}, {text:"Variables",url:"functions_vars.html",children:[ -{text:"_",url:"functions_vars.html#index__5F"}, {text:"a",url:"functions_vars.html#index_a"}, {text:"b",url:"functions_vars.html#index_b"}, {text:"c",url:"functions_vars.html#index_c"}, -{text:"d",url:"functions_vars.html#index_d"}, {text:"g",url:"functions_vars.html#index_g"}, {text:"h",url:"functions_vars.html#index_h"}, {text:"i",url:"functions_vars.html#index_i"}, -{text:"k",url:"functions_vars.html#index_k"}, -{text:"l",url:"functions_vars.html#index_l"}, {text:"m",url:"functions_vars.html#index_m"}, {text:"n",url:"functions_vars.html#index_n"}, {text:"o",url:"functions_vars.html#index_o"}, -{text:"p",url:"functions_vars.html#index_p"}, {text:"q",url:"functions_vars.html#index_q"}, {text:"r",url:"functions_vars.html#index_r"}, {text:"s",url:"functions_vars.html#index_s"}, @@ -108,18 +95,5 @@ var menudata={children:[ {text:"Files",url:"files.html",children:[ {text:"File List",url:"files.html"}, {text:"File Members",url:"globals.html",children:[ -{text:"All",url:"globals.html",children:[ -{text:"_",url:"globals.html#index__5F"}, -{text:"c",url:"globals.html#index_c"}, -{text:"f",url:"globals.html#index_f"}, -{text:"i",url:"globals.html#index_i"}, -{text:"k",url:"globals.html#index_k"}, -{text:"m",url:"globals.html#index_m"}, -{text:"o",url:"globals.html#index_o"}, -{text:"p",url:"globals.html#index_p"}, -{text:"s",url:"globals.html#index_s"}, -{text:"u",url:"globals.html#index_u"}]}, -{text:"Functions",url:"globals_func.html"}, -{text:"Variables",url:"globals_vars.html"}, -{text:"Typedefs",url:"globals_type.html"}, -{text:"Macros",url:"globals_defs.html"}]}]}]} +{text:"All",url:"globals.html"}, +{text:"Functions",url:"globals_func.html"}]}]}]} diff --git a/docs/namespacebenchmark.html b/docs/namespacebenchmark.html deleted file mode 100644 index cb705bb..0000000 --- a/docs/namespacebenchmark.html +++ /dev/null @@ -1,609 +0,0 @@ - - - - - - - -Flow: benchmark Namespace Reference - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Flow -
    -
    Documentation for the Flow C++ Library
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    benchmark Namespace Reference
    -
    -
    - - - - - - - -

    -Functions

    void benchmarkStdVector (std::size_t elementSize, std::size_t benchTime)
    void benchmarkFlowVector (std::size_t elementSize, std::size_t benchTime)
    void benchmarkStdVectorString (std::size_t elementSize, std::size_t benchTime)
    void benchmarkFlowVectorString (std::size_t elementSize, std::size_t benchTime)
    void benchmarkStdSet (std::size_t elementSize, std::size_t benchTime)
    -

    Function Documentation

    - -

    ◆ benchmarkFlowVector()

    - -
    -
    - - - - - -
    - - - - - - - - - - - -
    void benchmark::benchmarkFlowVector (std::size_t elementSize,
    std::size_t benchTime )
    -
    -inline
    -
    - -

    Definition at line 82 of file benchmark.h.

    -
    82 {
    -
    83 using namespace std;
    -
    84 using namespace flow;
    -
    85
    -
    86 unique_ptr<int64_t[]> buffer = make_unique<int64_t[]>(elementSize * 32);
    -
    87
    -
    88 cout << "flow::Vector raw\n";
    -
    89 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    90 Vector<int64_t> vec{};
    -
    91
    -
    92 Timer timer{};
    -
    93 timer.reset();
    -
    94 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    95 vec.pushBack(i);
    -
    96 }
    -
    97 timer.record();
    -
    98 cout << timer.toString() << '\n';
    -
    99 }
    -
    100
    -
    101 cout << "flow::Vector reserve\n";
    -
    102 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    103 Vector<int64_t> vec{};
    -
    104
    -
    105 Timer timer{};
    -
    106 timer.reset();
    -
    107 vec.reserve(elementSize);
    -
    108 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    109 vec.pushBack(i);
    -
    110 }
    -
    111 timer.record();
    -
    112 cout << timer.toString() << '\n';
    -
    113 }
    -
    114
    -
    115 cout << "flow::Vector raw arena\n";
    -
    116 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    117 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    118 PolymorphicAllocator<> alloc{ resource };
    -
    119 Vector<int64_t> vec{ alloc };
    -
    120
    -
    121 Timer timer{};
    -
    122 timer.reset();
    -
    123
    -
    124 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    125 vec.pushBack(i);
    -
    126 }
    -
    127 timer.record();
    -
    128 cout << timer.toString() << '\n';
    -
    129 }
    -
    130
    -
    131 cout << "flow::Vector reserve arena\n";
    -
    132 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    133 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    134 PolymorphicAllocator<> alloc{ resource };
    -
    135 Vector<int64_t> vec{ alloc };
    -
    136
    -
    137 Timer timer{};
    -
    138 timer.reset();
    -
    139 vec.reserve(elementSize);
    -
    140 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    141 vec.pushBack(i);
    -
    142 }
    -
    143 timer.record();
    -
    144 cout << timer.toString() << '\n';
    -
    145 }
    -
    146 }
    -
    A simple timer to record timelapses. Uses chrono::steady_clock by default.
    Definition flow_timer.h:11
    -
    void record()
    Records the current time point relative to the last call to start().
    Definition flow_timer.h:43
    -
    std::string toString() const
    Formats and returns a string showing all recorded durations since the timer resets.
    Definition flow_timer.h:51
    -
    void reset()
    Clears all recorded time points and reset the starting time.
    Definition flow_timer.h:35
    - -
    void pushBack(const T &value)
    -
    void reserve(std::size_t capacity)
    - -
    Definition entry.cpp:78
    -
    -

    References flow::Vector< T, Allocator, Strategy >::pushBack(), flow::Timer< ClockType >::record(), flow::Vector< T, Allocator, Strategy >::reserve(), flow::Timer< ClockType >::reset(), and flow::Timer< ClockType >::toString().

    - -
    -
    - -

    ◆ benchmarkFlowVectorString()

    - -
    -
    - - - - - -
    - - - - - - - - - - - -
    void benchmark::benchmarkFlowVectorString (std::size_t elementSize,
    std::size_t benchTime )
    -
    -inline
    -
    - -

    Definition at line 214 of file benchmark.h.

    -
    214 {
    -
    215 using namespace std;
    -
    216 using namespace flow;
    -
    217
    -
    218 const string sample = "the quick brown fox jumps over the lazy dog";
    -
    219 unique_ptr<int64_t[]> buffer = make_unique<int64_t[]>(elementSize * 32);
    -
    220
    -
    221 cout << "flow::Vector raw\n";
    -
    222 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    223 Vector<string> vec{};
    -
    224
    -
    225 Timer timer{};
    -
    226 timer.reset();
    -
    227 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    228 vec.pushBack(sample);
    -
    229 }
    -
    230 timer.record();
    -
    231 cout << timer.toString() << '\n';
    -
    232 }
    -
    233
    -
    234 cout << "flow::Vector reserve\n";
    -
    235 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    236 Vector<string> vec{};
    -
    237 vec.reserve(elementSize);
    -
    238
    -
    239 Timer timer{};
    -
    240 timer.reset();
    -
    241 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    242 vec.pushBack(sample);
    -
    243 }
    -
    244 timer.record();
    -
    245 cout << timer.toString() << '\n';
    -
    246 }
    -
    247
    -
    248 cout << "flow::Vector raw arena\n";
    -
    249 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    250 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    251 PolymorphicAllocator<> alloc{ resource };
    -
    252 Vector<string> vec{ alloc };
    -
    253
    -
    254 Timer timer{};
    -
    255 timer.reset();
    -
    256 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    257 vec.pushBack(sample);
    -
    258 }
    -
    259 timer.record();
    -
    260 cout << timer.toString() << '\n';
    -
    261 }
    -
    262
    -
    263 cout << "flow::Vector reserve arena\n";
    -
    264 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    265 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    266 PolymorphicAllocator<> alloc{ resource };
    -
    267 Vector<string> vec{ alloc };
    -
    268 vec.reserve(elementSize);
    -
    269
    -
    270 Timer timer{};
    -
    271 timer.reset();
    -
    272 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    273 vec.pushBack(sample);
    -
    274 }
    -
    275 timer.record();
    -
    276 cout << timer.toString() << '\n';
    -
    277 }
    -
    278 }
    -
    -

    References flow::Vector< T, Allocator, Strategy >::pushBack(), flow::Timer< ClockType >::record(), flow::Vector< T, Allocator, Strategy >::reserve(), flow::Timer< ClockType >::reset(), and flow::Timer< ClockType >::toString().

    - -
    -
    - -

    ◆ benchmarkStdSet()

    - -
    -
    - - - - - -
    - - - - - - - - - - - -
    void benchmark::benchmarkStdSet (std::size_t elementSize,
    std::size_t benchTime )
    -
    -inline
    -
    - -

    Definition at line 280 of file benchmark.h.

    -
    280 {
    -
    281 using namespace std;
    -
    282 using namespace flow;
    -
    283
    -
    284 unique_ptr<byte[]> buffer = make_unique<byte[]>(elementSize * sizeof(int64_t) * 32);
    -
    285 vector<int64_t> nums(elementSize);
    -
    286 iota(nums.begin(), nums.end(), int64_t(0));
    -
    287 flow::shuffle(nums.begin(), nums.end());
    -
    288
    -
    289 cout << "std::set\n";
    -
    290 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    291 set<int64_t, std::less<int64_t>> st{};
    -
    292
    -
    293 Timer timer{};
    -
    294 timer.reset();
    -
    295 for (auto n : nums) {
    -
    296 st.insert(n);
    -
    297 }
    -
    298 timer.record();
    -
    299 cout << timer.toString() << '\n';
    -
    300 }
    -
    301
    -
    302 cout << "std::set arena\n";
    -
    303 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    304 ArenaMemoryResource resource(buffer.get(), elementSize * sizeof(int64_t) * 32);
    -
    305 PolymorphicAllocator<> alloc{ resource };
    -
    306 set<int64_t, std::less<int64_t>, PolymorphicAllocator<int64_t>> st{ alloc };
    -
    307
    -
    308 Timer timer{};
    -
    309 timer.reset();
    -
    310 for (auto n : nums) {
    -
    311 st.insert(n);
    -
    312 }
    -
    313 timer.record();
    -
    314 cout << timer.toString() << '\n';
    -
    315 }
    -
    316
    -
    317 cout << "std::set monotonic\n";
    -
    318 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    319 std::pmr::monotonic_buffer_resource mbr{ buffer.get(), elementSize * sizeof(int64_t) * 32 };
    -
    320 std::pmr::polymorphic_allocator<int64_t> pa{ &mbr };
    -
    321 pmr::set<int64_t, std::less<int64_t>> st(pa);
    -
    322
    -
    323 Timer timer{};
    -
    324 timer.reset();
    -
    325 for (auto n : nums) {
    -
    326 st.insert(n);
    -
    327 }
    -
    328 timer.record();
    -
    329 cout << timer.toString() << '\n';
    -
    330 }
    -
    331 }
    -
    void shuffle(It begin, It end)
    Randomly shuffle the elements in the range [begin, end).
    -
    -

    References flow::Timer< ClockType >::record(), flow::Timer< ClockType >::reset(), flow::shuffle(), and flow::Timer< ClockType >::toString().

    - -
    -
    - -

    ◆ benchmarkStdVector()

    - -
    -
    - - - - - -
    - - - - - - - - - - - -
    void benchmark::benchmarkStdVector (std::size_t elementSize,
    std::size_t benchTime )
    -
    -inline
    -
    - -

    Definition at line 17 of file benchmark.h.

    -
    17 {
    -
    18 using namespace std;
    -
    19 using namespace flow;
    -
    20
    -
    21 unique_ptr<int64_t[]> buffer = make_unique<int64_t[]>(elementSize * 32);
    -
    22
    -
    23 cout << "std::vector raw\n";
    -
    24 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    25 vector<int64_t> vec{};
    -
    26
    -
    27 Timer timer{};
    -
    28 timer.reset();
    -
    29 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    30 vec.push_back(i);
    -
    31 }
    -
    32 timer.record();
    -
    33 cout << timer.toString() << '\n';
    -
    34 }
    -
    35
    -
    36 cout << "std::vector reserve\n";
    -
    37 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    38 vector<int64_t> vec{};
    -
    39
    -
    40 Timer timer{};
    -
    41 timer.reset();
    -
    42 vec.reserve(elementSize);
    -
    43 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    44 vec.push_back(i);
    -
    45 }
    -
    46 timer.record();
    -
    47 cout << timer.toString() << '\n';
    -
    48 }
    -
    49
    -
    50 cout << "std::vector raw arena\n";
    -
    51 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    52 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    53 PolymorphicAllocator<> alloc{ resource };
    -
    54 vector<int64_t, PolymorphicAllocator<int64_t>> vec{ alloc };
    -
    55
    -
    56 Timer timer{};
    -
    57 timer.reset();
    -
    58 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    59 vec.push_back(i);
    -
    60 }
    -
    61 timer.record();
    -
    62 cout << timer.toString() << '\n';
    -
    63 }
    -
    64
    -
    65 cout << "std::vector reserve arena\n";
    -
    66 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    67 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    68 PolymorphicAllocator<> alloc{ resource };
    -
    69 vector<int64_t, PolymorphicAllocator<int64_t>> vec{ alloc };
    -
    70
    -
    71 Timer timer{};
    -
    72 timer.reset();
    -
    73 vec.reserve(elementSize);
    -
    74 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    75 vec.push_back(i);
    -
    76 }
    -
    77 timer.record();
    -
    78 cout << timer.toString() << '\n';
    -
    79 }
    -
    80 }
    -
    -

    References flow::Timer< ClockType >::record(), flow::Timer< ClockType >::reset(), and flow::Timer< ClockType >::toString().

    - -
    -
    - -

    ◆ benchmarkStdVectorString()

    - -
    -
    - - - - - -
    - - - - - - - - - - - -
    void benchmark::benchmarkStdVectorString (std::size_t elementSize,
    std::size_t benchTime )
    -
    -inline
    -
    - -

    Definition at line 148 of file benchmark.h.

    -
    148 {
    -
    149 using namespace std;
    -
    150 using namespace flow;
    -
    151
    -
    152 const string sample = "the quick brown fox jumps over the lazy dog";
    -
    153 unique_ptr<int64_t[]> buffer = make_unique<int64_t[]>(elementSize * 32);
    -
    154
    -
    155 cout << "std::vector raw\n";
    -
    156 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    157 vector<string> vec{};
    -
    158
    -
    159 Timer timer{};
    -
    160 timer.reset();
    -
    161 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    162 vec.push_back(sample);
    -
    163 }
    -
    164 timer.record();
    -
    165 cout << timer.toString() << '\n';
    -
    166 }
    -
    167
    -
    168 cout << "std::vector reserve\n";
    -
    169 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    170 vector<string> vec{};
    -
    171 vec.reserve(elementSize);
    -
    172
    -
    173 Timer timer{};
    -
    174 timer.reset();
    -
    175 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    176 vec.push_back(sample);
    -
    177 }
    -
    178 timer.record();
    -
    179 cout << timer.toString() << '\n';
    -
    180 }
    -
    181
    -
    182 cout << "std::vector raw arena\n";
    -
    183 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    184 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    185 PolymorphicAllocator<> alloc{ resource };
    -
    186 vector<string, PolymorphicAllocator<string>> vec{ alloc };
    -
    187
    -
    188 Timer timer{};
    -
    189 timer.reset();
    -
    190 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    191 vec.push_back(sample);
    -
    192 }
    -
    193 timer.record();
    -
    194 cout << timer.toString() << '\n';
    -
    195 }
    -
    196
    -
    197 cout << "std::vector reserve arena\n";
    -
    198 for (std::size_t bench = 0; bench < benchTime; ++bench) {
    -
    199 ArenaMemoryResource resource(buffer.get(), elementSize * 32 * sizeof(int64_t));
    -
    200 PolymorphicAllocator<> alloc{ resource };
    -
    201 vector<string, PolymorphicAllocator<string>> vec{ alloc };
    -
    202 vec.reserve(elementSize);
    -
    203
    -
    204 Timer timer{};
    -
    205 timer.reset();
    -
    206 for (std::size_t i = 0; i < elementSize; ++i) {
    -
    207 vec.push_back(sample);
    -
    208 }
    -
    209 timer.record();
    -
    210 cout << timer.toString() << '\n';
    -
    211 }
    -
    212 }
    -
    -

    References flow::Timer< ClockType >::record(), flow::Timer< ClockType >::reset(), and flow::Timer< ClockType >::toString().

    - -
    -
    -
    -
    - -
    - - - - diff --git a/docs/namespaceflow.html b/docs/namespaceflow.html index cde0c2d..b94dc34 100644 --- a/docs/namespaceflow.html +++ b/docs/namespaceflow.html @@ -608,8 +608,6 @@

    31 std::shuffle(begin, end, engine);
    32 }
    -

    Referenced by benchmark::benchmarkStdSet().

    - diff --git a/docs/namespacemembers.html b/docs/namespacemembers.html index c688451..1092672 100644 --- a/docs/namespacemembers.html +++ b/docs/namespacemembers.html @@ -91,11 +91,6 @@
    Here is a list of all namespace members with links to the namespace documentation for each member:
    • alignWithHeader() : flow
    • -
    • benchmarkFlowVector() : benchmark
    • -
    • benchmarkFlowVectorString() : benchmark
    • -
    • benchmarkStdSet() : benchmark
    • -
    • benchmarkStdVector() : benchmark
    • -
    • benchmarkStdVectorString() : benchmark
    • deleteBuffer() : flow
    • destroyElements() : flow
    • destroyElementsN() : flow
    • diff --git a/docs/namespacemembers_func.html b/docs/namespacemembers_func.html index a3b0d0a..c84b861 100644 --- a/docs/namespacemembers_func.html +++ b/docs/namespacemembers_func.html @@ -91,11 +91,6 @@
      Here is a list of all namespace functions with links to the namespace documentation for each function:
      • alignWithHeader() : flow
      • -
      • benchmarkFlowVector() : benchmark
      • -
      • benchmarkFlowVectorString() : benchmark
      • -
      • benchmarkStdSet() : benchmark
      • -
      • benchmarkStdVector() : benchmark
      • -
      • benchmarkStdVectorString() : benchmark
      • deleteBuffer() : flow
      • destroyElements() : flow
      • destroyElementsN() : flow
      • diff --git a/docs/namespaces.html b/docs/namespaces.html index e39f8f5..f54c86f 100644 --- a/docs/namespaces.html +++ b/docs/namespaces.html @@ -94,9 +94,7 @@
        Here is a list of all namespaces with brief descriptions:
        - - - +
         Nbenchmark
         Nflow
         Nstd
         Nflow
        diff --git a/docs/namespaces_dup.js b/docs/namespaces_dup.js index c745d6f..2367743 100644 --- a/docs/namespaces_dup.js +++ b/docs/namespaces_dup.js @@ -1,12 +1,4 @@ var namespaces_dup = [ - [ "benchmark", "namespacebenchmark.html", [ - [ "benchmarkFlowVector", "namespacebenchmark.html#a49f4972ef8aa15746e43281484381e39", null ], - [ "benchmarkFlowVectorString", "namespacebenchmark.html#a05e5b1e546dc4a325d127bfda0d95902", null ], - [ "benchmarkStdSet", "namespacebenchmark.html#aa90af4821e756d6abd48736a886fb7b9", null ], - [ "benchmarkStdVector", "namespacebenchmark.html#ab1c92b084d635c2b9a5fce6e5fd3364c", null ], - [ "benchmarkStdVectorString", "namespacebenchmark.html#ad143bdfdfd0ac0f02b5107662f077dbb", null ] - ] ], - [ "flow", "namespaceflow.html", "namespaceflow" ], - [ "std", "namespacestd.html", "namespacestd" ] + [ "flow", "namespaceflow.html", "namespaceflow" ] ]; \ No newline at end of file diff --git a/docs/namespacestd.html b/docs/namespacestd.html deleted file mode 100644 index f355bc4..0000000 --- a/docs/namespacestd.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - -Flow: std Namespace Reference - - - - - - - - - - - - - - -
        -
        - - - - - - -
        -
        Flow -
        -
        Documentation for the Flow C++ Library
        -
        -
        - - - - - - - - -
        -
        - -
        -
        -
        - -
        -
        - -
        -
        - - -
        -
        -
        -
        -
        -
        Loading...
        -
        Searching...
        -
        No Matches
        -
        -
        -
        -
        - -
        -
        std Namespace Reference
        -
        -
        - - - -

        -Classes

        struct  hash< pair< T, T > >
        -
        -
        - -
        - - - - diff --git a/docs/namespacestd.js b/docs/namespacestd.js deleted file mode 100644 index 34520a3..0000000 --- a/docs/namespacestd.js +++ /dev/null @@ -1,4 +0,0 @@ -var namespacestd = -[ - [ "hash< pair< T, T > >", "structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html", "structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4" ] -]; \ No newline at end of file diff --git a/docs/navtreedata.js b/docs/navtreedata.js index 2404cce..9cd1bdb 100644 --- a/docs/navtreedata.js +++ b/docs/navtreedata.js @@ -38,8 +38,8 @@ var NAVTREE = [ "Class Index", "classes.html", null ], [ "Class Hierarchy", "hierarchy.html", "hierarchy" ], [ "Class Members", "functions.html", [ - [ "All", "functions.html", "functions_dup" ], - [ "Functions", "functions_func.html", "functions_func" ], + [ "All", "functions.html", null ], + [ "Functions", "functions_func.html", null ], [ "Variables", "functions_vars.html", null ], [ "Typedefs", "functions_type.html", null ], [ "Related Symbols", "functions_rela.html", null ] @@ -49,10 +49,7 @@ var NAVTREE = [ "File List", "files.html", "files_dup" ], [ "File Members", "globals.html", [ [ "All", "globals.html", null ], - [ "Functions", "globals_func.html", null ], - [ "Variables", "globals_vars.html", null ], - [ "Typedefs", "globals_type.html", null ], - [ "Macros", "globals_defs.html", null ] + [ "Functions", "globals_func.html", null ] ] ] ] ] ] ] @@ -60,10 +57,8 @@ var NAVTREE = var NAVTREEINDEX = [ -"_a_v_l_tree_8h.html", -"class_skip_list.html#a21c7073f015a4981aa3db81c68ded678", -"classflow_1_1_stack_memory_resource.html#a2ac0250b455868bd79a38da643b421d5", -"functions_func_d.html" +"annotated.html", +"classflow_1_1_vector.html" ]; var SYNCONMSG = 'click to disable panel synchronization'; diff --git a/docs/navtreeindex0.js b/docs/navtreeindex0.js index 3ad925a..9c0a0ef 100644 --- a/docs/navtreeindex0.js +++ b/docs/navtreeindex0.js @@ -1,253 +1,253 @@ var NAVTREEINDEX0 = { -"_a_v_l_tree_8h.html":[3,0,0], -"_a_v_l_tree_8h.html#a76967cab25a63e934824292123af3f11":[3,0,0,2], -"_a_v_l_tree_8h_source.html":[3,0,0], -"_binary_heap_8h.html":[3,0,2], -"_binary_heap_8h_source.html":[3,0,2], -"_binomial_heap_8h.html":[3,0,3], -"_binomial_heap_8h.html#a080b14fe6bf44d72a8a6375737b04afe":[3,0,3,2], -"_binomial_heap_8h_source.html":[3,0,3], -"_disjoint_set_8h.html":[3,0,4], -"_disjoint_set_8h_source.html":[3,0,4], -"_integer_iterator_8h.html":[3,0,21], -"_integer_iterator_8h.html#a1ebc1ff765720e19d58d1c76e97ac834":[3,0,21,3], -"_integer_iterator_8h.html#a1f445326bfda08a05374bc6cc126d1b3":[3,0,21,5], -"_integer_iterator_8h.html#a2d01915418a019c865bc1ca859a4a729":[3,0,21,1], -"_integer_iterator_8h.html#a307d23867c9739936366ebffa5b201b6":[3,0,21,7], -"_integer_iterator_8h.html#a567b077d8273c4b7b6e1625b067b7a3f":[3,0,21,6], -"_integer_iterator_8h.html#a9b8dbd59313ef9521037921be6a46f6c":[3,0,21,4], -"_integer_iterator_8h.html#ac3c013959186634bbd449e96dc5b2154":[3,0,21,8], -"_integer_iterator_8h.html#ae17acb20b08400f477465027001fadfd":[3,0,21,2], -"_integer_iterator_8h_source.html":[3,0,21], -"_linked_list_8h.html":[3,0,22], -"_linked_list_8h.html#ad7051d446f1c1dcc709eaaeeac83367e":[3,0,22,3], -"_linked_list_8h_source.html":[3,0,22], -"_p_s_d_a_8h.html":[3,0,23], -"_p_s_d_a_8h_source.html":[3,0,23], -"_random_meldable_heap_8h.html":[3,0,24], -"_random_meldable_heap_8h_source.html":[3,0,24], -"_segment_tree_8h.html":[3,0,25], -"_segment_tree_8h_source.html":[3,0,25], -"_skip_list_8h.html":[3,0,26], -"_skip_list_8h_source.html":[3,0,26], -"_sparse_table_8h.html":[3,0,27], -"_sparse_table_8h_source.html":[3,0,27], -"_trie_8h.html":[3,0,28], -"_trie_8h_source.html":[3,0,28], "annotated.html":[2,0], -"benchmark_8h.html":[3,0,1], -"benchmark_8h_source.html":[3,0,1], -"class_a_v_l_tree.html":[2,0,2], -"class_a_v_l_tree.html#a139a6afe3bff1f5c61026e0ede7fb3ca":[2,0,2,7], -"class_a_v_l_tree.html#a14c1e8c04a3b932d973f30351b909269":[2,0,2,3], -"class_a_v_l_tree.html#a15b2fe8be18597bbae8bb399f33f8860":[2,0,2,15], -"class_a_v_l_tree.html#a18b0ad73bf1e0e55c1eab4de01d9928c":[2,0,2,5], -"class_a_v_l_tree.html#a214f70a9ddeb840f55088f7578411adf":[2,0,2,17], -"class_a_v_l_tree.html#a2f05e0a5381c3760cd6372f87e9740fb":[2,0,2,18], -"class_a_v_l_tree.html#a351bd47d7f6922ae9d1cd778a20e207c":[2,0,2,8], -"class_a_v_l_tree.html#a37e65b817abac7590be80774fde5240f":[2,0,2,11], -"class_a_v_l_tree.html#a39c7f288a34e23d1cbf854d3ac1fc772":[2,0,2,9], -"class_a_v_l_tree.html#a498a54b28316131aba8272e8a42638c4":[2,0,2,6], -"class_a_v_l_tree.html#a8857cce6390ce1613f55259ddff5123a":[2,0,2,14], -"class_a_v_l_tree.html#a92b9e7b782f91913bd03d951a73343c2":[2,0,2,13], -"class_a_v_l_tree.html#a9fab28b32e97ffc5e0f1a4ed3d9823b2":[2,0,2,1], -"class_a_v_l_tree.html#aaf0aba7baf43d7b839f247904c12da25":[2,0,2,19], -"class_a_v_l_tree.html#ab85e680166f079bf54d647ac4fe376df":[2,0,2,16], -"class_a_v_l_tree.html#ac2c3730cb6c8b0d25e005d502b7db87a":[2,0,2,12], -"class_a_v_l_tree.html#ac3c055504c2005a4828a6b69b4dfdc5d":[2,0,2,10], -"class_a_v_l_tree.html#ada4e04560ad4579bf28c4c54594f5fdf":[2,0,2,2], -"class_a_v_l_tree.html#ae7bb44a235074a48d817acbc32846ae7":[2,0,2,4], -"class_a_v_l_tree_1_1_node.html":[2,0,2,0], -"class_a_v_l_tree_1_1_node.html#a08e132ea53e44650f1008270e55eadca":[2,0,2,0,25], -"class_a_v_l_tree_1_1_node.html#a10d0c2a63153624ca13f299a0563debd":[2,0,2,0,26], -"class_a_v_l_tree_1_1_node.html#a1da64d7cfc1dc9962513832073fa9177":[2,0,2,0,23], -"class_a_v_l_tree_1_1_node.html#a2ed796882625cd894f1f027dff9154ef":[2,0,2,0,0], -"class_a_v_l_tree_1_1_node.html#a42174d3ffb9acb013b19215a445458ea":[2,0,2,0,9], -"class_a_v_l_tree_1_1_node.html#a44c7df7f7266a5890f64331be132a132":[2,0,2,0,10], -"class_a_v_l_tree_1_1_node.html#a4c497e92bae58262637f137298dc9842":[2,0,2,0,3], -"class_a_v_l_tree_1_1_node.html#a543a84901066684f6895ecf42f3dca65":[2,0,2,0,15], -"class_a_v_l_tree_1_1_node.html#a562ab626779edd7545f320b792d129ae":[2,0,2,0,6], -"class_a_v_l_tree_1_1_node.html#a5d7f8148075ff0b7115e3e8ecdf2ca82":[2,0,2,0,20], -"class_a_v_l_tree_1_1_node.html#a6bbd64aa1a0493812ea898bb132ee975":[2,0,2,0,24], -"class_a_v_l_tree_1_1_node.html#a73419bde4797518d972af6ee65e0c32a":[2,0,2,0,2], -"class_a_v_l_tree_1_1_node.html#a766ba90bb3159ce3d2eca69a18eefa02":[2,0,2,0,12], -"class_a_v_l_tree_1_1_node.html#a9ad16c4dc3a754805ae70daf8c642d66":[2,0,2,0,11], -"class_a_v_l_tree_1_1_node.html#aa099d28a7be4f606e32c9d99968a5c91":[2,0,2,0,5], -"class_a_v_l_tree_1_1_node.html#aa88d4f148b11fac9578d85287afc9b4a":[2,0,2,0,16], -"class_a_v_l_tree_1_1_node.html#aaf41210fa129c3927ed9a5e6a9b1f7c6":[2,0,2,0,27], -"class_a_v_l_tree_1_1_node.html#ab65c7359c5b7caade318a7abe565dd1d":[2,0,2,0,4], -"class_a_v_l_tree_1_1_node.html#aba9397879c44718fd4e675adde9d15a5":[2,0,2,0,18], -"class_a_v_l_tree_1_1_node.html#ac663d148470b9f4a84109b53c29540b1":[2,0,2,0,8], -"class_a_v_l_tree_1_1_node.html#ad34a7131e40f8a8184437a528eefc728":[2,0,2,0,14], -"class_a_v_l_tree_1_1_node.html#ad3b552c2b070041ac2c8f7674a221317":[2,0,2,0,13], -"class_a_v_l_tree_1_1_node.html#ad3e8551ae2758fe2b0ec68c4a0c44d0b":[2,0,2,0,19], -"class_a_v_l_tree_1_1_node.html#adbfd56b2fea47ae5ffbb83ae6c24bbae":[2,0,2,0,7], -"class_a_v_l_tree_1_1_node.html#adcc4d5d6e68be88a4a8ac19a16a5d2da":[2,0,2,0,17], -"class_a_v_l_tree_1_1_node.html#adddc913a6d45c16cb0d4b03de31035ab":[2,0,2,0,22], -"class_a_v_l_tree_1_1_node.html#aea120a79cec52d18874becf5699636aa":[2,0,2,0,21], -"class_a_v_l_tree_1_1_node.html#af3effc374eabb48b4ce328762783a587":[2,0,2,0,1], -"class_binary_heap.html":[2,0,3], -"class_binary_heap.html#a0d9679ed0e97e921442df18bcb3e5ffd":[2,0,3,0], -"class_binary_heap.html#a0ed75c0004d274ed966336b7eb264ee6":[2,0,3,10], -"class_binary_heap.html#a3953761fb767627406e06d9860ab06c6":[2,0,3,7], -"class_binary_heap.html#a55145df41fa1560e95dcfd1fb20e9242":[2,0,3,4], -"class_binary_heap.html#a57a09c7ea701967c46d90568cbfc91ba":[2,0,3,2], -"class_binary_heap.html#a68b86a0f8e20eb80a6c2c9db164c2dde":[2,0,3,6], -"class_binary_heap.html#a7c5588c7b6657784922b9c43ed90d25a":[2,0,3,5], -"class_binary_heap.html#a8dbbd7ca7020e2a4b397ccc11165f278":[2,0,3,9], -"class_binary_heap.html#aa9a66152053b6ad02b893478cebe7e7e":[2,0,3,3], -"class_binary_heap.html#ac05dfe457e3d6917472e6b232497eab4":[2,0,3,8], -"class_binary_heap.html#ac79d9068e914510d4603fd2de15248be":[2,0,3,1], -"class_binary_heap.html#ada01307e0a8c533621e1d67301721a52":[2,0,3,11], -"class_binomial_heap.html":[2,0,4], -"class_binomial_heap.html#a08d73d1e768082bfa0873dd9246d8d35":[2,0,4,1], -"class_binomial_heap.html#a0e2216caa0911e6a81178d2fe7e0b911":[2,0,4,11], -"class_binomial_heap.html#a1097dead10fc94dd970164cd93a289c2":[2,0,4,8], -"class_binomial_heap.html#a189e8e2de41b44ebd0803c94738b23bf":[2,0,4,14], -"class_binomial_heap.html#a35239518827ef736006740e5d368e93a":[2,0,4,5], -"class_binomial_heap.html#a46d26e050caf0f59c4bfd1945b45abc0":[2,0,4,4], -"class_binomial_heap.html#a471ccced6b886f7d18948a6840536106":[2,0,4,16], -"class_binomial_heap.html#a7554a82e06539ebbdec513ef2404dc0b":[2,0,4,2], -"class_binomial_heap.html#a8fff9b5c749e1a4207dad31aaa66d613":[2,0,4,18], -"class_binomial_heap.html#aa25bc3c594252d3dfcf88062154abe41":[2,0,4,17], -"class_binomial_heap.html#aaed84d347b9813ea57cd038002b658dc":[2,0,4,6], -"class_binomial_heap.html#ab9d1451ae73b2e8e4e0ec7f45cdc73e2":[2,0,4,10], -"class_binomial_heap.html#abc0262e1ca0f234419fb6023587840ea":[2,0,4,13], -"class_binomial_heap.html#acc21f9b8203f26b3bdfaac56d90cad6c":[2,0,4,12], -"class_binomial_heap.html#acff0cc05580f47f74a5438578e9bb4d8":[2,0,4,3], -"class_binomial_heap.html#ad802b7ceeca544218be749b786dc6ade":[2,0,4,7], -"class_binomial_heap.html#adc6b443e44e239ffff1eefb5ba280792":[2,0,4,15], -"class_binomial_heap.html#af6cf13de0597a9e105917c103e550b99":[2,0,4,9], -"class_binomial_heap_1_1_flag_tree.html":[2,0,4,0], -"class_binomial_heap_1_1_flag_tree.html#a0f24158df3a6f24c5a1032829e4aa87c":[2,0,4,0,4], -"class_binomial_heap_1_1_flag_tree.html#a191fb6a6df479ad5fb8f7b797b3c9de8":[2,0,4,0,1], -"class_binomial_heap_1_1_flag_tree.html#a3d6af13c7eda6f5f2ca6d86e75653278":[2,0,4,0,5], -"class_binomial_heap_1_1_flag_tree.html#a4c72c3a1d0da747536683a945d9689b4":[2,0,4,0,8], -"class_binomial_heap_1_1_flag_tree.html#a5a2cf64fe8ed9b7f1e565a1a483a5ed8":[2,0,4,0,6], -"class_binomial_heap_1_1_flag_tree.html#a71eb330d4c27115b28abfebbe1788349":[2,0,4,0,9], -"class_binomial_heap_1_1_flag_tree.html#a8b4e11d69103b08bcdf97042e0b97938":[2,0,4,0,10], -"class_binomial_heap_1_1_flag_tree.html#abd3145af05d86d9e156fcb22bd0ae289":[2,0,4,0,2], -"class_binomial_heap_1_1_flag_tree.html#ac1c1929b76ec307331493b5628a72865":[2,0,4,0,0], -"class_binomial_heap_1_1_flag_tree.html#ac1e5b470298b303b989dd9826bdaa091":[2,0,4,0,3], -"class_binomial_heap_1_1_flag_tree.html#adb3c0687f1af3f2b8d59c2ff7ec01807":[2,0,4,0,7], -"class_disjoint_set.html":[2,0,5], -"class_disjoint_set.html#a149364c52c1d8c177bc0c2a1c5f1e83d":[2,0,5,1], -"class_disjoint_set.html#a1ee9e01280561e828d4839839f0c9ade":[2,0,5,12], -"class_disjoint_set.html#a23daffcefcb74cb52b07f33b593eb7f1":[2,0,5,13], -"class_disjoint_set.html#a34574033f309cdb23c364744be0689fc":[2,0,5,2], -"class_disjoint_set.html#a3918cd82b9662d3455906cb9f5b90a36":[2,0,5,8], -"class_disjoint_set.html#a614a37acdf7dcdd6b8e38786e9eddb58":[2,0,5,14], -"class_disjoint_set.html#a8a21e0b3cfc09af9675bf57335ff56a9":[2,0,5,6], -"class_disjoint_set.html#aa824dddc2e76d3e47865546e5eae0746":[2,0,5,7], -"class_disjoint_set.html#aac911297a1592e5e25c63c72362e8b6e":[2,0,5,5], -"class_disjoint_set.html#aaf0b989981a16122c81476aa35771d44":[2,0,5,3], -"class_disjoint_set.html#ab55ff25ae5a2213d9e1790be7cec2c59":[2,0,5,11], -"class_disjoint_set.html#abf8e7317a46fda87aee72892302283a9":[2,0,5,4], -"class_disjoint_set.html#ad76eefdcd819f2c2393ea057d0090f18":[2,0,5,10], -"class_disjoint_set.html#ae3535f0c54db9f48de22750448dbf6e2":[2,0,5,9], -"class_integer_iterator.html":[2,0,6], -"class_integer_iterator.html#a147eb9f8d334a90a87789ddc8fa8752a":[2,0,6,5], -"class_integer_iterator.html#a19b066cbce0584921a01988046766473":[2,0,6,12], -"class_integer_iterator.html#a26dbc105db0ed68c0446e2e612f7f2b8":[2,0,6,15], -"class_integer_iterator.html#a288069233a58cf1a1be18c36bab66df9":[2,0,6,1], -"class_integer_iterator.html#a4dc267c256b624c84a6f5922994ba7dc":[2,0,6,0], -"class_integer_iterator.html#a533093c61bc3127614384692e672a60d":[2,0,6,3], -"class_integer_iterator.html#a75e0aac6228d2e4acebf653b94e3f2e2":[2,0,6,7], -"class_integer_iterator.html#a7a8d92400ab4d6e8837ea4917af8776d":[2,0,6,11], -"class_integer_iterator.html#a8f5f76834019bda2c2f3222f80ac0200":[2,0,6,4], -"class_integer_iterator.html#a9ad91a48d41fa01eba25a31d98db5a8e":[2,0,6,17], -"class_integer_iterator.html#aab52fa0c33c14b89e2904fe5cb4b6124":[2,0,6,13], -"class_integer_iterator.html#ad144e11bdff37af189854f96ff4d84f0":[2,0,6,10], -"class_integer_iterator.html#ad3e6b69858c98fe2a2e04e0575b481b4":[2,0,6,6], -"class_integer_iterator.html#adb6bf4e91e801469e355eedd73edcd5b":[2,0,6,9], -"class_integer_iterator.html#adbc509a5a113d7c505ebed8b9814dca2":[2,0,6,16], -"class_integer_iterator.html#ae2530e64d82ae3023a172a71904052f0":[2,0,6,18], -"class_integer_iterator.html#ae939f25463bcf5397e6762a80b1ab6e9":[2,0,6,2], -"class_integer_iterator.html#af29083bd8accd9511b721eb141d69531":[2,0,6,14], -"class_integer_iterator.html#af5a8a753ac1ef0d22eafd5384e172aca":[2,0,6,8], -"class_linked_list.html":[2,0,7], -"class_linked_list.html#a076ece933cdbe7fac882c033b3d72047":[2,0,7,18], -"class_linked_list.html#a144c8a50d337d77b726e9ac10463199c":[2,0,7,20], -"class_linked_list.html#a15fbf380d5e1990a6fbf30d311dd8113":[2,0,7,19], -"class_linked_list.html#a2b79f60b98c95e481ab2f5e6b407e120":[2,0,7,2], -"class_linked_list.html#a33c26e7e39ec33a37404c620ca73484f":[2,0,7,17], -"class_linked_list.html#a3c20fcfec867e867f541061a09fc640c":[2,0,7,4], -"class_linked_list.html#a3ec959b6356bad1ce7f1900218346b56":[2,0,7,9], -"class_linked_list.html#a47e06d0bacd1230e4ebe0bc0692be3b9":[2,0,7,13], -"class_linked_list.html#a5113bc802622f17b54d719b806ce2a62":[2,0,7,8], -"class_linked_list.html#a5a1d0c44971b9c32d0afadeaabaa693a":[2,0,7,14], -"class_linked_list.html#a7530f41ff2d9a65899048a1631618059":[2,0,7,11], -"class_linked_list.html#a7c37609df3b83bc4eb0281b852f93fd7":[2,0,7,7], -"class_linked_list.html#a86de720eaa32b69ff0b57207dc4e8ae2":[2,0,7,10], -"class_linked_list.html#a90b9243c46e324903cf010de237e5611":[2,0,7,3], -"class_linked_list.html#aa39542757ae3cc7dc9121a8b073f2b17":[2,0,7,6], -"class_linked_list.html#acd3c8669a409385fc5818d0c832bfacf":[2,0,7,5], -"class_linked_list.html#ae5e038aa8472ef56e67bd575eeebc9cb":[2,0,7,16], -"class_linked_list.html#ae9033aad0e352ceeff848c17d3095d40":[2,0,7,12], -"class_linked_list.html#ae9e2c29ef6df899ca26d6076870a7076":[2,0,7,15], -"class_linked_list_1_1_iterator_impl.html":[2,0,7,0], -"class_linked_list_1_1_iterator_impl.html#a519f13b57f0f47636bcea306d8f1f51d":[2,0,7,0,3], -"class_linked_list_1_1_iterator_impl.html#a52d0dfdd7d999cce2000320e3e0aa44a":[2,0,7,0,2], -"class_linked_list_1_1_iterator_impl.html#a60234f5c744fecc464785d6e7b852e06":[2,0,7,0,4], -"class_linked_list_1_1_iterator_impl.html#a798daf5a28ddc9952e20a0ed5c306974":[2,0,7,0,0], -"class_linked_list_1_1_iterator_impl.html#a8f601c8fff3763ccb9ef86c9ddf472ea":[2,0,7,0,7], -"class_linked_list_1_1_iterator_impl.html#a8ff0a3e936ef626ea6a3435dcfed496c":[2,0,7,0,5], -"class_linked_list_1_1_iterator_impl.html#a9c87113bf420b320048bd9b761887052":[2,0,7,0,1], -"class_linked_list_1_1_iterator_impl.html#af71fad9f4990e232af55c73aeddb3823":[2,0,7,0,6], -"class_linked_list_1_1_node.html":[2,0,7,1], -"class_linked_list_1_1_node.html#a3f4761392369dabbaaeba48c4761d371":[2,0,7,1,0], -"class_linked_list_1_1_node.html#a55d55ce4a1941ee648ba6889014ba0e4":[2,0,7,1,2], -"class_linked_list_1_1_node.html#a84a7f4dc11345f753cdb7547b0437852":[2,0,7,1,3], -"class_linked_list_1_1_node.html#af71fad9f4990e232af55c73aeddb3823":[2,0,7,1,1], -"class_p_s_d_a.html":[2,0,8], -"class_p_s_d_a.html#a08176d6b45638c9f0fba1c732125b7f0":[2,0,8,16], -"class_p_s_d_a.html#a10f6155ec60ca70b906b4cd5e2bd6810":[2,0,8,10], -"class_p_s_d_a.html#a17ddffb789aa120ea2634e2ba17efc21":[2,0,8,13], -"class_p_s_d_a.html#a36b6960860c41618e40625937cfe06ee":[2,0,8,8], -"class_p_s_d_a.html#a40882252704234173819fe955eaae536":[2,0,8,1], -"class_p_s_d_a.html#a492b5d4c30a68af9650431d0c77cb1e8":[2,0,8,4], -"class_p_s_d_a.html#a4ef3ecee1ad9ce8e0329c7ca6c9d2f3a":[2,0,8,9], -"class_p_s_d_a.html#a53e7852aa6b8f4be0c33db7f7e350734":[2,0,8,15], -"class_p_s_d_a.html#a774785a0c0c3e180bd4d9f7c56952c15":[2,0,8,12], -"class_p_s_d_a.html#a99cb238eee847f981dc1809429796383":[2,0,8,0], -"class_p_s_d_a.html#a9ba86ff26f27e9c6d5d94b1f0cff9d0c":[2,0,8,14], -"class_p_s_d_a.html#ab173388f103084b18b2a2d112ca4a134":[2,0,8,2], -"class_p_s_d_a.html#ab3d0b223ce8489d3099a651a681106ec":[2,0,8,11], -"class_p_s_d_a.html#acc9c255ff6ca8de1d7a05ad6d1b867b7":[2,0,8,3], -"class_p_s_d_a.html#aead4b439a090b506bf94d2c2fc349f5c":[2,0,8,7], -"class_p_s_d_a.html#af7a89a3f405388a7bc8e79938afa4892":[2,0,8,6], -"class_p_s_d_a.html#af95d18adcf324319134643570d36f896":[2,0,8,5], -"class_random_meldable_heap.html":[2,0,9], -"class_random_meldable_heap.html#a0f7f5ea6016f84f7ec42e4b1a68f88a1":[2,0,9,7], -"class_random_meldable_heap.html#a2856c74deb6bdeab6678603a7c1b239c":[2,0,9,13], -"class_random_meldable_heap.html#a2b0c5fb315ea87e918f6485b5715ec70":[2,0,9,2], -"class_random_meldable_heap.html#a2c150211e88d08d139abcc899849c615":[2,0,9,15], -"class_random_meldable_heap.html#a626f88023a14956c01f5a9e395254442":[2,0,9,1], -"class_random_meldable_heap.html#a69726729670940452a1552426369f999":[2,0,9,8], -"class_random_meldable_heap.html#a703a2b494544e9f724f531b8ef980b4d":[2,0,9,10], -"class_random_meldable_heap.html#a75b7d58a837f1aee7fdcf44c994a749c":[2,0,9,12], -"class_random_meldable_heap.html#a7c3844082f0d4022d04e320190d0d579":[2,0,9,9], -"class_random_meldable_heap.html#a7de71ae18404036c7cc348464ea25f5f":[2,0,9,17], -"class_random_meldable_heap.html#a83184954be3d1f275d08a31aa013aa6f":[2,0,9,11], -"class_random_meldable_heap.html#a9d2871890447dfff9b911bb69fd48b74":[2,0,9,14], -"class_random_meldable_heap.html#ac37595274c6b3411f04d8d036897802a":[2,0,9,16], -"class_random_meldable_heap.html#acc6d2c48d0a69138fb03f0bd762d4289":[2,0,9,4], -"class_random_meldable_heap.html#ad6b8dd660fd2d7815b48f51284ef7053":[2,0,9,6], -"class_random_meldable_heap.html#ad81605b7e0207ed2c100cac1a3fa8147":[2,0,9,5], -"class_random_meldable_heap.html#afda39cf3e42f6dde1ac0891c67bd4a60":[2,0,9,3], -"class_segment_tree.html":[2,0,10], -"class_segment_tree.html#a0171328c01aecf88ba32506b05443bea":[2,0,10,0], -"class_segment_tree.html#a0d3df3fccc12b274e96439b6992b4c35":[2,0,10,8], -"class_segment_tree.html#a4455133bc3dfdd31e81da3c516717726":[2,0,10,7], -"class_segment_tree.html#a872ede0fa9c7d692a206259b9adedca2":[2,0,10,3], -"class_segment_tree.html#a8fd3d00c664cffb3b49e02901de7ed3a":[2,0,10,1], -"class_segment_tree.html#aa7e7a3bfed9f3dfe76ad6ce4615d2b0f":[2,0,10,4], -"class_segment_tree.html#ac31ed2db84d473746e43d797329abff7":[2,0,10,5], -"class_segment_tree.html#acb52b501869d10a7c744680d20c05fa1":[2,0,10,6], -"class_segment_tree.html#afbfa8cf96ec9ddf34e9e3d2ba58365f0":[2,0,10,2], -"class_skip_list.html":[2,0,11], -"class_skip_list.html#a049048bd0ead2ae94cc39d5a1d3ca9db":[2,0,11,18], -"class_skip_list.html#a0f70befb4ab19c4aae234633828305a5":[2,0,11,20], -"class_skip_list.html#a18373c8126749befdccf5bf06528b6cd":[2,0,11,15] +"classes.html":[2,1], +"classflow_1_1_arena_memory_resource.html":[0,0,0,0], +"classflow_1_1_arena_memory_resource.html":[2,0,0,0], +"classflow_1_1_arena_memory_resource.html#a2d283fc7e546c911ffa7869a23671ad8":[0,0,0,0,3], +"classflow_1_1_arena_memory_resource.html#a2d283fc7e546c911ffa7869a23671ad8":[2,0,0,0,3], +"classflow_1_1_arena_memory_resource.html#a621223b622d7efd5503f65c9de3aab1b":[0,0,0,0,1], +"classflow_1_1_arena_memory_resource.html#a621223b622d7efd5503f65c9de3aab1b":[2,0,0,0,1], +"classflow_1_1_arena_memory_resource.html#a705ea8539ba4774256c621c482cd9493":[0,0,0,0,2], +"classflow_1_1_arena_memory_resource.html#a705ea8539ba4774256c621c482cd9493":[2,0,0,0,2], +"classflow_1_1_arena_memory_resource.html#a7ce070e3a7a006cb5a48223788109ec8":[0,0,0,0,4], +"classflow_1_1_arena_memory_resource.html#a7ce070e3a7a006cb5a48223788109ec8":[2,0,0,0,4], +"classflow_1_1_arena_memory_resource.html#ad4978347aee081a4eea9ba60d5c64831":[0,0,0,0,0], +"classflow_1_1_arena_memory_resource.html#ad4978347aee081a4eea9ba60d5c64831":[2,0,0,0,0], +"classflow_1_1_concurrent_flex_queue.html":[0,0,0,1], +"classflow_1_1_concurrent_flex_queue.html":[2,0,0,1], +"classflow_1_1_concurrent_flex_queue.html#a09f21966ef5ef2e1742f538b440e0cba":[0,0,0,1,2], +"classflow_1_1_concurrent_flex_queue.html#a09f21966ef5ef2e1742f538b440e0cba":[2,0,0,1,2], +"classflow_1_1_concurrent_flex_queue.html#a1165f772dc6966274d0cdc8f3fcb562c":[0,0,0,1,13], +"classflow_1_1_concurrent_flex_queue.html#a1165f772dc6966274d0cdc8f3fcb562c":[2,0,0,1,13], +"classflow_1_1_concurrent_flex_queue.html#a148a7764ab30b8e69d0b32cf9cc4d4f6":[0,0,0,1,4], +"classflow_1_1_concurrent_flex_queue.html#a148a7764ab30b8e69d0b32cf9cc4d4f6":[2,0,0,1,4], +"classflow_1_1_concurrent_flex_queue.html#a1940497155a804e76e5770b0df37290a":[0,0,0,1,5], +"classflow_1_1_concurrent_flex_queue.html#a1940497155a804e76e5770b0df37290a":[2,0,0,1,5], +"classflow_1_1_concurrent_flex_queue.html#a40652e3d0f4e7d94a31c1538599ddfe6":[0,0,0,1,15], +"classflow_1_1_concurrent_flex_queue.html#a40652e3d0f4e7d94a31c1538599ddfe6":[2,0,0,1,15], +"classflow_1_1_concurrent_flex_queue.html#a4ff791cba6a6534d72c2cbbb4b2d7d0b":[0,0,0,1,3], +"classflow_1_1_concurrent_flex_queue.html#a4ff791cba6a6534d72c2cbbb4b2d7d0b":[2,0,0,1,3], +"classflow_1_1_concurrent_flex_queue.html#a547f5e0441bc2eb9420b3880c239d22e":[0,0,0,1,16], +"classflow_1_1_concurrent_flex_queue.html#a547f5e0441bc2eb9420b3880c239d22e":[2,0,0,1,16], +"classflow_1_1_concurrent_flex_queue.html#a625000dfe4ec5396867921d8cf686f64":[0,0,0,1,10], +"classflow_1_1_concurrent_flex_queue.html#a625000dfe4ec5396867921d8cf686f64":[2,0,0,1,10], +"classflow_1_1_concurrent_flex_queue.html#a7a81c9e4552bf82e2acd32c2e4b0f081":[0,0,0,1,8], +"classflow_1_1_concurrent_flex_queue.html#a7a81c9e4552bf82e2acd32c2e4b0f081":[2,0,0,1,8], +"classflow_1_1_concurrent_flex_queue.html#a9695c97533ad20970414839cbb147374":[0,0,0,1,11], +"classflow_1_1_concurrent_flex_queue.html#a9695c97533ad20970414839cbb147374":[2,0,0,1,11], +"classflow_1_1_concurrent_flex_queue.html#ab888996320d668f06c398d2e886278bc":[0,0,0,1,14], +"classflow_1_1_concurrent_flex_queue.html#ab888996320d668f06c398d2e886278bc":[2,0,0,1,14], +"classflow_1_1_concurrent_flex_queue.html#abeff8c5717fce2252e795c0eac78f218":[0,0,0,1,7], +"classflow_1_1_concurrent_flex_queue.html#abeff8c5717fce2252e795c0eac78f218":[2,0,0,1,7], +"classflow_1_1_concurrent_flex_queue.html#ac45ab0b7ea0f605549619a7acf41e4b7":[0,0,0,1,9], +"classflow_1_1_concurrent_flex_queue.html#ac45ab0b7ea0f605549619a7acf41e4b7":[2,0,0,1,9], +"classflow_1_1_concurrent_flex_queue.html#ad4c753d4ac97a9d9f108a85c1deae03a":[0,0,0,1,6], +"classflow_1_1_concurrent_flex_queue.html#ad4c753d4ac97a9d9f108a85c1deae03a":[2,0,0,1,6], +"classflow_1_1_concurrent_flex_queue.html#aee78e86f8ff1501f4e87d194f506ed5a":[0,0,0,1,1], +"classflow_1_1_concurrent_flex_queue.html#aee78e86f8ff1501f4e87d194f506ed5a":[2,0,0,1,1], +"classflow_1_1_concurrent_flex_queue.html#af0130ab4a2ff9034c8dd97fbee1fc968":[0,0,0,1,12], +"classflow_1_1_concurrent_flex_queue.html#af0130ab4a2ff9034c8dd97fbee1fc968":[2,0,0,1,12], +"classflow_1_1_concurrent_queue.html":[0,0,0,2], +"classflow_1_1_concurrent_queue.html":[2,0,0,2], +"classflow_1_1_concurrent_queue.html#a0bf4edf07e01dc7ac12f2277f71230ef":[0,0,0,2,12], +"classflow_1_1_concurrent_queue.html#a0bf4edf07e01dc7ac12f2277f71230ef":[2,0,0,2,12], +"classflow_1_1_concurrent_queue.html#a28100c215fb8bd848e8311f5f8165bb2":[0,0,0,2,10], +"classflow_1_1_concurrent_queue.html#a28100c215fb8bd848e8311f5f8165bb2":[2,0,0,2,10], +"classflow_1_1_concurrent_queue.html#a33be3ac6f7a386943a9bf1b73b15af7d":[0,0,0,2,1], +"classflow_1_1_concurrent_queue.html#a33be3ac6f7a386943a9bf1b73b15af7d":[2,0,0,2,1], +"classflow_1_1_concurrent_queue.html#a3f443bd583da922327024612530e33ea":[0,0,0,2,14], +"classflow_1_1_concurrent_queue.html#a3f443bd583da922327024612530e33ea":[2,0,0,2,14], +"classflow_1_1_concurrent_queue.html#a3f76748bdaf041ab31cf52b0faef44fe":[0,0,0,2,7], +"classflow_1_1_concurrent_queue.html#a3f76748bdaf041ab31cf52b0faef44fe":[2,0,0,2,7], +"classflow_1_1_concurrent_queue.html#a5c0d191969f644b6146ffb547f07e19f":[0,0,0,2,11], +"classflow_1_1_concurrent_queue.html#a5c0d191969f644b6146ffb547f07e19f":[2,0,0,2,11], +"classflow_1_1_concurrent_queue.html#a8afd8f92a60a59cf6c42da30a6eb2a0e":[0,0,0,2,8], +"classflow_1_1_concurrent_queue.html#a8afd8f92a60a59cf6c42da30a6eb2a0e":[2,0,0,2,8], +"classflow_1_1_concurrent_queue.html#a921fb77ec80aefbf0954a21ebfe49d67":[0,0,0,2,4], +"classflow_1_1_concurrent_queue.html#a921fb77ec80aefbf0954a21ebfe49d67":[2,0,0,2,4], +"classflow_1_1_concurrent_queue.html#a9afa84e43f840bafec48b21caf7f3243":[0,0,0,2,3], +"classflow_1_1_concurrent_queue.html#a9afa84e43f840bafec48b21caf7f3243":[2,0,0,2,3], +"classflow_1_1_concurrent_queue.html#ab09b66803142e1105763c5887ec1c546":[0,0,0,2,6], +"classflow_1_1_concurrent_queue.html#ab09b66803142e1105763c5887ec1c546":[2,0,0,2,6], +"classflow_1_1_concurrent_queue.html#abdcc25822ea84611d059f0164c29bf40":[0,0,0,2,2], +"classflow_1_1_concurrent_queue.html#abdcc25822ea84611d059f0164c29bf40":[2,0,0,2,2], +"classflow_1_1_concurrent_queue.html#ac343336ca09c2e09f85c0f17addc1010":[0,0,0,2,15], +"classflow_1_1_concurrent_queue.html#ac343336ca09c2e09f85c0f17addc1010":[2,0,0,2,15], +"classflow_1_1_concurrent_queue.html#ad62cf85a47644dbbb06268bdc68988bc":[0,0,0,2,9], +"classflow_1_1_concurrent_queue.html#ad62cf85a47644dbbb06268bdc68988bc":[2,0,0,2,9], +"classflow_1_1_concurrent_queue.html#ae41447f6c7b2caafcbfce2533219ad0c":[0,0,0,2,13], +"classflow_1_1_concurrent_queue.html#ae41447f6c7b2caafcbfce2533219ad0c":[2,0,0,2,13], +"classflow_1_1_concurrent_queue.html#af0e073c9657bbc9ac2a70e97df5a1d1d":[0,0,0,2,5], +"classflow_1_1_concurrent_queue.html#af0e073c9657bbc9ac2a70e97df5a1d1d":[2,0,0,2,5], +"classflow_1_1_concurrent_queue.html#af4048108b7a00a714017892338c92ac6":[0,0,0,2,0], +"classflow_1_1_concurrent_queue.html#af4048108b7a00a714017892338c92ac6":[2,0,0,2,0], +"classflow_1_1_counted_value_view_iterator.html":[0,0,0,3], +"classflow_1_1_counted_value_view_iterator.html":[2,0,0,3], +"classflow_1_1_counted_value_view_iterator.html#a15cd12e7b60ac56f657362dda2c5dc68":[0,0,0,3,7], +"classflow_1_1_counted_value_view_iterator.html#a15cd12e7b60ac56f657362dda2c5dc68":[2,0,0,3,7], +"classflow_1_1_counted_value_view_iterator.html#a46c830285785216a842c7cb504b56e72":[0,0,0,3,2], +"classflow_1_1_counted_value_view_iterator.html#a46c830285785216a842c7cb504b56e72":[2,0,0,3,2], +"classflow_1_1_counted_value_view_iterator.html#a4fffa537ac2693dd8f3258b909575de9":[0,0,0,3,3], +"classflow_1_1_counted_value_view_iterator.html#a4fffa537ac2693dd8f3258b909575de9":[2,0,0,3,3], +"classflow_1_1_counted_value_view_iterator.html#a634a2db73627fcbd4fee77e1a3c2375e":[0,0,0,3,10], +"classflow_1_1_counted_value_view_iterator.html#a634a2db73627fcbd4fee77e1a3c2375e":[2,0,0,3,10], +"classflow_1_1_counted_value_view_iterator.html#a7fd5897e27305768eaf068cbe4644de5":[0,0,0,3,9], +"classflow_1_1_counted_value_view_iterator.html#a7fd5897e27305768eaf068cbe4644de5":[2,0,0,3,9], +"classflow_1_1_counted_value_view_iterator.html#ab15d7850ec1d51e9c23b298d79009207":[0,0,0,3,0], +"classflow_1_1_counted_value_view_iterator.html#ab15d7850ec1d51e9c23b298d79009207":[2,0,0,3,0], +"classflow_1_1_counted_value_view_iterator.html#ab5abdaf11e4149bbc1cbbdf620845ef9":[0,0,0,3,11], +"classflow_1_1_counted_value_view_iterator.html#ab5abdaf11e4149bbc1cbbdf620845ef9":[2,0,0,3,11], +"classflow_1_1_counted_value_view_iterator.html#acaef28f35bd304c4e561f6ec4aea2d00":[0,0,0,3,4], +"classflow_1_1_counted_value_view_iterator.html#acaef28f35bd304c4e561f6ec4aea2d00":[2,0,0,3,4], +"classflow_1_1_counted_value_view_iterator.html#ad74bbd8d67a9bf77887a1825d158a94b":[0,0,0,3,12], +"classflow_1_1_counted_value_view_iterator.html#ad74bbd8d67a9bf77887a1825d158a94b":[2,0,0,3,12], +"classflow_1_1_counted_value_view_iterator.html#ae3c6ce089aca7af55dbd0ea85d083a0b":[0,0,0,3,1], +"classflow_1_1_counted_value_view_iterator.html#ae3c6ce089aca7af55dbd0ea85d083a0b":[2,0,0,3,1], +"classflow_1_1_counted_value_view_iterator.html#ae5fcbb0fd603cd40e5562d3f76f846df":[0,0,0,3,6], +"classflow_1_1_counted_value_view_iterator.html#ae5fcbb0fd603cd40e5562d3f76f846df":[2,0,0,3,6], +"classflow_1_1_counted_value_view_iterator.html#aec5e48263e265314df292c11b62b780d":[0,0,0,3,5], +"classflow_1_1_counted_value_view_iterator.html#aec5e48263e265314df292c11b62b780d":[2,0,0,3,5], +"classflow_1_1_counted_value_view_iterator.html#afa83583c08318439349f6b901aee9b78":[0,0,0,3,13], +"classflow_1_1_counted_value_view_iterator.html#afa83583c08318439349f6b901aee9b78":[2,0,0,3,13], +"classflow_1_1_counted_value_view_iterator.html#afd00e1df6549e44a2429e929d8bdf909":[0,0,0,3,8], +"classflow_1_1_counted_value_view_iterator.html#afd00e1df6549e44a2429e929d8bdf909":[2,0,0,3,8], +"classflow_1_1_counted_value_view_iterator.html#afe83d60be27bae44aeaf8df0b1daf17a":[0,0,0,3,14], +"classflow_1_1_counted_value_view_iterator.html#afe83d60be27bae44aeaf8df0b1daf17a":[2,0,0,3,14], +"classflow_1_1_debug_class.html":[0,0,0,4], +"classflow_1_1_debug_class.html":[2,0,0,4], +"classflow_1_1_debug_class.html#a04f020eccd10fcb93503add61ba461db":[0,0,0,4,5], +"classflow_1_1_debug_class.html#a04f020eccd10fcb93503add61ba461db":[2,0,0,4,5], +"classflow_1_1_debug_class.html#a29fd182d9df656b7531b0cb829c7a629":[0,0,0,4,1], +"classflow_1_1_debug_class.html#a29fd182d9df656b7531b0cb829c7a629":[2,0,0,4,1], +"classflow_1_1_debug_class.html#a306b6c316e11e3d9d7fb1adf140a98df":[0,0,0,4,4], +"classflow_1_1_debug_class.html#a306b6c316e11e3d9d7fb1adf140a98df":[2,0,0,4,4], +"classflow_1_1_debug_class.html#a31d3750a346067255700270ac37a8248":[0,0,0,4,0], +"classflow_1_1_debug_class.html#a31d3750a346067255700270ac37a8248":[2,0,0,4,0], +"classflow_1_1_debug_class.html#a48a695f9cec5b0115ebdf61a5f15b5ea":[0,0,0,4,3], +"classflow_1_1_debug_class.html#a48a695f9cec5b0115ebdf61a5f15b5ea":[2,0,0,4,3], +"classflow_1_1_debug_class.html#a741bd5a98db4e7cae036ac8148fdf0df":[0,0,0,4,7], +"classflow_1_1_debug_class.html#a741bd5a98db4e7cae036ac8148fdf0df":[2,0,0,4,7], +"classflow_1_1_debug_class.html#aa914f20c66eb15c818bbe0fb2df89b9e":[0,0,0,4,9], +"classflow_1_1_debug_class.html#aa914f20c66eb15c818bbe0fb2df89b9e":[2,0,0,4,9], +"classflow_1_1_debug_class.html#ac375c9dca9062cebadebc94198dc1996":[0,0,0,4,10], +"classflow_1_1_debug_class.html#ac375c9dca9062cebadebc94198dc1996":[2,0,0,4,10], +"classflow_1_1_debug_class.html#ac6e3df93ac573336f3a0a267ab6b18e1":[0,0,0,4,2], +"classflow_1_1_debug_class.html#ac6e3df93ac573336f3a0a267ab6b18e1":[2,0,0,4,2], +"classflow_1_1_debug_class.html#ac9ebd40c457de9d9aad379e360f3e66f":[0,0,0,4,6], +"classflow_1_1_debug_class.html#ac9ebd40c457de9d9aad379e360f3e66f":[2,0,0,4,6], +"classflow_1_1_debug_class.html#ae52bd2c39871159b4c0f89aca547c2a7":[0,0,0,4,8], +"classflow_1_1_debug_class.html#ae52bd2c39871159b4c0f89aca547c2a7":[2,0,0,4,8], +"classflow_1_1_default_memory_resource.html":[0,0,0,5], +"classflow_1_1_default_memory_resource.html":[2,0,0,5], +"classflow_1_1_default_memory_resource.html#a01bea59a2f2d07da11856e060153a08f":[0,0,0,5,2], +"classflow_1_1_default_memory_resource.html#a01bea59a2f2d07da11856e060153a08f":[2,0,0,5,2], +"classflow_1_1_default_memory_resource.html#a5b3b10ccc61e2b8d17606eb5fc0f1627":[0,0,0,5,0], +"classflow_1_1_default_memory_resource.html#a5b3b10ccc61e2b8d17606eb5fc0f1627":[2,0,0,5,0], +"classflow_1_1_default_memory_resource.html#ae780c88790db29cf6e74b2363463f86d":[0,0,0,5,1], +"classflow_1_1_default_memory_resource.html#ae780c88790db29cf6e74b2363463f86d":[2,0,0,5,1], +"classflow_1_1_memory_resource.html":[0,0,0,6], +"classflow_1_1_memory_resource.html":[2,0,0,6], +"classflow_1_1_memory_resource.html#a0fe4fd1de140064284dee1cc16c33e21":[0,0,0,6,4], +"classflow_1_1_memory_resource.html#a0fe4fd1de140064284dee1cc16c33e21":[2,0,0,6,4], +"classflow_1_1_memory_resource.html#a5f348b979d67c8503d67d6a5ec7bfda9":[0,0,0,6,1], +"classflow_1_1_memory_resource.html#a5f348b979d67c8503d67d6a5ec7bfda9":[2,0,0,6,1], +"classflow_1_1_memory_resource.html#a624ccdb4ce7db4bb30ccf43ef8802352":[0,0,0,6,3], +"classflow_1_1_memory_resource.html#a624ccdb4ce7db4bb30ccf43ef8802352":[2,0,0,6,3], +"classflow_1_1_memory_resource.html#a8179af2eb6e69df16d8ee3d82286ec10":[0,0,0,6,2], +"classflow_1_1_memory_resource.html#a8179af2eb6e69df16d8ee3d82286ec10":[2,0,0,6,2], +"classflow_1_1_memory_resource.html#aed7eed2f0372002ff66df9decc501071":[0,0,0,6,0], +"classflow_1_1_memory_resource.html#aed7eed2f0372002ff66df9decc501071":[2,0,0,6,0], +"classflow_1_1_polymorphic_allocator.html":[0,0,0,7], +"classflow_1_1_polymorphic_allocator.html":[2,0,0,7], +"classflow_1_1_polymorphic_allocator.html#a15d7aac64ac85004897b094b38ca73bd":[0,0,0,7,11], +"classflow_1_1_polymorphic_allocator.html#a15d7aac64ac85004897b094b38ca73bd":[2,0,0,7,11], +"classflow_1_1_polymorphic_allocator.html#a246865912a463ce03695521796e96c0b":[0,0,0,7,6], +"classflow_1_1_polymorphic_allocator.html#a246865912a463ce03695521796e96c0b":[2,0,0,7,6], +"classflow_1_1_polymorphic_allocator.html#a61ce18be7ea581a5281a5bceb32917ff":[0,0,0,7,1], +"classflow_1_1_polymorphic_allocator.html#a61ce18be7ea581a5281a5bceb32917ff":[2,0,0,7,1], +"classflow_1_1_polymorphic_allocator.html#a6bc365874bc82309e83d3d2dd28fb5eb":[0,0,0,7,9], +"classflow_1_1_polymorphic_allocator.html#a6bc365874bc82309e83d3d2dd28fb5eb":[2,0,0,7,9], +"classflow_1_1_polymorphic_allocator.html#a9856518e727c58c747d28b25701bd8c1":[0,0,0,7,0], +"classflow_1_1_polymorphic_allocator.html#a9856518e727c58c747d28b25701bd8c1":[2,0,0,7,0], +"classflow_1_1_polymorphic_allocator.html#a9de9cf20311e8ddb8e9c9128157f4884":[0,0,0,7,10], +"classflow_1_1_polymorphic_allocator.html#a9de9cf20311e8ddb8e9c9128157f4884":[2,0,0,7,10], +"classflow_1_1_polymorphic_allocator.html#a9ecfbea0e237d47dbaeb792d40470981":[0,0,0,7,4], +"classflow_1_1_polymorphic_allocator.html#a9ecfbea0e237d47dbaeb792d40470981":[2,0,0,7,4], +"classflow_1_1_polymorphic_allocator.html#aaa09cc96471e180791aa70167fd8112e":[0,0,0,7,3], +"classflow_1_1_polymorphic_allocator.html#aaa09cc96471e180791aa70167fd8112e":[2,0,0,7,3], +"classflow_1_1_polymorphic_allocator.html#abc9cffd1ba2487b9446352c42b8b820d":[0,0,0,7,7], +"classflow_1_1_polymorphic_allocator.html#abc9cffd1ba2487b9446352c42b8b820d":[2,0,0,7,7], +"classflow_1_1_polymorphic_allocator.html#abdb1a1785d0e9ee4baaf5ee819dcb29e":[0,0,0,7,2], +"classflow_1_1_polymorphic_allocator.html#abdb1a1785d0e9ee4baaf5ee819dcb29e":[2,0,0,7,2], +"classflow_1_1_polymorphic_allocator.html#ae2e657ac5eb873d11ad71723277caaa8":[0,0,0,7,5], +"classflow_1_1_polymorphic_allocator.html#ae2e657ac5eb873d11ad71723277caaa8":[2,0,0,7,5], +"classflow_1_1_polymorphic_allocator.html#aef1689a9b79f3750119e25fabf20f3f8":[0,0,0,7,8], +"classflow_1_1_polymorphic_allocator.html#aef1689a9b79f3750119e25fabf20f3f8":[2,0,0,7,8], +"classflow_1_1_pool_memory_resource.html":[0,0,0,8], +"classflow_1_1_pool_memory_resource.html":[2,0,0,8], +"classflow_1_1_pool_memory_resource.html#a06a3832bb9d9708ee001638ad8690c65":[0,0,0,8,7], +"classflow_1_1_pool_memory_resource.html#a06a3832bb9d9708ee001638ad8690c65":[2,0,0,8,7], +"classflow_1_1_pool_memory_resource.html#a3ac35916ea439a181138f26c8ad158e1":[0,0,0,8,1], +"classflow_1_1_pool_memory_resource.html#a3ac35916ea439a181138f26c8ad158e1":[2,0,0,8,1], +"classflow_1_1_pool_memory_resource.html#a3cfb07a234f406f4fb8c1d1c154861bc":[0,0,0,8,3], +"classflow_1_1_pool_memory_resource.html#a3cfb07a234f406f4fb8c1d1c154861bc":[2,0,0,8,3], +"classflow_1_1_pool_memory_resource.html#a5fd5e0967552063825e24232b3c4c5bc":[0,0,0,8,2], +"classflow_1_1_pool_memory_resource.html#a5fd5e0967552063825e24232b3c4c5bc":[2,0,0,8,2], +"classflow_1_1_pool_memory_resource.html#a78edca92b66c6501c24f699bb13090ab":[0,0,0,8,5], +"classflow_1_1_pool_memory_resource.html#a78edca92b66c6501c24f699bb13090ab":[2,0,0,8,5], +"classflow_1_1_pool_memory_resource.html#ac14d17a1ae812d2f72140249a05f32be":[0,0,0,8,6], +"classflow_1_1_pool_memory_resource.html#ac14d17a1ae812d2f72140249a05f32be":[2,0,0,8,6], +"classflow_1_1_pool_memory_resource.html#ad096a8ce328207d87d572b19ae51f324":[0,0,0,8,4], +"classflow_1_1_pool_memory_resource.html#ad096a8ce328207d87d572b19ae51f324":[2,0,0,8,4], +"classflow_1_1_stack_memory_resource.html":[0,0,0,9], +"classflow_1_1_stack_memory_resource.html":[2,0,0,9], +"classflow_1_1_stack_memory_resource.html#a2ac0250b455868bd79a38da643b421d5":[0,0,0,9,2], +"classflow_1_1_stack_memory_resource.html#a2ac0250b455868bd79a38da643b421d5":[2,0,0,9,2], +"classflow_1_1_stack_memory_resource.html#a2f4289d48c9ac450dc8f2f44f5c0ef25":[0,0,0,9,4], +"classflow_1_1_stack_memory_resource.html#a2f4289d48c9ac450dc8f2f44f5c0ef25":[2,0,0,9,4], +"classflow_1_1_stack_memory_resource.html#a472e9dd93c0aad65c2a3768254d2bf1f":[0,0,0,9,3], +"classflow_1_1_stack_memory_resource.html#a472e9dd93c0aad65c2a3768254d2bf1f":[2,0,0,9,3], +"classflow_1_1_stack_memory_resource.html#a993576cf99976c5cb4c07581dcf89e7a":[0,0,0,9,1], +"classflow_1_1_stack_memory_resource.html#a993576cf99976c5cb4c07581dcf89e7a":[2,0,0,9,1], +"classflow_1_1_stack_memory_resource.html#ad4add4a5c15fafb57478f030146d4e91":[0,0,0,9,5], +"classflow_1_1_stack_memory_resource.html#ad4add4a5c15fafb57478f030146d4e91":[2,0,0,9,5], +"classflow_1_1_timer.html":[0,0,0,10], +"classflow_1_1_timer.html":[2,0,0,10], +"classflow_1_1_timer.html#a0bd09e9dc2f660a4e8b3393dd06dbf64":[0,0,0,10,4], +"classflow_1_1_timer.html#a0bd09e9dc2f660a4e8b3393dd06dbf64":[2,0,0,10,4], +"classflow_1_1_timer.html#a1e1fdbe90de75ff50c147a965b756f2b":[0,0,0,10,2], +"classflow_1_1_timer.html#a1e1fdbe90de75ff50c147a965b756f2b":[2,0,0,10,2], +"classflow_1_1_timer.html#a491df8664619dd62baf9e1eac1170d96":[0,0,0,10,5], +"classflow_1_1_timer.html#a491df8664619dd62baf9e1eac1170d96":[2,0,0,10,5], +"classflow_1_1_timer.html#a561f3b246b164cafaa2e7e8e9e99d230":[0,0,0,10,7], +"classflow_1_1_timer.html#a561f3b246b164cafaa2e7e8e9e99d230":[2,0,0,10,7], +"classflow_1_1_timer.html#a74b4619eeb69ef54d750bcb91aa837fe":[0,0,0,10,3], +"classflow_1_1_timer.html#a74b4619eeb69ef54d750bcb91aa837fe":[2,0,0,10,3], +"classflow_1_1_timer.html#a84fb288a95562d7511d226ebe6ad6f8e":[0,0,0,10,1], +"classflow_1_1_timer.html#a84fb288a95562d7511d226ebe6ad6f8e":[2,0,0,10,1], +"classflow_1_1_timer.html#aaab2494b84d8f0522aa888c52675b60f":[0,0,0,10,0], +"classflow_1_1_timer.html#aaab2494b84d8f0522aa888c52675b60f":[2,0,0,10,0], +"classflow_1_1_timer.html#acbd02d5581f7c9944d26b2af920de561":[0,0,0,10,6], +"classflow_1_1_timer.html#acbd02d5581f7c9944d26b2af920de561":[2,0,0,10,6], +"classflow_1_1_tuple.html":[0,0,0,11], +"classflow_1_1_tuple.html":[2,0,0,11], +"classflow_1_1_tuple.html#ac21246e9ba10eac47b3ef6370535214f":[0,0,0,11,0], +"classflow_1_1_tuple.html#ac21246e9ba10eac47b3ef6370535214f":[2,0,0,11,0], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html":[0,0,0,12], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html":[2,0,0,12], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a4f1f896d869a98776eb4ea84f90ff3f9":[0,0,0,12,0], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a4f1f896d869a98776eb4ea84f90ff3f9":[2,0,0,12,0], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a55b886793da978c41864c41132402df2":[0,0,0,12,1], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a55b886793da978c41864c41132402df2":[2,0,0,12,1], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a6fa5e57287bdb5c2bfbaf12333816cec":[0,0,0,12,5], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a6fa5e57287bdb5c2bfbaf12333816cec":[2,0,0,12,5], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a7f60fa146191162adc0fa354fb1238cc":[0,0,0,12,2], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a7f60fa146191162adc0fa354fb1238cc":[2,0,0,12,2], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9e0704bb42876ba20c0fde9df37b980f":[0,0,0,12,3], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9e0704bb42876ba20c0fde9df37b980f":[2,0,0,12,3], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9fd9a8776d08fac17e76168b054204cd":[0,0,0,12,4], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9fd9a8776d08fac17e76168b054204cd":[2,0,0,12,4], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#ae7bb027da9f28e7ea61c06ba37d322ab":[0,0,0,12,6], +"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#ae7bb027da9f28e7ea61c06ba37d322ab":[2,0,0,12,6] }; diff --git a/docs/navtreeindex1.js b/docs/navtreeindex1.js index 0c91f86..c07cfe1 100644 --- a/docs/navtreeindex1.js +++ b/docs/navtreeindex1.js @@ -1,253 +1,230 @@ var NAVTREEINDEX1 = { -"class_skip_list.html#a21c7073f015a4981aa3db81c68ded678":[2,0,11,6], -"class_skip_list.html#a2e04647b73b200aa4f55cf548dac80dd":[2,0,11,13], -"class_skip_list.html#a30db5634b1bda0964c31c6db4f0e4a3d":[2,0,11,22], -"class_skip_list.html#a42bc1096d9969553bc1995ed143aff13":[2,0,11,4], -"class_skip_list.html#a4cc1bc645d0eac48b0684501c35b68ee":[2,0,11,8], -"class_skip_list.html#a524b4b9a54258a5fa37e72ee8cc2a592":[2,0,11,12], -"class_skip_list.html#a5595a1c2e776f2ed0392350fec54b3ca":[2,0,11,9], -"class_skip_list.html#a78009a34e704863223fb7d5ac6bfb705":[2,0,11,14], -"class_skip_list.html#a7b96cbaab5563be94deb2515f4b7d005":[2,0,11,7], -"class_skip_list.html#a9b6d942c7485e8eb62f4c8c0c4d76ce1":[2,0,11,16], -"class_skip_list.html#abdf618ba429ef69b0a5ffacd2e7cb029":[2,0,11,19], -"class_skip_list.html#ac23462bfed8dd4a68989c6ec371297d3":[2,0,11,17], -"class_skip_list.html#acbb87b31d514f4ca1613e1521cc56585":[2,0,11,5], -"class_skip_list.html#acf677bbb22255fe662570d04fa1d39f2":[2,0,11,10], -"class_skip_list.html#ad107b551a4abbdd19c796aa268192d7f":[2,0,11,23], -"class_skip_list.html#ae3db55a74bebba283371d6a07eeba4e4":[2,0,11,21], -"class_skip_list.html#ae4e2b80c7ab0f4b9e20390b96f8ba82b":[2,0,11,11], -"class_skip_list.html#af16211f5bd5c42c443adeade271720b7":[2,0,11,3], -"class_skip_list_1_1_iterator_impl.html":[2,0,11,0], -"class_skip_list_1_1_iterator_impl.html#a314bb1dc8b3e57380fc6c684164c960e":[2,0,11,0,6], -"class_skip_list_1_1_iterator_impl.html#a494f3d41a62b132fe122db34b60dd258":[2,0,11,0,0], -"class_skip_list_1_1_iterator_impl.html#a86c3a76b1ed67707f3805e7378bcfc26":[2,0,11,0,4], -"class_skip_list_1_1_iterator_impl.html#ac126981346d56d95dbdb4f443365265b":[2,0,11,0,5], -"class_skip_list_1_1_iterator_impl.html#ac3dd0bbc5bdd50c18d2b5d0014f650e9":[2,0,11,0,3], -"class_skip_list_1_1_iterator_impl.html#ad638955b109f8a7f3220dd1f06cda062":[2,0,11,0,1], -"class_skip_list_1_1_iterator_impl.html#ada7dd87c088aee472ec3e228b90560c2":[2,0,11,0,2], -"class_sparse_table.html":[2,0,12], -"class_sparse_table.html#a03fb9a33783e5a9963d7a6bf12a53db8":[2,0,12,3], -"class_sparse_table.html#a13b34b60970ef48e919b76c24de4845d":[2,0,12,2], -"class_sparse_table.html#a4b4ddbdcbadc9111cb6774fb5aa7138c":[2,0,12,5], -"class_sparse_table.html#a65c85236969ff6a8f18b0265dd76b669":[2,0,12,0], -"class_sparse_table.html#a6afd60d3402ddf6f4b2b10adf61f15c0":[2,0,12,1], -"class_sparse_table.html#af477d026d12d824c070f86c12d36473c":[2,0,12,4], -"class_trie.html":[2,0,13], -"class_trie.html#a03d741ca549f30e7f5889ccaa6b083bd":[2,0,13,10], -"class_trie.html#a104fc9742f008835573d540fb989eea1":[2,0,13,8], -"class_trie.html#a2662953bc5ae29a49d5298133f7222bc":[2,0,13,7], -"class_trie.html#a2744b10e84471c92ec03a8be7232a28c":[2,0,13,2], -"class_trie.html#a317c6fcb5202f78b7c89afd9a40f6aa7":[2,0,13,4], -"class_trie.html#a4c4ebbb18ef1114d31e8a6f17d355778":[2,0,13,5], -"class_trie.html#aa238f7ca666567689d9868eaaedf1e01":[2,0,13,6], -"class_trie.html#ab21d47e41ffbd82ee7d84cd917ca3b77":[2,0,13,9], -"class_trie.html#ae6c561f0202434b3a488b436060c5832":[2,0,13,3], -"class_trie.html#af8a231351d78977f070e94f1850ce9ad":[2,0,13,1], -"class_trie_1_1_node.html":[2,0,13,0], -"class_trie_1_1_node.html#a5d6bcd5a59d9ddd60924c8694925cf1b":[2,0,13,0,1], -"class_trie_1_1_node.html#a70a940cce0f7a9828063f0fc39d8d8a7":[2,0,13,0,0], -"class_trie_1_1_node.html#a7a3e7fccbb0c2f098da866a2f4517e57":[2,0,13,0,2], -"classes.html":[2,1], -"classflow_1_1_arena_memory_resource.html":[0,0,1,0], -"classflow_1_1_arena_memory_resource.html":[2,0,0,0], -"classflow_1_1_arena_memory_resource.html#a2d283fc7e546c911ffa7869a23671ad8":[0,0,1,0,3], -"classflow_1_1_arena_memory_resource.html#a2d283fc7e546c911ffa7869a23671ad8":[2,0,0,0,3], -"classflow_1_1_arena_memory_resource.html#a621223b622d7efd5503f65c9de3aab1b":[0,0,1,0,1], -"classflow_1_1_arena_memory_resource.html#a621223b622d7efd5503f65c9de3aab1b":[2,0,0,0,1], -"classflow_1_1_arena_memory_resource.html#a705ea8539ba4774256c621c482cd9493":[0,0,1,0,2], -"classflow_1_1_arena_memory_resource.html#a705ea8539ba4774256c621c482cd9493":[2,0,0,0,2], -"classflow_1_1_arena_memory_resource.html#a7ce070e3a7a006cb5a48223788109ec8":[0,0,1,0,4], -"classflow_1_1_arena_memory_resource.html#a7ce070e3a7a006cb5a48223788109ec8":[2,0,0,0,4], -"classflow_1_1_arena_memory_resource.html#ad4978347aee081a4eea9ba60d5c64831":[0,0,1,0,0], -"classflow_1_1_arena_memory_resource.html#ad4978347aee081a4eea9ba60d5c64831":[2,0,0,0,0], -"classflow_1_1_concurrent_flex_queue.html":[0,0,1,1], -"classflow_1_1_concurrent_flex_queue.html":[2,0,0,1], -"classflow_1_1_concurrent_flex_queue.html#a09f21966ef5ef2e1742f538b440e0cba":[0,0,1,1,2], -"classflow_1_1_concurrent_flex_queue.html#a09f21966ef5ef2e1742f538b440e0cba":[2,0,0,1,2], -"classflow_1_1_concurrent_flex_queue.html#a1165f772dc6966274d0cdc8f3fcb562c":[0,0,1,1,13], -"classflow_1_1_concurrent_flex_queue.html#a1165f772dc6966274d0cdc8f3fcb562c":[2,0,0,1,13], -"classflow_1_1_concurrent_flex_queue.html#a148a7764ab30b8e69d0b32cf9cc4d4f6":[0,0,1,1,4], -"classflow_1_1_concurrent_flex_queue.html#a148a7764ab30b8e69d0b32cf9cc4d4f6":[2,0,0,1,4], -"classflow_1_1_concurrent_flex_queue.html#a1940497155a804e76e5770b0df37290a":[0,0,1,1,5], -"classflow_1_1_concurrent_flex_queue.html#a1940497155a804e76e5770b0df37290a":[2,0,0,1,5], -"classflow_1_1_concurrent_flex_queue.html#a40652e3d0f4e7d94a31c1538599ddfe6":[0,0,1,1,15], -"classflow_1_1_concurrent_flex_queue.html#a40652e3d0f4e7d94a31c1538599ddfe6":[2,0,0,1,15], -"classflow_1_1_concurrent_flex_queue.html#a4ff791cba6a6534d72c2cbbb4b2d7d0b":[0,0,1,1,3], -"classflow_1_1_concurrent_flex_queue.html#a4ff791cba6a6534d72c2cbbb4b2d7d0b":[2,0,0,1,3], -"classflow_1_1_concurrent_flex_queue.html#a547f5e0441bc2eb9420b3880c239d22e":[0,0,1,1,16], -"classflow_1_1_concurrent_flex_queue.html#a547f5e0441bc2eb9420b3880c239d22e":[2,0,0,1,16], -"classflow_1_1_concurrent_flex_queue.html#a625000dfe4ec5396867921d8cf686f64":[0,0,1,1,10], -"classflow_1_1_concurrent_flex_queue.html#a625000dfe4ec5396867921d8cf686f64":[2,0,0,1,10], -"classflow_1_1_concurrent_flex_queue.html#a7a81c9e4552bf82e2acd32c2e4b0f081":[0,0,1,1,8], -"classflow_1_1_concurrent_flex_queue.html#a7a81c9e4552bf82e2acd32c2e4b0f081":[2,0,0,1,8], -"classflow_1_1_concurrent_flex_queue.html#a9695c97533ad20970414839cbb147374":[0,0,1,1,11], -"classflow_1_1_concurrent_flex_queue.html#a9695c97533ad20970414839cbb147374":[2,0,0,1,11], -"classflow_1_1_concurrent_flex_queue.html#ab888996320d668f06c398d2e886278bc":[0,0,1,1,14], -"classflow_1_1_concurrent_flex_queue.html#ab888996320d668f06c398d2e886278bc":[2,0,0,1,14], -"classflow_1_1_concurrent_flex_queue.html#abeff8c5717fce2252e795c0eac78f218":[0,0,1,1,7], -"classflow_1_1_concurrent_flex_queue.html#abeff8c5717fce2252e795c0eac78f218":[2,0,0,1,7], -"classflow_1_1_concurrent_flex_queue.html#ac45ab0b7ea0f605549619a7acf41e4b7":[0,0,1,1,9], -"classflow_1_1_concurrent_flex_queue.html#ac45ab0b7ea0f605549619a7acf41e4b7":[2,0,0,1,9], -"classflow_1_1_concurrent_flex_queue.html#ad4c753d4ac97a9d9f108a85c1deae03a":[0,0,1,1,6], -"classflow_1_1_concurrent_flex_queue.html#ad4c753d4ac97a9d9f108a85c1deae03a":[2,0,0,1,6], -"classflow_1_1_concurrent_flex_queue.html#aee78e86f8ff1501f4e87d194f506ed5a":[0,0,1,1,1], -"classflow_1_1_concurrent_flex_queue.html#aee78e86f8ff1501f4e87d194f506ed5a":[2,0,0,1,1], -"classflow_1_1_concurrent_flex_queue.html#af0130ab4a2ff9034c8dd97fbee1fc968":[0,0,1,1,12], -"classflow_1_1_concurrent_flex_queue.html#af0130ab4a2ff9034c8dd97fbee1fc968":[2,0,0,1,12], -"classflow_1_1_concurrent_queue.html":[0,0,1,2], -"classflow_1_1_concurrent_queue.html":[2,0,0,2], -"classflow_1_1_concurrent_queue.html#a0bf4edf07e01dc7ac12f2277f71230ef":[0,0,1,2,12], -"classflow_1_1_concurrent_queue.html#a0bf4edf07e01dc7ac12f2277f71230ef":[2,0,0,2,12], -"classflow_1_1_concurrent_queue.html#a28100c215fb8bd848e8311f5f8165bb2":[0,0,1,2,10], -"classflow_1_1_concurrent_queue.html#a28100c215fb8bd848e8311f5f8165bb2":[2,0,0,2,10], -"classflow_1_1_concurrent_queue.html#a33be3ac6f7a386943a9bf1b73b15af7d":[0,0,1,2,1], -"classflow_1_1_concurrent_queue.html#a33be3ac6f7a386943a9bf1b73b15af7d":[2,0,0,2,1], -"classflow_1_1_concurrent_queue.html#a3f443bd583da922327024612530e33ea":[0,0,1,2,14], -"classflow_1_1_concurrent_queue.html#a3f443bd583da922327024612530e33ea":[2,0,0,2,14], -"classflow_1_1_concurrent_queue.html#a3f76748bdaf041ab31cf52b0faef44fe":[0,0,1,2,7], -"classflow_1_1_concurrent_queue.html#a3f76748bdaf041ab31cf52b0faef44fe":[2,0,0,2,7], -"classflow_1_1_concurrent_queue.html#a5c0d191969f644b6146ffb547f07e19f":[0,0,1,2,11], -"classflow_1_1_concurrent_queue.html#a5c0d191969f644b6146ffb547f07e19f":[2,0,0,2,11], -"classflow_1_1_concurrent_queue.html#a8afd8f92a60a59cf6c42da30a6eb2a0e":[0,0,1,2,8], -"classflow_1_1_concurrent_queue.html#a8afd8f92a60a59cf6c42da30a6eb2a0e":[2,0,0,2,8], -"classflow_1_1_concurrent_queue.html#a921fb77ec80aefbf0954a21ebfe49d67":[0,0,1,2,4], -"classflow_1_1_concurrent_queue.html#a921fb77ec80aefbf0954a21ebfe49d67":[2,0,0,2,4], -"classflow_1_1_concurrent_queue.html#a9afa84e43f840bafec48b21caf7f3243":[0,0,1,2,3], -"classflow_1_1_concurrent_queue.html#a9afa84e43f840bafec48b21caf7f3243":[2,0,0,2,3], -"classflow_1_1_concurrent_queue.html#ab09b66803142e1105763c5887ec1c546":[0,0,1,2,6], -"classflow_1_1_concurrent_queue.html#ab09b66803142e1105763c5887ec1c546":[2,0,0,2,6], -"classflow_1_1_concurrent_queue.html#abdcc25822ea84611d059f0164c29bf40":[0,0,1,2,2], -"classflow_1_1_concurrent_queue.html#abdcc25822ea84611d059f0164c29bf40":[2,0,0,2,2], -"classflow_1_1_concurrent_queue.html#ac343336ca09c2e09f85c0f17addc1010":[0,0,1,2,15], -"classflow_1_1_concurrent_queue.html#ac343336ca09c2e09f85c0f17addc1010":[2,0,0,2,15], -"classflow_1_1_concurrent_queue.html#ad62cf85a47644dbbb06268bdc68988bc":[0,0,1,2,9], -"classflow_1_1_concurrent_queue.html#ad62cf85a47644dbbb06268bdc68988bc":[2,0,0,2,9], -"classflow_1_1_concurrent_queue.html#ae41447f6c7b2caafcbfce2533219ad0c":[0,0,1,2,13], -"classflow_1_1_concurrent_queue.html#ae41447f6c7b2caafcbfce2533219ad0c":[2,0,0,2,13], -"classflow_1_1_concurrent_queue.html#af0e073c9657bbc9ac2a70e97df5a1d1d":[0,0,1,2,5], -"classflow_1_1_concurrent_queue.html#af0e073c9657bbc9ac2a70e97df5a1d1d":[2,0,0,2,5], -"classflow_1_1_concurrent_queue.html#af4048108b7a00a714017892338c92ac6":[0,0,1,2,0], -"classflow_1_1_concurrent_queue.html#af4048108b7a00a714017892338c92ac6":[2,0,0,2,0], -"classflow_1_1_counted_value_view_iterator.html":[0,0,1,3], -"classflow_1_1_counted_value_view_iterator.html":[2,0,0,3], -"classflow_1_1_counted_value_view_iterator.html#a15cd12e7b60ac56f657362dda2c5dc68":[0,0,1,3,7], -"classflow_1_1_counted_value_view_iterator.html#a15cd12e7b60ac56f657362dda2c5dc68":[2,0,0,3,7], -"classflow_1_1_counted_value_view_iterator.html#a46c830285785216a842c7cb504b56e72":[0,0,1,3,2], -"classflow_1_1_counted_value_view_iterator.html#a46c830285785216a842c7cb504b56e72":[2,0,0,3,2], -"classflow_1_1_counted_value_view_iterator.html#a4fffa537ac2693dd8f3258b909575de9":[0,0,1,3,3], -"classflow_1_1_counted_value_view_iterator.html#a4fffa537ac2693dd8f3258b909575de9":[2,0,0,3,3], -"classflow_1_1_counted_value_view_iterator.html#a634a2db73627fcbd4fee77e1a3c2375e":[0,0,1,3,10], -"classflow_1_1_counted_value_view_iterator.html#a634a2db73627fcbd4fee77e1a3c2375e":[2,0,0,3,10], -"classflow_1_1_counted_value_view_iterator.html#a7fd5897e27305768eaf068cbe4644de5":[0,0,1,3,9], -"classflow_1_1_counted_value_view_iterator.html#a7fd5897e27305768eaf068cbe4644de5":[2,0,0,3,9], -"classflow_1_1_counted_value_view_iterator.html#ab15d7850ec1d51e9c23b298d79009207":[0,0,1,3,0], -"classflow_1_1_counted_value_view_iterator.html#ab15d7850ec1d51e9c23b298d79009207":[2,0,0,3,0], -"classflow_1_1_counted_value_view_iterator.html#ab5abdaf11e4149bbc1cbbdf620845ef9":[0,0,1,3,11], -"classflow_1_1_counted_value_view_iterator.html#ab5abdaf11e4149bbc1cbbdf620845ef9":[2,0,0,3,11], -"classflow_1_1_counted_value_view_iterator.html#acaef28f35bd304c4e561f6ec4aea2d00":[0,0,1,3,4], -"classflow_1_1_counted_value_view_iterator.html#acaef28f35bd304c4e561f6ec4aea2d00":[2,0,0,3,4], -"classflow_1_1_counted_value_view_iterator.html#ad74bbd8d67a9bf77887a1825d158a94b":[0,0,1,3,12], -"classflow_1_1_counted_value_view_iterator.html#ad74bbd8d67a9bf77887a1825d158a94b":[2,0,0,3,12], -"classflow_1_1_counted_value_view_iterator.html#ae3c6ce089aca7af55dbd0ea85d083a0b":[0,0,1,3,1], -"classflow_1_1_counted_value_view_iterator.html#ae3c6ce089aca7af55dbd0ea85d083a0b":[2,0,0,3,1], -"classflow_1_1_counted_value_view_iterator.html#ae5fcbb0fd603cd40e5562d3f76f846df":[0,0,1,3,6], -"classflow_1_1_counted_value_view_iterator.html#ae5fcbb0fd603cd40e5562d3f76f846df":[2,0,0,3,6], -"classflow_1_1_counted_value_view_iterator.html#aec5e48263e265314df292c11b62b780d":[0,0,1,3,5], -"classflow_1_1_counted_value_view_iterator.html#aec5e48263e265314df292c11b62b780d":[2,0,0,3,5], -"classflow_1_1_counted_value_view_iterator.html#afa83583c08318439349f6b901aee9b78":[0,0,1,3,13], -"classflow_1_1_counted_value_view_iterator.html#afa83583c08318439349f6b901aee9b78":[2,0,0,3,13], -"classflow_1_1_counted_value_view_iterator.html#afd00e1df6549e44a2429e929d8bdf909":[0,0,1,3,8], -"classflow_1_1_counted_value_view_iterator.html#afd00e1df6549e44a2429e929d8bdf909":[2,0,0,3,8], -"classflow_1_1_counted_value_view_iterator.html#afe83d60be27bae44aeaf8df0b1daf17a":[0,0,1,3,14], -"classflow_1_1_counted_value_view_iterator.html#afe83d60be27bae44aeaf8df0b1daf17a":[2,0,0,3,14], -"classflow_1_1_debug_class.html":[0,0,1,4], -"classflow_1_1_debug_class.html":[2,0,0,4], -"classflow_1_1_debug_class.html#a04f020eccd10fcb93503add61ba461db":[0,0,1,4,5], -"classflow_1_1_debug_class.html#a04f020eccd10fcb93503add61ba461db":[2,0,0,4,5], -"classflow_1_1_debug_class.html#a29fd182d9df656b7531b0cb829c7a629":[0,0,1,4,1], -"classflow_1_1_debug_class.html#a29fd182d9df656b7531b0cb829c7a629":[2,0,0,4,1], -"classflow_1_1_debug_class.html#a306b6c316e11e3d9d7fb1adf140a98df":[0,0,1,4,4], -"classflow_1_1_debug_class.html#a306b6c316e11e3d9d7fb1adf140a98df":[2,0,0,4,4], -"classflow_1_1_debug_class.html#a31d3750a346067255700270ac37a8248":[0,0,1,4,0], -"classflow_1_1_debug_class.html#a31d3750a346067255700270ac37a8248":[2,0,0,4,0], -"classflow_1_1_debug_class.html#a48a695f9cec5b0115ebdf61a5f15b5ea":[0,0,1,4,3], -"classflow_1_1_debug_class.html#a48a695f9cec5b0115ebdf61a5f15b5ea":[2,0,0,4,3], -"classflow_1_1_debug_class.html#a741bd5a98db4e7cae036ac8148fdf0df":[0,0,1,4,7], -"classflow_1_1_debug_class.html#a741bd5a98db4e7cae036ac8148fdf0df":[2,0,0,4,7], -"classflow_1_1_debug_class.html#aa914f20c66eb15c818bbe0fb2df89b9e":[0,0,1,4,9], -"classflow_1_1_debug_class.html#aa914f20c66eb15c818bbe0fb2df89b9e":[2,0,0,4,9], -"classflow_1_1_debug_class.html#ac375c9dca9062cebadebc94198dc1996":[0,0,1,4,10], -"classflow_1_1_debug_class.html#ac375c9dca9062cebadebc94198dc1996":[2,0,0,4,10], -"classflow_1_1_debug_class.html#ac6e3df93ac573336f3a0a267ab6b18e1":[0,0,1,4,2], -"classflow_1_1_debug_class.html#ac6e3df93ac573336f3a0a267ab6b18e1":[2,0,0,4,2], -"classflow_1_1_debug_class.html#ac9ebd40c457de9d9aad379e360f3e66f":[0,0,1,4,6], -"classflow_1_1_debug_class.html#ac9ebd40c457de9d9aad379e360f3e66f":[2,0,0,4,6], -"classflow_1_1_debug_class.html#ae52bd2c39871159b4c0f89aca547c2a7":[0,0,1,4,8], -"classflow_1_1_debug_class.html#ae52bd2c39871159b4c0f89aca547c2a7":[2,0,0,4,8], -"classflow_1_1_default_memory_resource.html":[0,0,1,5], -"classflow_1_1_default_memory_resource.html":[2,0,0,5], -"classflow_1_1_default_memory_resource.html#a01bea59a2f2d07da11856e060153a08f":[0,0,1,5,2], -"classflow_1_1_default_memory_resource.html#a01bea59a2f2d07da11856e060153a08f":[2,0,0,5,2], -"classflow_1_1_default_memory_resource.html#a5b3b10ccc61e2b8d17606eb5fc0f1627":[0,0,1,5,0], -"classflow_1_1_default_memory_resource.html#a5b3b10ccc61e2b8d17606eb5fc0f1627":[2,0,0,5,0], -"classflow_1_1_default_memory_resource.html#ae780c88790db29cf6e74b2363463f86d":[0,0,1,5,1], -"classflow_1_1_default_memory_resource.html#ae780c88790db29cf6e74b2363463f86d":[2,0,0,5,1], -"classflow_1_1_memory_resource.html":[0,0,1,6], -"classflow_1_1_memory_resource.html":[2,0,0,6], -"classflow_1_1_memory_resource.html#a0fe4fd1de140064284dee1cc16c33e21":[0,0,1,6,4], -"classflow_1_1_memory_resource.html#a0fe4fd1de140064284dee1cc16c33e21":[2,0,0,6,4], -"classflow_1_1_memory_resource.html#a5f348b979d67c8503d67d6a5ec7bfda9":[0,0,1,6,1], -"classflow_1_1_memory_resource.html#a5f348b979d67c8503d67d6a5ec7bfda9":[2,0,0,6,1], -"classflow_1_1_memory_resource.html#a624ccdb4ce7db4bb30ccf43ef8802352":[0,0,1,6,3], -"classflow_1_1_memory_resource.html#a624ccdb4ce7db4bb30ccf43ef8802352":[2,0,0,6,3], -"classflow_1_1_memory_resource.html#a8179af2eb6e69df16d8ee3d82286ec10":[0,0,1,6,2], -"classflow_1_1_memory_resource.html#a8179af2eb6e69df16d8ee3d82286ec10":[2,0,0,6,2], -"classflow_1_1_memory_resource.html#aed7eed2f0372002ff66df9decc501071":[0,0,1,6,0], -"classflow_1_1_memory_resource.html#aed7eed2f0372002ff66df9decc501071":[2,0,0,6,0], -"classflow_1_1_polymorphic_allocator.html":[0,0,1,7], -"classflow_1_1_polymorphic_allocator.html":[2,0,0,7], -"classflow_1_1_polymorphic_allocator.html#a15d7aac64ac85004897b094b38ca73bd":[0,0,1,7,11], -"classflow_1_1_polymorphic_allocator.html#a15d7aac64ac85004897b094b38ca73bd":[2,0,0,7,11], -"classflow_1_1_polymorphic_allocator.html#a246865912a463ce03695521796e96c0b":[0,0,1,7,6], -"classflow_1_1_polymorphic_allocator.html#a246865912a463ce03695521796e96c0b":[2,0,0,7,6], -"classflow_1_1_polymorphic_allocator.html#a61ce18be7ea581a5281a5bceb32917ff":[0,0,1,7,1], -"classflow_1_1_polymorphic_allocator.html#a61ce18be7ea581a5281a5bceb32917ff":[2,0,0,7,1], -"classflow_1_1_polymorphic_allocator.html#a6bc365874bc82309e83d3d2dd28fb5eb":[0,0,1,7,9], -"classflow_1_1_polymorphic_allocator.html#a6bc365874bc82309e83d3d2dd28fb5eb":[2,0,0,7,9], -"classflow_1_1_polymorphic_allocator.html#a9856518e727c58c747d28b25701bd8c1":[0,0,1,7,0], -"classflow_1_1_polymorphic_allocator.html#a9856518e727c58c747d28b25701bd8c1":[2,0,0,7,0], -"classflow_1_1_polymorphic_allocator.html#a9de9cf20311e8ddb8e9c9128157f4884":[0,0,1,7,10], -"classflow_1_1_polymorphic_allocator.html#a9de9cf20311e8ddb8e9c9128157f4884":[2,0,0,7,10], -"classflow_1_1_polymorphic_allocator.html#a9ecfbea0e237d47dbaeb792d40470981":[0,0,1,7,4], -"classflow_1_1_polymorphic_allocator.html#a9ecfbea0e237d47dbaeb792d40470981":[2,0,0,7,4], -"classflow_1_1_polymorphic_allocator.html#aaa09cc96471e180791aa70167fd8112e":[0,0,1,7,3], -"classflow_1_1_polymorphic_allocator.html#aaa09cc96471e180791aa70167fd8112e":[2,0,0,7,3], -"classflow_1_1_polymorphic_allocator.html#abc9cffd1ba2487b9446352c42b8b820d":[0,0,1,7,7], -"classflow_1_1_polymorphic_allocator.html#abc9cffd1ba2487b9446352c42b8b820d":[2,0,0,7,7], -"classflow_1_1_polymorphic_allocator.html#abdb1a1785d0e9ee4baaf5ee819dcb29e":[0,0,1,7,2], -"classflow_1_1_polymorphic_allocator.html#abdb1a1785d0e9ee4baaf5ee819dcb29e":[2,0,0,7,2], -"classflow_1_1_polymorphic_allocator.html#ae2e657ac5eb873d11ad71723277caaa8":[0,0,1,7,5], -"classflow_1_1_polymorphic_allocator.html#ae2e657ac5eb873d11ad71723277caaa8":[2,0,0,7,5], -"classflow_1_1_polymorphic_allocator.html#aef1689a9b79f3750119e25fabf20f3f8":[0,0,1,7,8], -"classflow_1_1_polymorphic_allocator.html#aef1689a9b79f3750119e25fabf20f3f8":[2,0,0,7,8], -"classflow_1_1_pool_memory_resource.html":[0,0,1,8], -"classflow_1_1_pool_memory_resource.html":[2,0,0,8], -"classflow_1_1_pool_memory_resource.html#a06a3832bb9d9708ee001638ad8690c65":[0,0,1,8,7], -"classflow_1_1_pool_memory_resource.html#a06a3832bb9d9708ee001638ad8690c65":[2,0,0,8,7], -"classflow_1_1_pool_memory_resource.html#a3ac35916ea439a181138f26c8ad158e1":[0,0,1,8,1], -"classflow_1_1_pool_memory_resource.html#a3ac35916ea439a181138f26c8ad158e1":[2,0,0,8,1], -"classflow_1_1_pool_memory_resource.html#a3cfb07a234f406f4fb8c1d1c154861bc":[0,0,1,8,3], -"classflow_1_1_pool_memory_resource.html#a3cfb07a234f406f4fb8c1d1c154861bc":[2,0,0,8,3], -"classflow_1_1_pool_memory_resource.html#a5fd5e0967552063825e24232b3c4c5bc":[0,0,1,8,2], -"classflow_1_1_pool_memory_resource.html#a5fd5e0967552063825e24232b3c4c5bc":[2,0,0,8,2], -"classflow_1_1_pool_memory_resource.html#a78edca92b66c6501c24f699bb13090ab":[0,0,1,8,5], -"classflow_1_1_pool_memory_resource.html#a78edca92b66c6501c24f699bb13090ab":[2,0,0,8,5], -"classflow_1_1_pool_memory_resource.html#ac14d17a1ae812d2f72140249a05f32be":[0,0,1,8,6], -"classflow_1_1_pool_memory_resource.html#ac14d17a1ae812d2f72140249a05f32be":[2,0,0,8,6], -"classflow_1_1_pool_memory_resource.html#ad096a8ce328207d87d572b19ae51f324":[0,0,1,8,4], -"classflow_1_1_pool_memory_resource.html#ad096a8ce328207d87d572b19ae51f324":[2,0,0,8,4], -"classflow_1_1_stack_memory_resource.html":[0,0,1,9], -"classflow_1_1_stack_memory_resource.html":[2,0,0,9], -"classflow_1_1_stack_memory_resource.html#a2ac0250b455868bd79a38da643b421d5":[0,0,1,9,2] +"classflow_1_1_vector.html":[0,0,0,13], +"classflow_1_1_vector.html":[2,0,0,13], +"classflow_1_1_vector.html#a022a327a5db05b8c23158aa44aa642ea":[0,0,0,13,39], +"classflow_1_1_vector.html#a022a327a5db05b8c23158aa44aa642ea":[2,0,0,13,39], +"classflow_1_1_vector.html#a0eb1f3871c6a3c5dd0d21eeded97507b":[0,0,0,13,37], +"classflow_1_1_vector.html#a0eb1f3871c6a3c5dd0d21eeded97507b":[2,0,0,13,37], +"classflow_1_1_vector.html#a1246fe8e463045cd9acefd4ffed3bea2":[0,0,0,13,29], +"classflow_1_1_vector.html#a1246fe8e463045cd9acefd4ffed3bea2":[2,0,0,13,29], +"classflow_1_1_vector.html#a174ef01cedf42bda75a148f1e665506e":[0,0,0,13,55], +"classflow_1_1_vector.html#a174ef01cedf42bda75a148f1e665506e":[2,0,0,13,55], +"classflow_1_1_vector.html#a1b81dfaab65161f7a66038bffabc7248":[0,0,0,13,15], +"classflow_1_1_vector.html#a1b81dfaab65161f7a66038bffabc7248":[2,0,0,13,15], +"classflow_1_1_vector.html#a2181ecd90ff7fce1ff9c8876d8d05b3b":[0,0,0,13,9], +"classflow_1_1_vector.html#a2181ecd90ff7fce1ff9c8876d8d05b3b":[2,0,0,13,9], +"classflow_1_1_vector.html#a233300c7d3c47e40b70af817590c9811":[0,0,0,13,33], +"classflow_1_1_vector.html#a233300c7d3c47e40b70af817590c9811":[2,0,0,13,33], +"classflow_1_1_vector.html#a23941afb170992195959db92f14bc114":[0,0,0,13,22], +"classflow_1_1_vector.html#a23941afb170992195959db92f14bc114":[2,0,0,13,22], +"classflow_1_1_vector.html#a2ed0e854ec90587355a567fa8c2efdc0":[0,0,0,13,21], +"classflow_1_1_vector.html#a2ed0e854ec90587355a567fa8c2efdc0":[2,0,0,13,21], +"classflow_1_1_vector.html#a3133e96d4479ecd0534588a8df0b5eb7":[0,0,0,13,6], +"classflow_1_1_vector.html#a3133e96d4479ecd0534588a8df0b5eb7":[2,0,0,13,6], +"classflow_1_1_vector.html#a411e4c3e8586db8943dfce5c3d7340a6":[0,0,0,13,16], +"classflow_1_1_vector.html#a411e4c3e8586db8943dfce5c3d7340a6":[2,0,0,13,16], +"classflow_1_1_vector.html#a424909668ab5c7879b210d83dba285df":[0,0,0,13,0], +"classflow_1_1_vector.html#a424909668ab5c7879b210d83dba285df":[2,0,0,13,0], +"classflow_1_1_vector.html#a49e7b072f9b5c0a2c7e977e92ea79260":[0,0,0,13,47], +"classflow_1_1_vector.html#a49e7b072f9b5c0a2c7e977e92ea79260":[2,0,0,13,47], +"classflow_1_1_vector.html#a52107e19ce15e50a4a610a1486203a55":[0,0,0,13,25], +"classflow_1_1_vector.html#a52107e19ce15e50a4a610a1486203a55":[2,0,0,13,25], +"classflow_1_1_vector.html#a53fca75839ead5d5a63aa334effc2663":[0,0,0,13,50], +"classflow_1_1_vector.html#a53fca75839ead5d5a63aa334effc2663":[2,0,0,13,50], +"classflow_1_1_vector.html#a597edff02196a283944224a5464c62a0":[0,0,0,13,59], +"classflow_1_1_vector.html#a597edff02196a283944224a5464c62a0":[2,0,0,13,59], +"classflow_1_1_vector.html#a5daa11faad80d18ed87c7e0f409b0645":[0,0,0,13,13], +"classflow_1_1_vector.html#a5daa11faad80d18ed87c7e0f409b0645":[2,0,0,13,13], +"classflow_1_1_vector.html#a5fdda2faa17a39759f1068d09d94f980":[0,0,0,13,26], +"classflow_1_1_vector.html#a5fdda2faa17a39759f1068d09d94f980":[2,0,0,13,26], +"classflow_1_1_vector.html#a60a7fdd5aa4be9e4abd7b01a351c35e4":[0,0,0,13,43], +"classflow_1_1_vector.html#a60a7fdd5aa4be9e4abd7b01a351c35e4":[2,0,0,13,43], +"classflow_1_1_vector.html#a6194e8a003c84766b0e07ab59129fd60":[0,0,0,13,61], +"classflow_1_1_vector.html#a6194e8a003c84766b0e07ab59129fd60":[2,0,0,13,61], +"classflow_1_1_vector.html#a6205cfde685f45023d7f26941997a3ee":[0,0,0,13,62], +"classflow_1_1_vector.html#a6205cfde685f45023d7f26941997a3ee":[2,0,0,13,62], +"classflow_1_1_vector.html#a63907d377f79ae43c766427da7391471":[0,0,0,13,28], +"classflow_1_1_vector.html#a63907d377f79ae43c766427da7391471":[2,0,0,13,28], +"classflow_1_1_vector.html#a67fd714b4b2af6bda5df8b7f1d152869":[0,0,0,13,19], +"classflow_1_1_vector.html#a67fd714b4b2af6bda5df8b7f1d152869":[2,0,0,13,19], +"classflow_1_1_vector.html#a72bef13d7f81c286d42432ceabe20d20":[0,0,0,13,34], +"classflow_1_1_vector.html#a72bef13d7f81c286d42432ceabe20d20":[2,0,0,13,34], +"classflow_1_1_vector.html#a7b62dc6983a3b84ac1ee151821f93e92":[0,0,0,13,48], +"classflow_1_1_vector.html#a7b62dc6983a3b84ac1ee151821f93e92":[2,0,0,13,48], +"classflow_1_1_vector.html#a7b99f7d13471a841f4b0bbe7b7e81f00":[0,0,0,13,42], +"classflow_1_1_vector.html#a7b99f7d13471a841f4b0bbe7b7e81f00":[2,0,0,13,42], +"classflow_1_1_vector.html#a7c61fc01669f8da61d0f9c23513666de":[0,0,0,13,45], +"classflow_1_1_vector.html#a7c61fc01669f8da61d0f9c23513666de":[2,0,0,13,45], +"classflow_1_1_vector.html#a90e6c66561997c8e87dcf45565b6b444":[0,0,0,13,3], +"classflow_1_1_vector.html#a90e6c66561997c8e87dcf45565b6b444":[2,0,0,13,3], +"classflow_1_1_vector.html#a9153f6768f8c3b6aa92c6d8f9538722f":[0,0,0,13,20], +"classflow_1_1_vector.html#a9153f6768f8c3b6aa92c6d8f9538722f":[2,0,0,13,20], +"classflow_1_1_vector.html#a956bdadf66a3cf83543fdb4880a7ed30":[0,0,0,13,53], +"classflow_1_1_vector.html#a956bdadf66a3cf83543fdb4880a7ed30":[2,0,0,13,53], +"classflow_1_1_vector.html#aa28bafb52ffd5943f74f969f3970700d":[0,0,0,13,54], +"classflow_1_1_vector.html#aa28bafb52ffd5943f74f969f3970700d":[2,0,0,13,54], +"classflow_1_1_vector.html#aa43b28b69455eac2404894fd3b0d6c6b":[0,0,0,13,44], +"classflow_1_1_vector.html#aa43b28b69455eac2404894fd3b0d6c6b":[2,0,0,13,44], +"classflow_1_1_vector.html#aa4f0dcb2f767deb46994373b482b6a18":[0,0,0,13,2], +"classflow_1_1_vector.html#aa4f0dcb2f767deb46994373b482b6a18":[2,0,0,13,2], +"classflow_1_1_vector.html#aad83e0ac5232072e914bd75e4b116473":[0,0,0,13,49], +"classflow_1_1_vector.html#aad83e0ac5232072e914bd75e4b116473":[2,0,0,13,49], +"classflow_1_1_vector.html#ab2a7b99b11f7bb0a30f1586ea1d178bf":[0,0,0,13,12], +"classflow_1_1_vector.html#ab2a7b99b11f7bb0a30f1586ea1d178bf":[2,0,0,13,12], +"classflow_1_1_vector.html#ab9a6c86d36489ee0b22dcc7ffadba93b":[0,0,0,13,56], +"classflow_1_1_vector.html#ab9a6c86d36489ee0b22dcc7ffadba93b":[2,0,0,13,56], +"classflow_1_1_vector.html#aba8ae41829ab1c48b546778403d99d6c":[0,0,0,13,35], +"classflow_1_1_vector.html#aba8ae41829ab1c48b546778403d99d6c":[2,0,0,13,35], +"classflow_1_1_vector.html#abb3aa43549b77168fb56371086ec4447":[0,0,0,13,17], +"classflow_1_1_vector.html#abb3aa43549b77168fb56371086ec4447":[2,0,0,13,17], +"classflow_1_1_vector.html#abc27ebfeb384b081289612be2526a703":[0,0,0,13,36], +"classflow_1_1_vector.html#abc27ebfeb384b081289612be2526a703":[2,0,0,13,36], +"classflow_1_1_vector.html#abc2b6c908cb60802eab99fdf9f25b14f":[0,0,0,13,8], +"classflow_1_1_vector.html#abc2b6c908cb60802eab99fdf9f25b14f":[2,0,0,13,8], +"classflow_1_1_vector.html#abe9e6c30c45760900e713664e3c7ee95":[0,0,0,13,52], +"classflow_1_1_vector.html#abe9e6c30c45760900e713664e3c7ee95":[2,0,0,13,52], +"classflow_1_1_vector.html#ac10202bb1cc96d8801447779c18d19d2":[0,0,0,13,4], +"classflow_1_1_vector.html#ac10202bb1cc96d8801447779c18d19d2":[2,0,0,13,4], +"classflow_1_1_vector.html#ac2b41594b3b91f858c9c429ef98f4ae0":[0,0,0,13,60], +"classflow_1_1_vector.html#ac2b41594b3b91f858c9c429ef98f4ae0":[2,0,0,13,60], +"classflow_1_1_vector.html#ac33ba3bee9a3d91ec7233e5ed5767695":[0,0,0,13,41], +"classflow_1_1_vector.html#ac33ba3bee9a3d91ec7233e5ed5767695":[2,0,0,13,41], +"classflow_1_1_vector.html#ac98171a9ca91d6e2b7c77f2b531b7ca1":[0,0,0,13,40], +"classflow_1_1_vector.html#ac98171a9ca91d6e2b7c77f2b531b7ca1":[2,0,0,13,40], +"classflow_1_1_vector.html#acc30803f60627ed546fa47629ef134c1":[0,0,0,13,57], +"classflow_1_1_vector.html#acc30803f60627ed546fa47629ef134c1":[2,0,0,13,57], +"classflow_1_1_vector.html#ad02fbe2f355e1bea83186cbb97b53d69":[0,0,0,13,23], +"classflow_1_1_vector.html#ad02fbe2f355e1bea83186cbb97b53d69":[2,0,0,13,23], +"classflow_1_1_vector.html#ad06c3b5cb971e7dbf7cdba5be93f7f06":[0,0,0,13,58], +"classflow_1_1_vector.html#ad06c3b5cb971e7dbf7cdba5be93f7f06":[2,0,0,13,58], +"classflow_1_1_vector.html#ad2d841f6f75875ad349b649648c9528b":[0,0,0,13,10], +"classflow_1_1_vector.html#ad2d841f6f75875ad349b649648c9528b":[2,0,0,13,10], +"classflow_1_1_vector.html#ad4726df83d62b3869b5c28cf93b27c66":[0,0,0,13,30], +"classflow_1_1_vector.html#ad4726df83d62b3869b5c28cf93b27c66":[2,0,0,13,30], +"classflow_1_1_vector.html#ad6491063afb2f969da46c7617f09e048":[0,0,0,13,31], +"classflow_1_1_vector.html#ad6491063afb2f969da46c7617f09e048":[2,0,0,13,31], +"classflow_1_1_vector.html#ad698ac46b7cd873095875b41509e0a3c":[0,0,0,13,5], +"classflow_1_1_vector.html#ad698ac46b7cd873095875b41509e0a3c":[2,0,0,13,5], +"classflow_1_1_vector.html#ad756f48cb4b3d644d3ee2272016e53de":[0,0,0,13,1], +"classflow_1_1_vector.html#ad756f48cb4b3d644d3ee2272016e53de":[2,0,0,13,1], +"classflow_1_1_vector.html#ad9bee88ac142d52bc14d3b7c12c5d27a":[0,0,0,13,32], +"classflow_1_1_vector.html#ad9bee88ac142d52bc14d3b7c12c5d27a":[2,0,0,13,32], +"classflow_1_1_vector.html#adc242dbb463beb99e19cb80f9e67e2b0":[0,0,0,13,7], +"classflow_1_1_vector.html#adc242dbb463beb99e19cb80f9e67e2b0":[2,0,0,13,7], +"classflow_1_1_vector.html#ae0c4ade36741c6f196021349b5485526":[0,0,0,13,18], +"classflow_1_1_vector.html#ae0c4ade36741c6f196021349b5485526":[2,0,0,13,18], +"classflow_1_1_vector.html#ae39c634ffc7d4719734a727dd4e9eb02":[0,0,0,13,46], +"classflow_1_1_vector.html#ae39c634ffc7d4719734a727dd4e9eb02":[2,0,0,13,46], +"classflow_1_1_vector.html#ae778656d8599eb0152135aaa57b61057":[0,0,0,13,27], +"classflow_1_1_vector.html#ae778656d8599eb0152135aaa57b61057":[2,0,0,13,27], +"classflow_1_1_vector.html#aebbcc7115c8718581e35b4702247907d":[0,0,0,13,14], +"classflow_1_1_vector.html#aebbcc7115c8718581e35b4702247907d":[2,0,0,13,14], +"classflow_1_1_vector.html#af0f1a455c67e5f7a9d10849ed88b7559":[0,0,0,13,11], +"classflow_1_1_vector.html#af0f1a455c67e5f7a9d10849ed88b7559":[2,0,0,13,11], +"classflow_1_1_vector.html#af0f7ae6593900ce9862bf99895c4e181":[0,0,0,13,24], +"classflow_1_1_vector.html#af0f7ae6593900ce9862bf99895c4e181":[2,0,0,13,24], +"classflow_1_1_vector.html#afa87bdfe245b4b06339eea38ce140ebb":[0,0,0,13,51], +"classflow_1_1_vector.html#afa87bdfe245b4b06339eea38ce140ebb":[2,0,0,13,51], +"classflow_1_1_vector.html#afc9e7deb83d7e224959f1d0c2bcfb2b6":[0,0,0,13,38], +"classflow_1_1_vector.html#afc9e7deb83d7e224959f1d0c2bcfb2b6":[2,0,0,13,38], +"conceptflow_1_1_growth_strategy.html":[0,0,0,15], +"conceptflow_1_1_growth_strategy.html":[1,0,0], +"concepts.html":[1], +"files.html":[3,0], +"flow__arena__memory__resource_8h.html":[3,0,0], +"flow__arena__memory__resource_8h_source.html":[3,0,0], +"flow__concurrent__flex__queue_8h.html":[3,0,1], +"flow__concurrent__flex__queue_8h_source.html":[3,0,1], +"flow__concurrent__queue_8h.html":[3,0,2], +"flow__concurrent__queue_8h_source.html":[3,0,2], +"flow__counted__value__view__iterator_8h.html":[3,0,3], +"flow__counted__value__view__iterator_8h_source.html":[3,0,3], +"flow__debug__memory_8h.html":[3,0,4], +"flow__debug__memory_8h_source.html":[3,0,4], +"flow__default__memory__resource_8h.html":[3,0,5], +"flow__default__memory__resource_8h_source.html":[3,0,5], +"flow__memory__algorithm_8h.html":[3,0,6], +"flow__memory__algorithm_8h_source.html":[3,0,6], +"flow__memory__resource_8h.html":[3,0,7], +"flow__memory__resource_8h_source.html":[3,0,7], +"flow__polymorphic__allocator_8h.html":[3,0,8], +"flow__polymorphic__allocator_8h_source.html":[3,0,8], +"flow__pool__memory__resource_8h.html":[3,0,9], +"flow__pool__memory__resource_8h_source.html":[3,0,9], +"flow__random__algorithm_8h.html":[3,0,10], +"flow__random__algorithm_8h_source.html":[3,0,10], +"flow__stack__memory__resource_8h.html":[3,0,11], +"flow__stack__memory__resource_8h_source.html":[3,0,11], +"flow__timer_8h.html":[3,0,12], +"flow__timer_8h_source.html":[3,0,12], +"flow__tuple_8h.html":[3,0,13], +"flow__tuple_8h_source.html":[3,0,13], +"flow__vector_8h.html":[3,0,14], +"flow__vector_8h.html#a74b1b9f01e1911a3186769679f74c377":[3,0,14,6], +"flow__vector_8h.html#af06ef3cc2293dbd659cdeb3ef04b94ba":[3,0,14,7], +"flow__vector_8h_source.html":[3,0,14], +"functions.html":[2,3,0], +"functions_func.html":[2,3,1], +"functions_rela.html":[2,3,4], +"functions_type.html":[2,3,3], +"functions_vars.html":[2,3,2], +"globals.html":[3,1,0], +"globals_func.html":[3,1,1], +"hierarchy.html":[2,2], +"index.html":[], +"namespaceflow.html":[0,0,0], +"namespaceflow.html#a003a0f5de60743211f4a12ad692ea545":[0,0,0,25], +"namespaceflow.html#a0917ae92fc9372994be63e2b07d7da43":[0,0,0,18], +"namespaceflow.html#a1110956ca4c95ee5c42c1e988dab6ecd":[0,0,0,32], +"namespaceflow.html#a2097cda5f5388d27f3c92804fdea2917":[0,0,0,19], +"namespaceflow.html#a4cdb6701097d19bfe56dc9b98d0ab18d":[0,0,0,22], +"namespaceflow.html#a51e3de912b53f5b8d08f6167efae5d43":[0,0,0,31], +"namespaceflow.html#a5991193d2c2c3220704b7ffe43284798":[0,0,0,28], +"namespaceflow.html#a5f5545b19674be10035741dc55ab7805":[0,0,0,30], +"namespaceflow.html#a66db7e81436bb94ac54e68f4f13be960":[0,0,0,20], +"namespaceflow.html#a69464bd65a1f1f8786cf92a34e4d9497":[0,0,0,23], +"namespaceflow.html#a7cbf79d9d81ea0bf923173bf94d18282":[0,0,0,29], +"namespaceflow.html#a95a53e967634035ab7b02a7a0fd8d41a":[0,0,0,17], +"namespaceflow.html#aaf246f21a7d66e18117ff22ba5c737fd":[0,0,0,24], +"namespaceflow.html#ab90fae79ddd51259bfc55e73b295fcd9":[0,0,0,21], +"namespaceflow.html#ac44af902cb4c10b49fa9f5992daa6c92":[0,0,0,27], +"namespaceflow.html#ad508020eec40eabb44ecd17a0ea944a1":[0,0,0,16], +"namespaceflow.html#ae91210e00bd937af8781ad61d96bb7af":[0,0,0,26], +"namespacemembers.html":[0,1,0], +"namespacemembers_func.html":[0,1,1], +"namespaces.html":[0,0], +"pages.html":[], +"structflow_1_1_concurrent_flex_queue_1_1_node.html":[0,0,0,1,0], +"structflow_1_1_concurrent_flex_queue_1_1_node.html":[2,0,0,1,0], +"structflow_1_1_concurrent_flex_queue_1_1_node.html#aaa0bd7f3414ed819e8af4e71e1fb99f1":[0,0,0,1,0,1], +"structflow_1_1_concurrent_flex_queue_1_1_node.html#aaa0bd7f3414ed819e8af4e71e1fb99f1":[2,0,0,1,0,1], +"structflow_1_1_concurrent_flex_queue_1_1_node.html#aee6686d5a1482935fc4397adfdc54721":[0,0,0,1,0,0], +"structflow_1_1_concurrent_flex_queue_1_1_node.html#aee6686d5a1482935fc4397adfdc54721":[2,0,0,1,0,0], +"structflow_1_1_pool_memory_resource_1_1_header.html":[0,0,0,8,0], +"structflow_1_1_pool_memory_resource_1_1_header.html":[2,0,0,8,0], +"structflow_1_1_pool_memory_resource_1_1_header.html#ae67fd9d5f52747e2b0670519f971aa72":[0,0,0,8,0,0], +"structflow_1_1_pool_memory_resource_1_1_header.html#ae67fd9d5f52747e2b0670519f971aa72":[2,0,0,8,0,0], +"structflow_1_1_stack_memory_resource_1_1_header.html":[0,0,0,9,0], +"structflow_1_1_stack_memory_resource_1_1_header.html":[2,0,0,9,0], +"structflow_1_1_stack_memory_resource_1_1_header.html#af7da697f584166308e1383ffd1970e91":[0,0,0,9,0,0], +"structflow_1_1_stack_memory_resource_1_1_header.html#af7da697f584166308e1383ffd1970e91":[2,0,0,9,0,0], +"structflow_1_1_vector_growth_strategy.html":[0,0,0,14], +"structflow_1_1_vector_growth_strategy.html":[2,0,0,14], +"structflow_1_1_vector_growth_strategy_1_1_double_expand.html":[0,0,0,14,0], +"structflow_1_1_vector_growth_strategy_1_1_double_expand.html":[2,0,0,14,0], +"structflow_1_1_vector_growth_strategy_1_1_double_expand.html#a9345ba72ca5c6f7c920b8280ec756380":[0,0,0,14,0,0], +"structflow_1_1_vector_growth_strategy_1_1_double_expand.html#a9345ba72ca5c6f7c920b8280ec756380":[2,0,0,14,0,0], +"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html":[0,0,0,14,1], +"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html":[2,0,0,14,1], +"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a1acd32de5883dfaab0b738124ff471db":[0,0,0,14,1,0], +"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a1acd32de5883dfaab0b738124ff471db":[2,0,0,14,1,0], +"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a4afa8328128602deb9ea79a34a2e4590":[0,0,0,14,1,1], +"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a4afa8328128602deb9ea79a34a2e4590":[2,0,0,14,1,1], +"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a5991646915b6f3701053d41556394e06":[0,0,0,14,1,2], +"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a5991646915b6f3701053d41556394e06":[2,0,0,14,1,2], +"structflow_1_1_vector_growth_strategy_1_1_golden_expand.html":[0,0,0,14,2], +"structflow_1_1_vector_growth_strategy_1_1_golden_expand.html":[2,0,0,14,2], +"structflow_1_1_vector_growth_strategy_1_1_golden_expand.html#a4b046f830b42446928087c119aa2cb50":[0,0,0,14,2,0], +"structflow_1_1_vector_growth_strategy_1_1_golden_expand.html#a4b046f830b42446928087c119aa2cb50":[2,0,0,14,2,0] }; diff --git a/docs/navtreeindex2.js b/docs/navtreeindex2.js deleted file mode 100644 index 7142579..0000000 --- a/docs/navtreeindex2.js +++ /dev/null @@ -1,253 +0,0 @@ -var NAVTREEINDEX2 = -{ -"classflow_1_1_stack_memory_resource.html#a2ac0250b455868bd79a38da643b421d5":[2,0,0,9,2], -"classflow_1_1_stack_memory_resource.html#a2f4289d48c9ac450dc8f2f44f5c0ef25":[0,0,1,9,4], -"classflow_1_1_stack_memory_resource.html#a2f4289d48c9ac450dc8f2f44f5c0ef25":[2,0,0,9,4], -"classflow_1_1_stack_memory_resource.html#a472e9dd93c0aad65c2a3768254d2bf1f":[0,0,1,9,3], -"classflow_1_1_stack_memory_resource.html#a472e9dd93c0aad65c2a3768254d2bf1f":[2,0,0,9,3], -"classflow_1_1_stack_memory_resource.html#a993576cf99976c5cb4c07581dcf89e7a":[0,0,1,9,1], -"classflow_1_1_stack_memory_resource.html#a993576cf99976c5cb4c07581dcf89e7a":[2,0,0,9,1], -"classflow_1_1_stack_memory_resource.html#ad4add4a5c15fafb57478f030146d4e91":[0,0,1,9,5], -"classflow_1_1_stack_memory_resource.html#ad4add4a5c15fafb57478f030146d4e91":[2,0,0,9,5], -"classflow_1_1_timer.html":[0,0,1,10], -"classflow_1_1_timer.html":[2,0,0,10], -"classflow_1_1_timer.html#a0bd09e9dc2f660a4e8b3393dd06dbf64":[0,0,1,10,4], -"classflow_1_1_timer.html#a0bd09e9dc2f660a4e8b3393dd06dbf64":[2,0,0,10,4], -"classflow_1_1_timer.html#a1e1fdbe90de75ff50c147a965b756f2b":[0,0,1,10,2], -"classflow_1_1_timer.html#a1e1fdbe90de75ff50c147a965b756f2b":[2,0,0,10,2], -"classflow_1_1_timer.html#a491df8664619dd62baf9e1eac1170d96":[0,0,1,10,5], -"classflow_1_1_timer.html#a491df8664619dd62baf9e1eac1170d96":[2,0,0,10,5], -"classflow_1_1_timer.html#a561f3b246b164cafaa2e7e8e9e99d230":[0,0,1,10,7], -"classflow_1_1_timer.html#a561f3b246b164cafaa2e7e8e9e99d230":[2,0,0,10,7], -"classflow_1_1_timer.html#a74b4619eeb69ef54d750bcb91aa837fe":[0,0,1,10,3], -"classflow_1_1_timer.html#a74b4619eeb69ef54d750bcb91aa837fe":[2,0,0,10,3], -"classflow_1_1_timer.html#a84fb288a95562d7511d226ebe6ad6f8e":[0,0,1,10,1], -"classflow_1_1_timer.html#a84fb288a95562d7511d226ebe6ad6f8e":[2,0,0,10,1], -"classflow_1_1_timer.html#aaab2494b84d8f0522aa888c52675b60f":[0,0,1,10,0], -"classflow_1_1_timer.html#aaab2494b84d8f0522aa888c52675b60f":[2,0,0,10,0], -"classflow_1_1_timer.html#acbd02d5581f7c9944d26b2af920de561":[0,0,1,10,6], -"classflow_1_1_timer.html#acbd02d5581f7c9944d26b2af920de561":[2,0,0,10,6], -"classflow_1_1_tuple.html":[0,0,1,11], -"classflow_1_1_tuple.html":[2,0,0,11], -"classflow_1_1_tuple.html#ac21246e9ba10eac47b3ef6370535214f":[0,0,1,11,0], -"classflow_1_1_tuple.html#ac21246e9ba10eac47b3ef6370535214f":[2,0,0,11,0], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html":[0,0,1,12], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html":[2,0,0,12], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a4f1f896d869a98776eb4ea84f90ff3f9":[0,0,1,12,0], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a4f1f896d869a98776eb4ea84f90ff3f9":[2,0,0,12,0], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a55b886793da978c41864c41132402df2":[0,0,1,12,1], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a55b886793da978c41864c41132402df2":[2,0,0,12,1], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a6fa5e57287bdb5c2bfbaf12333816cec":[0,0,1,12,5], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a6fa5e57287bdb5c2bfbaf12333816cec":[2,0,0,12,5], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a7f60fa146191162adc0fa354fb1238cc":[0,0,1,12,2], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a7f60fa146191162adc0fa354fb1238cc":[2,0,0,12,2], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9e0704bb42876ba20c0fde9df37b980f":[0,0,1,12,3], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9e0704bb42876ba20c0fde9df37b980f":[2,0,0,12,3], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9fd9a8776d08fac17e76168b054204cd":[0,0,1,12,4], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9fd9a8776d08fac17e76168b054204cd":[2,0,0,12,4], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#ae7bb027da9f28e7ea61c06ba37d322ab":[0,0,1,12,6], -"classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#ae7bb027da9f28e7ea61c06ba37d322ab":[2,0,0,12,6], -"classflow_1_1_vector.html":[0,0,1,13], -"classflow_1_1_vector.html":[2,0,0,13], -"classflow_1_1_vector.html#a022a327a5db05b8c23158aa44aa642ea":[0,0,1,13,39], -"classflow_1_1_vector.html#a022a327a5db05b8c23158aa44aa642ea":[2,0,0,13,39], -"classflow_1_1_vector.html#a0eb1f3871c6a3c5dd0d21eeded97507b":[0,0,1,13,37], -"classflow_1_1_vector.html#a0eb1f3871c6a3c5dd0d21eeded97507b":[2,0,0,13,37], -"classflow_1_1_vector.html#a1246fe8e463045cd9acefd4ffed3bea2":[0,0,1,13,29], -"classflow_1_1_vector.html#a1246fe8e463045cd9acefd4ffed3bea2":[2,0,0,13,29], -"classflow_1_1_vector.html#a174ef01cedf42bda75a148f1e665506e":[0,0,1,13,55], -"classflow_1_1_vector.html#a174ef01cedf42bda75a148f1e665506e":[2,0,0,13,55], -"classflow_1_1_vector.html#a1b81dfaab65161f7a66038bffabc7248":[0,0,1,13,15], -"classflow_1_1_vector.html#a1b81dfaab65161f7a66038bffabc7248":[2,0,0,13,15], -"classflow_1_1_vector.html#a2181ecd90ff7fce1ff9c8876d8d05b3b":[0,0,1,13,9], -"classflow_1_1_vector.html#a2181ecd90ff7fce1ff9c8876d8d05b3b":[2,0,0,13,9], -"classflow_1_1_vector.html#a233300c7d3c47e40b70af817590c9811":[0,0,1,13,33], -"classflow_1_1_vector.html#a233300c7d3c47e40b70af817590c9811":[2,0,0,13,33], -"classflow_1_1_vector.html#a23941afb170992195959db92f14bc114":[0,0,1,13,22], -"classflow_1_1_vector.html#a23941afb170992195959db92f14bc114":[2,0,0,13,22], -"classflow_1_1_vector.html#a2ed0e854ec90587355a567fa8c2efdc0":[0,0,1,13,21], -"classflow_1_1_vector.html#a2ed0e854ec90587355a567fa8c2efdc0":[2,0,0,13,21], -"classflow_1_1_vector.html#a3133e96d4479ecd0534588a8df0b5eb7":[0,0,1,13,6], -"classflow_1_1_vector.html#a3133e96d4479ecd0534588a8df0b5eb7":[2,0,0,13,6], -"classflow_1_1_vector.html#a411e4c3e8586db8943dfce5c3d7340a6":[0,0,1,13,16], -"classflow_1_1_vector.html#a411e4c3e8586db8943dfce5c3d7340a6":[2,0,0,13,16], -"classflow_1_1_vector.html#a424909668ab5c7879b210d83dba285df":[0,0,1,13,0], -"classflow_1_1_vector.html#a424909668ab5c7879b210d83dba285df":[2,0,0,13,0], -"classflow_1_1_vector.html#a49e7b072f9b5c0a2c7e977e92ea79260":[0,0,1,13,47], -"classflow_1_1_vector.html#a49e7b072f9b5c0a2c7e977e92ea79260":[2,0,0,13,47], -"classflow_1_1_vector.html#a52107e19ce15e50a4a610a1486203a55":[0,0,1,13,25], -"classflow_1_1_vector.html#a52107e19ce15e50a4a610a1486203a55":[2,0,0,13,25], -"classflow_1_1_vector.html#a53fca75839ead5d5a63aa334effc2663":[0,0,1,13,50], -"classflow_1_1_vector.html#a53fca75839ead5d5a63aa334effc2663":[2,0,0,13,50], -"classflow_1_1_vector.html#a597edff02196a283944224a5464c62a0":[0,0,1,13,59], -"classflow_1_1_vector.html#a597edff02196a283944224a5464c62a0":[2,0,0,13,59], -"classflow_1_1_vector.html#a5daa11faad80d18ed87c7e0f409b0645":[0,0,1,13,13], -"classflow_1_1_vector.html#a5daa11faad80d18ed87c7e0f409b0645":[2,0,0,13,13], -"classflow_1_1_vector.html#a5fdda2faa17a39759f1068d09d94f980":[0,0,1,13,26], -"classflow_1_1_vector.html#a5fdda2faa17a39759f1068d09d94f980":[2,0,0,13,26], -"classflow_1_1_vector.html#a60a7fdd5aa4be9e4abd7b01a351c35e4":[0,0,1,13,43], -"classflow_1_1_vector.html#a60a7fdd5aa4be9e4abd7b01a351c35e4":[2,0,0,13,43], -"classflow_1_1_vector.html#a6194e8a003c84766b0e07ab59129fd60":[0,0,1,13,61], -"classflow_1_1_vector.html#a6194e8a003c84766b0e07ab59129fd60":[2,0,0,13,61], -"classflow_1_1_vector.html#a6205cfde685f45023d7f26941997a3ee":[0,0,1,13,62], -"classflow_1_1_vector.html#a6205cfde685f45023d7f26941997a3ee":[2,0,0,13,62], -"classflow_1_1_vector.html#a63907d377f79ae43c766427da7391471":[0,0,1,13,28], -"classflow_1_1_vector.html#a63907d377f79ae43c766427da7391471":[2,0,0,13,28], -"classflow_1_1_vector.html#a67fd714b4b2af6bda5df8b7f1d152869":[0,0,1,13,19], -"classflow_1_1_vector.html#a67fd714b4b2af6bda5df8b7f1d152869":[2,0,0,13,19], -"classflow_1_1_vector.html#a72bef13d7f81c286d42432ceabe20d20":[0,0,1,13,34], -"classflow_1_1_vector.html#a72bef13d7f81c286d42432ceabe20d20":[2,0,0,13,34], -"classflow_1_1_vector.html#a7b62dc6983a3b84ac1ee151821f93e92":[0,0,1,13,48], -"classflow_1_1_vector.html#a7b62dc6983a3b84ac1ee151821f93e92":[2,0,0,13,48], -"classflow_1_1_vector.html#a7b99f7d13471a841f4b0bbe7b7e81f00":[0,0,1,13,42], -"classflow_1_1_vector.html#a7b99f7d13471a841f4b0bbe7b7e81f00":[2,0,0,13,42], -"classflow_1_1_vector.html#a7c61fc01669f8da61d0f9c23513666de":[0,0,1,13,45], -"classflow_1_1_vector.html#a7c61fc01669f8da61d0f9c23513666de":[2,0,0,13,45], -"classflow_1_1_vector.html#a90e6c66561997c8e87dcf45565b6b444":[0,0,1,13,3], -"classflow_1_1_vector.html#a90e6c66561997c8e87dcf45565b6b444":[2,0,0,13,3], -"classflow_1_1_vector.html#a9153f6768f8c3b6aa92c6d8f9538722f":[0,0,1,13,20], -"classflow_1_1_vector.html#a9153f6768f8c3b6aa92c6d8f9538722f":[2,0,0,13,20], -"classflow_1_1_vector.html#a956bdadf66a3cf83543fdb4880a7ed30":[0,0,1,13,53], -"classflow_1_1_vector.html#a956bdadf66a3cf83543fdb4880a7ed30":[2,0,0,13,53], -"classflow_1_1_vector.html#aa28bafb52ffd5943f74f969f3970700d":[0,0,1,13,54], -"classflow_1_1_vector.html#aa28bafb52ffd5943f74f969f3970700d":[2,0,0,13,54], -"classflow_1_1_vector.html#aa43b28b69455eac2404894fd3b0d6c6b":[0,0,1,13,44], -"classflow_1_1_vector.html#aa43b28b69455eac2404894fd3b0d6c6b":[2,0,0,13,44], -"classflow_1_1_vector.html#aa4f0dcb2f767deb46994373b482b6a18":[0,0,1,13,2], -"classflow_1_1_vector.html#aa4f0dcb2f767deb46994373b482b6a18":[2,0,0,13,2], -"classflow_1_1_vector.html#aad83e0ac5232072e914bd75e4b116473":[0,0,1,13,49], -"classflow_1_1_vector.html#aad83e0ac5232072e914bd75e4b116473":[2,0,0,13,49], -"classflow_1_1_vector.html#ab2a7b99b11f7bb0a30f1586ea1d178bf":[0,0,1,13,12], -"classflow_1_1_vector.html#ab2a7b99b11f7bb0a30f1586ea1d178bf":[2,0,0,13,12], -"classflow_1_1_vector.html#ab9a6c86d36489ee0b22dcc7ffadba93b":[0,0,1,13,56], -"classflow_1_1_vector.html#ab9a6c86d36489ee0b22dcc7ffadba93b":[2,0,0,13,56], -"classflow_1_1_vector.html#aba8ae41829ab1c48b546778403d99d6c":[0,0,1,13,35], -"classflow_1_1_vector.html#aba8ae41829ab1c48b546778403d99d6c":[2,0,0,13,35], -"classflow_1_1_vector.html#abb3aa43549b77168fb56371086ec4447":[0,0,1,13,17], -"classflow_1_1_vector.html#abb3aa43549b77168fb56371086ec4447":[2,0,0,13,17], -"classflow_1_1_vector.html#abc27ebfeb384b081289612be2526a703":[0,0,1,13,36], -"classflow_1_1_vector.html#abc27ebfeb384b081289612be2526a703":[2,0,0,13,36], -"classflow_1_1_vector.html#abc2b6c908cb60802eab99fdf9f25b14f":[0,0,1,13,8], -"classflow_1_1_vector.html#abc2b6c908cb60802eab99fdf9f25b14f":[2,0,0,13,8], -"classflow_1_1_vector.html#abe9e6c30c45760900e713664e3c7ee95":[0,0,1,13,52], -"classflow_1_1_vector.html#abe9e6c30c45760900e713664e3c7ee95":[2,0,0,13,52], -"classflow_1_1_vector.html#ac10202bb1cc96d8801447779c18d19d2":[0,0,1,13,4], -"classflow_1_1_vector.html#ac10202bb1cc96d8801447779c18d19d2":[2,0,0,13,4], -"classflow_1_1_vector.html#ac2b41594b3b91f858c9c429ef98f4ae0":[0,0,1,13,60], -"classflow_1_1_vector.html#ac2b41594b3b91f858c9c429ef98f4ae0":[2,0,0,13,60], -"classflow_1_1_vector.html#ac33ba3bee9a3d91ec7233e5ed5767695":[0,0,1,13,41], -"classflow_1_1_vector.html#ac33ba3bee9a3d91ec7233e5ed5767695":[2,0,0,13,41], -"classflow_1_1_vector.html#ac98171a9ca91d6e2b7c77f2b531b7ca1":[0,0,1,13,40], -"classflow_1_1_vector.html#ac98171a9ca91d6e2b7c77f2b531b7ca1":[2,0,0,13,40], -"classflow_1_1_vector.html#acc30803f60627ed546fa47629ef134c1":[0,0,1,13,57], -"classflow_1_1_vector.html#acc30803f60627ed546fa47629ef134c1":[2,0,0,13,57], -"classflow_1_1_vector.html#ad02fbe2f355e1bea83186cbb97b53d69":[0,0,1,13,23], -"classflow_1_1_vector.html#ad02fbe2f355e1bea83186cbb97b53d69":[2,0,0,13,23], -"classflow_1_1_vector.html#ad06c3b5cb971e7dbf7cdba5be93f7f06":[0,0,1,13,58], -"classflow_1_1_vector.html#ad06c3b5cb971e7dbf7cdba5be93f7f06":[2,0,0,13,58], -"classflow_1_1_vector.html#ad2d841f6f75875ad349b649648c9528b":[0,0,1,13,10], -"classflow_1_1_vector.html#ad2d841f6f75875ad349b649648c9528b":[2,0,0,13,10], -"classflow_1_1_vector.html#ad4726df83d62b3869b5c28cf93b27c66":[0,0,1,13,30], -"classflow_1_1_vector.html#ad4726df83d62b3869b5c28cf93b27c66":[2,0,0,13,30], -"classflow_1_1_vector.html#ad6491063afb2f969da46c7617f09e048":[0,0,1,13,31], -"classflow_1_1_vector.html#ad6491063afb2f969da46c7617f09e048":[2,0,0,13,31], -"classflow_1_1_vector.html#ad698ac46b7cd873095875b41509e0a3c":[0,0,1,13,5], -"classflow_1_1_vector.html#ad698ac46b7cd873095875b41509e0a3c":[2,0,0,13,5], -"classflow_1_1_vector.html#ad756f48cb4b3d644d3ee2272016e53de":[0,0,1,13,1], -"classflow_1_1_vector.html#ad756f48cb4b3d644d3ee2272016e53de":[2,0,0,13,1], -"classflow_1_1_vector.html#ad9bee88ac142d52bc14d3b7c12c5d27a":[0,0,1,13,32], -"classflow_1_1_vector.html#ad9bee88ac142d52bc14d3b7c12c5d27a":[2,0,0,13,32], -"classflow_1_1_vector.html#adc242dbb463beb99e19cb80f9e67e2b0":[0,0,1,13,7], -"classflow_1_1_vector.html#adc242dbb463beb99e19cb80f9e67e2b0":[2,0,0,13,7], -"classflow_1_1_vector.html#ae0c4ade36741c6f196021349b5485526":[0,0,1,13,18], -"classflow_1_1_vector.html#ae0c4ade36741c6f196021349b5485526":[2,0,0,13,18], -"classflow_1_1_vector.html#ae39c634ffc7d4719734a727dd4e9eb02":[0,0,1,13,46], -"classflow_1_1_vector.html#ae39c634ffc7d4719734a727dd4e9eb02":[2,0,0,13,46], -"classflow_1_1_vector.html#ae778656d8599eb0152135aaa57b61057":[0,0,1,13,27], -"classflow_1_1_vector.html#ae778656d8599eb0152135aaa57b61057":[2,0,0,13,27], -"classflow_1_1_vector.html#aebbcc7115c8718581e35b4702247907d":[0,0,1,13,14], -"classflow_1_1_vector.html#aebbcc7115c8718581e35b4702247907d":[2,0,0,13,14], -"classflow_1_1_vector.html#af0f1a455c67e5f7a9d10849ed88b7559":[0,0,1,13,11], -"classflow_1_1_vector.html#af0f1a455c67e5f7a9d10849ed88b7559":[2,0,0,13,11], -"classflow_1_1_vector.html#af0f7ae6593900ce9862bf99895c4e181":[0,0,1,13,24], -"classflow_1_1_vector.html#af0f7ae6593900ce9862bf99895c4e181":[2,0,0,13,24], -"classflow_1_1_vector.html#afa87bdfe245b4b06339eea38ce140ebb":[0,0,1,13,51], -"classflow_1_1_vector.html#afa87bdfe245b4b06339eea38ce140ebb":[2,0,0,13,51], -"classflow_1_1_vector.html#afc9e7deb83d7e224959f1d0c2bcfb2b6":[0,0,1,13,38], -"classflow_1_1_vector.html#afc9e7deb83d7e224959f1d0c2bcfb2b6":[2,0,0,13,38], -"conceptflow_1_1_growth_strategy.html":[0,0,1,15], -"conceptflow_1_1_growth_strategy.html":[1,0,0], -"concepts.html":[1], -"entry_8cpp.html":[3,0,5], -"entry_8cpp.html#a090e14ab721404d80f4404634d5c79cc":[3,0,5,9], -"entry_8cpp.html#a254d32383658e016368673396e7afc1b":[3,0,5,16], -"entry_8cpp.html#a307ecdbe3be2ca5ba5217f1450d35bde":[3,0,5,19], -"entry_8cpp.html#a43cfe84261f255686df473504c173ef0":[3,0,5,1], -"entry_8cpp.html#a53c0feeffc184aa8c0637ec715223467":[3,0,5,3], -"entry_8cpp.html#a53d416bb2597358966c72d41c768caa8":[3,0,5,24], -"entry_8cpp.html#a65cf28726f89e62ccf2f1354bc2716df":[3,0,5,14], -"entry_8cpp.html#a66e1d499241ccae9a18a20a1f4f0590d":[3,0,5,15], -"entry_8cpp.html#a6e18372eace65469d9b4c96861b23e08":[3,0,5,11], -"entry_8cpp.html#a72aa87788a81217aa01baec3274ab9ea":[3,0,5,22], -"entry_8cpp.html#a7b694a75ff447e1f9de4c034dd6f6c45":[3,0,5,21], -"entry_8cpp.html#a7bd47470ea83b5e8ffd35364a4cc6089":[3,0,5,23], -"entry_8cpp.html#a7f659c0035c3d1439ff60d68ad7692b9":[3,0,5,10], -"entry_8cpp.html#a917e58b0692c2df778a27350534cbfe7":[3,0,5,13], -"entry_8cpp.html#a979f40b9b785d8c4f528f3c7aa7f9a32":[3,0,5,17], -"entry_8cpp.html#aa9061c03e78b5c69a2e90542f956b1b9":[3,0,5,6], -"entry_8cpp.html#abc2f107791bd7c1d49ecf0f168c085a3":[3,0,5,5], -"entry_8cpp.html#ac09fa47991b07a86112d75ab38c702a2":[3,0,5,20], -"entry_8cpp.html#acffcbd3ff75ad5ede4ed67cfac03e397":[3,0,5,25], -"entry_8cpp.html#ad34d88453d37b65a09797bad37f2f527":[3,0,5,4], -"entry_8cpp.html#ae17a3a2e3545f97a4575a5584d84558e":[3,0,5,2], -"entry_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[3,0,5,18], -"entry_8cpp.html#ae72e52134285dbd83ca4227ec77394a2":[3,0,5,8], -"entry_8cpp.html#aec4a1429cc91fb7ff41599b263c348cc":[3,0,5,7], -"entry_8cpp.html#af50a13c91da0494684407e754257804d":[3,0,5,12], -"entry_8cpp_source.html":[3,0,5], -"files.html":[3,0], -"flow__arena__memory__resource_8h.html":[3,0,6], -"flow__arena__memory__resource_8h_source.html":[3,0,6], -"flow__concurrent__flex__queue_8h.html":[3,0,7], -"flow__concurrent__flex__queue_8h_source.html":[3,0,7], -"flow__concurrent__queue_8h.html":[3,0,8], -"flow__concurrent__queue_8h_source.html":[3,0,8], -"flow__counted__value__view__iterator_8h.html":[3,0,9], -"flow__counted__value__view__iterator_8h_source.html":[3,0,9], -"flow__debug__memory_8h.html":[3,0,10], -"flow__debug__memory_8h_source.html":[3,0,10], -"flow__default__memory__resource_8h.html":[3,0,11], -"flow__default__memory__resource_8h_source.html":[3,0,11], -"flow__memory__algorithm_8h.html":[3,0,12], -"flow__memory__algorithm_8h_source.html":[3,0,12], -"flow__memory__resource_8h.html":[3,0,13], -"flow__memory__resource_8h_source.html":[3,0,13], -"flow__polymorphic__allocator_8h.html":[3,0,14], -"flow__polymorphic__allocator_8h_source.html":[3,0,14], -"flow__pool__memory__resource_8h.html":[3,0,15], -"flow__pool__memory__resource_8h_source.html":[3,0,15], -"flow__random__algorithm_8h.html":[3,0,16], -"flow__random__algorithm_8h_source.html":[3,0,16], -"flow__stack__memory__resource_8h.html":[3,0,17], -"flow__stack__memory__resource_8h_source.html":[3,0,17], -"flow__timer_8h.html":[3,0,18], -"flow__timer_8h_source.html":[3,0,18], -"flow__tuple_8h.html":[3,0,19], -"flow__tuple_8h_source.html":[3,0,19], -"flow__vector_8h.html":[3,0,20], -"flow__vector_8h.html#a74b1b9f01e1911a3186769679f74c377":[3,0,20,6], -"flow__vector_8h.html#af06ef3cc2293dbd659cdeb3ef04b94ba":[3,0,20,7], -"flow__vector_8h_source.html":[3,0,20], -"functions.html":[2,3,0], -"functions.html":[2,3,0,0], -"functions_a.html":[2,3,0,1], -"functions_b.html":[2,3,0,2], -"functions_c.html":[2,3,0,3], -"functions_d.html":[2,3,0,4], -"functions_e.html":[2,3,0,5], -"functions_f.html":[2,3,0,6], -"functions_func.html":[2,3,1], -"functions_func.html":[2,3,1,0], -"functions_func_b.html":[2,3,1,1], -"functions_func_c.html":[2,3,1,2] -}; diff --git a/docs/navtreeindex3.js b/docs/navtreeindex3.js deleted file mode 100644 index ddb6fae..0000000 --- a/docs/navtreeindex3.js +++ /dev/null @@ -1,138 +0,0 @@ -var NAVTREEINDEX3 = -{ -"functions_func_d.html":[2,3,1,3], -"functions_func_e.html":[2,3,1,4], -"functions_func_f.html":[2,3,1,5], -"functions_func_g.html":[2,3,1,6], -"functions_func_i.html":[2,3,1,7], -"functions_func_k.html":[2,3,1,8], -"functions_func_l.html":[2,3,1,9], -"functions_func_m.html":[2,3,1,10], -"functions_func_n.html":[2,3,1,11], -"functions_func_o.html":[2,3,1,12], -"functions_func_p.html":[2,3,1,13], -"functions_func_q.html":[2,3,1,14], -"functions_func_r.html":[2,3,1,15], -"functions_func_s.html":[2,3,1,16], -"functions_func_t.html":[2,3,1,17], -"functions_func_u.html":[2,3,1,18], -"functions_func_v.html":[2,3,1,19], -"functions_func_w.html":[2,3,1,20], -"functions_func_~.html":[2,3,1,21], -"functions_g.html":[2,3,0,7], -"functions_h.html":[2,3,0,8], -"functions_i.html":[2,3,0,9], -"functions_k.html":[2,3,0,10], -"functions_l.html":[2,3,0,11], -"functions_m.html":[2,3,0,12], -"functions_n.html":[2,3,0,13], -"functions_o.html":[2,3,0,14], -"functions_p.html":[2,3,0,15], -"functions_q.html":[2,3,0,16], -"functions_r.html":[2,3,0,17], -"functions_rela.html":[2,3,4], -"functions_s.html":[2,3,0,18], -"functions_t.html":[2,3,0,19], -"functions_type.html":[2,3,3], -"functions_u.html":[2,3,0,20], -"functions_v.html":[2,3,0,21], -"functions_vars.html":[2,3,2], -"functions_w.html":[2,3,0,22], -"functions_~.html":[2,3,0,23], -"globals.html":[3,1,0], -"globals_defs.html":[3,1,4], -"globals_func.html":[3,1,1], -"globals_type.html":[3,1,3], -"globals_vars.html":[3,1,2], -"hierarchy.html":[2,2], -"index.html":[], -"namespacebenchmark.html":[0,0,0], -"namespacebenchmark.html#a05e5b1e546dc4a325d127bfda0d95902":[0,0,0,1], -"namespacebenchmark.html#a49f4972ef8aa15746e43281484381e39":[0,0,0,0], -"namespacebenchmark.html#aa90af4821e756d6abd48736a886fb7b9":[0,0,0,2], -"namespacebenchmark.html#ab1c92b084d635c2b9a5fce6e5fd3364c":[0,0,0,3], -"namespacebenchmark.html#ad143bdfdfd0ac0f02b5107662f077dbb":[0,0,0,4], -"namespaceflow.html":[0,0,1], -"namespaceflow.html#a003a0f5de60743211f4a12ad692ea545":[0,0,1,25], -"namespaceflow.html#a0917ae92fc9372994be63e2b07d7da43":[0,0,1,18], -"namespaceflow.html#a1110956ca4c95ee5c42c1e988dab6ecd":[0,0,1,32], -"namespaceflow.html#a2097cda5f5388d27f3c92804fdea2917":[0,0,1,19], -"namespaceflow.html#a4cdb6701097d19bfe56dc9b98d0ab18d":[0,0,1,22], -"namespaceflow.html#a51e3de912b53f5b8d08f6167efae5d43":[0,0,1,31], -"namespaceflow.html#a5991193d2c2c3220704b7ffe43284798":[0,0,1,28], -"namespaceflow.html#a5f5545b19674be10035741dc55ab7805":[0,0,1,30], -"namespaceflow.html#a66db7e81436bb94ac54e68f4f13be960":[0,0,1,20], -"namespaceflow.html#a69464bd65a1f1f8786cf92a34e4d9497":[0,0,1,23], -"namespaceflow.html#a7cbf79d9d81ea0bf923173bf94d18282":[0,0,1,29], -"namespaceflow.html#a95a53e967634035ab7b02a7a0fd8d41a":[0,0,1,17], -"namespaceflow.html#aaf246f21a7d66e18117ff22ba5c737fd":[0,0,1,24], -"namespaceflow.html#ab90fae79ddd51259bfc55e73b295fcd9":[0,0,1,21], -"namespaceflow.html#ac44af902cb4c10b49fa9f5992daa6c92":[0,0,1,27], -"namespaceflow.html#ad508020eec40eabb44ecd17a0ea944a1":[0,0,1,16], -"namespaceflow.html#ae91210e00bd937af8781ad61d96bb7af":[0,0,1,26], -"namespacemembers.html":[0,1,0], -"namespacemembers_func.html":[0,1,1], -"namespaces.html":[0,0], -"namespacestd.html":[0,0,2], -"pages.html":[], -"struct_disjoint_set_1_1_set.html":[2,0,5,0], -"struct_disjoint_set_1_1_set.html#a1fc19bf3f8e8d2c857535aa9431aee02":[2,0,5,0,2], -"struct_disjoint_set_1_1_set.html#a79a8aaa8f02f5c36405cf5dd1cc9d114":[2,0,5,0,0], -"struct_disjoint_set_1_1_set.html#abd6835245742febe661bf66089e9f72b":[2,0,5,0,1], -"struct_random_meldable_heap_1_1_node.html":[2,0,9,0], -"struct_random_meldable_heap_1_1_node.html#a0ad0a7fa003f5e6a25f05692ec1c4b58":[2,0,9,0,5], -"struct_random_meldable_heap_1_1_node.html#a136a7758d3d171d495f04fed09d097a7":[2,0,9,0,4], -"struct_random_meldable_heap_1_1_node.html#a6eb0c3207a4cd936a18585e46a33a14c":[2,0,9,0,7], -"struct_random_meldable_heap_1_1_node.html#a8ecf0ab2baa2478971ee84c5a64f0332":[2,0,9,0,6], -"struct_random_meldable_heap_1_1_node.html#adf1fd57b99e9e5d2ac67a5b0579ccf65":[2,0,9,0,3], -"struct_random_meldable_heap_1_1_node.html#aefe2d59c7563a763415268bf1ee29c9e":[2,0,9,0,1], -"struct_random_meldable_heap_1_1_node.html#af096c21cc83e5e7214ae6eadc39c3ac4":[2,0,9,0,0], -"struct_random_meldable_heap_1_1_node.html#af5ca5a8516677e96e6d7282d7778b9c8":[2,0,9,0,8], -"struct_random_meldable_heap_1_1_node.html#afaaac34fda2ccc06f20bcf49d591fd53":[2,0,9,0,2], -"struct_skip_list_1_1_node.html":[2,0,11,1], -"struct_skip_list_1_1_node.html#a2d108d51b7fadd47defbeff0fa99919d":[2,0,11,1,1], -"struct_skip_list_1_1_node.html#ade37757eb1ac96054e9658270c08951d":[2,0,11,1,0], -"struct_skip_list_1_1_tower.html":[2,0,11,2], -"struct_skip_list_1_1_tower.html#a0b4838f8410826497e68ef128132f772":[2,0,11,2,0], -"struct_skip_list_1_1_tower.html#a183a6b57fb0ad76d9f365b9920bf77a3":[2,0,11,2,5], -"struct_skip_list_1_1_tower.html#a938e2decb2fdb7c8425d5da4e9248f37":[2,0,11,2,4], -"struct_skip_list_1_1_tower.html#aad2c7f8597035157f30c9b1495c1cc50":[2,0,11,2,3], -"struct_skip_list_1_1_tower.html#ad0867cde3875f0d23afc85679e821c13":[2,0,11,2,2], -"struct_skip_list_1_1_tower.html#ad6095deae4ec4d2a3165989b19c620bc":[2,0,11,2,1], -"structflow_1_1_concurrent_flex_queue_1_1_node.html":[0,0,1,1,0], -"structflow_1_1_concurrent_flex_queue_1_1_node.html":[2,0,0,1,0], -"structflow_1_1_concurrent_flex_queue_1_1_node.html#aaa0bd7f3414ed819e8af4e71e1fb99f1":[0,0,1,1,0,1], -"structflow_1_1_concurrent_flex_queue_1_1_node.html#aaa0bd7f3414ed819e8af4e71e1fb99f1":[2,0,0,1,0,1], -"structflow_1_1_concurrent_flex_queue_1_1_node.html#aee6686d5a1482935fc4397adfdc54721":[0,0,1,1,0,0], -"structflow_1_1_concurrent_flex_queue_1_1_node.html#aee6686d5a1482935fc4397adfdc54721":[2,0,0,1,0,0], -"structflow_1_1_pool_memory_resource_1_1_header.html":[0,0,1,8,0], -"structflow_1_1_pool_memory_resource_1_1_header.html":[2,0,0,8,0], -"structflow_1_1_pool_memory_resource_1_1_header.html#ae67fd9d5f52747e2b0670519f971aa72":[0,0,1,8,0,0], -"structflow_1_1_pool_memory_resource_1_1_header.html#ae67fd9d5f52747e2b0670519f971aa72":[2,0,0,8,0,0], -"structflow_1_1_stack_memory_resource_1_1_header.html":[0,0,1,9,0], -"structflow_1_1_stack_memory_resource_1_1_header.html":[2,0,0,9,0], -"structflow_1_1_stack_memory_resource_1_1_header.html#af7da697f584166308e1383ffd1970e91":[0,0,1,9,0,0], -"structflow_1_1_stack_memory_resource_1_1_header.html#af7da697f584166308e1383ffd1970e91":[2,0,0,9,0,0], -"structflow_1_1_vector_growth_strategy.html":[0,0,1,14], -"structflow_1_1_vector_growth_strategy.html":[2,0,0,14], -"structflow_1_1_vector_growth_strategy_1_1_double_expand.html":[0,0,1,14,0], -"structflow_1_1_vector_growth_strategy_1_1_double_expand.html":[2,0,0,14,0], -"structflow_1_1_vector_growth_strategy_1_1_double_expand.html#a9345ba72ca5c6f7c920b8280ec756380":[0,0,1,14,0,0], -"structflow_1_1_vector_growth_strategy_1_1_double_expand.html#a9345ba72ca5c6f7c920b8280ec756380":[2,0,0,14,0,0], -"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html":[0,0,1,14,1], -"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html":[2,0,0,14,1], -"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a1acd32de5883dfaab0b738124ff471db":[0,0,1,14,1,0], -"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a1acd32de5883dfaab0b738124ff471db":[2,0,0,14,1,0], -"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a4afa8328128602deb9ea79a34a2e4590":[0,0,1,14,1,1], -"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a4afa8328128602deb9ea79a34a2e4590":[2,0,0,14,1,1], -"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a5991646915b6f3701053d41556394e06":[0,0,1,14,1,2], -"structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a5991646915b6f3701053d41556394e06":[2,0,0,14,1,2], -"structflow_1_1_vector_growth_strategy_1_1_golden_expand.html":[0,0,1,14,2], -"structflow_1_1_vector_growth_strategy_1_1_golden_expand.html":[2,0,0,14,2], -"structflow_1_1_vector_growth_strategy_1_1_golden_expand.html#a4b046f830b42446928087c119aa2cb50":[0,0,1,14,2,0], -"structflow_1_1_vector_growth_strategy_1_1_golden_expand.html#a4b046f830b42446928087c119aa2cb50":[2,0,0,14,2,0], -"structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html":[0,0,2,0], -"structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html":[2,0,1,0], -"structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html#acbb84e8c5667496a47fb51bb7bdbb1d7":[0,0,2,0,0], -"structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html#acbb84e8c5667496a47fb51bb7bdbb1d7":[2,0,1,0,0] -}; diff --git a/docs/search/all_0.js b/docs/search/all_0.js index 831235a..d0dea51 100644 --- a/docs/search/all_0.js +++ b/docs/search/all_0.js @@ -1,16 +1,10 @@ var searchData= [ - ['_5f_0',['_',['../entry_8cpp.html#ac09fa47991b07a86112d75ab38c702a2',1,'entry.cpp']]], - ['_5fback_1',['_back',['../class_linked_list.html#a076ece933cdbe7fac882c033b3d72047',1,'LinkedList']]], - ['_5fdata_2',['_data',['../class_binary_heap.html#ada01307e0a8c533621e1d67301721a52',1,'BinaryHeap::_data'],['../class_binomial_heap_1_1_flag_tree.html#a4c72c3a1d0da747536683a945d9689b4',1,'BinomialHeap::FlagTree::_data'],['../class_linked_list_1_1_node.html#a55d55ce4a1941ee648ba6889014ba0e4',1,'LinkedList::Node::_data'],['../class_p_s_d_a.html#a08176d6b45638c9f0fba1c732125b7f0',1,'PSDA::_data'],['../class_sparse_table.html#a4b4ddbdcbadc9111cb6774fb5aa7138c',1,'SparseTable::_data']]], - ['_5ffront_3',['_front',['../class_linked_list.html#a15fbf380d5e1990a6fbf30d311dd8113',1,'LinkedList']]], - ['_5fkeyvalue_4',['_keyValue',['../struct_skip_list_1_1_tower.html#a938e2decb2fdb7c8425d5da4e9248f37',1,'SkipList::Tower']]], - ['_5fleft_5',['_left',['../class_binomial_heap_1_1_flag_tree.html#a71eb330d4c27115b28abfebbe1788349',1,'BinomialHeap::FlagTree']]], - ['_5fnext_6',['_next',['../class_linked_list_1_1_node.html#a84a7f4dc11345f753cdb7547b0437852',1,'LinkedList::Node::_next'],['../struct_skip_list_1_1_node.html#a2d108d51b7fadd47defbeff0fa99919d',1,'SkipList::Node::_next']]], - ['_5fnodes_7',['_nodes',['../struct_skip_list_1_1_tower.html#a183a6b57fb0ad76d9f365b9920bf77a3',1,'SkipList::Tower']]], - ['_5fright_8',['_right',['../class_binomial_heap_1_1_flag_tree.html#a8b4e11d69103b08bcdf97042e0b97938',1,'BinomialHeap::FlagTree']]], - ['_5froot_9',['_root',['../class_skip_list.html#a30db5634b1bda0964c31c6db4f0e4a3d',1,'SkipList']]], - ['_5fsize_10',['_size',['../class_a_v_l_tree.html#a2f05e0a5381c3760cd6372f87e9740fb',1,'AVLTree::_size'],['../class_binomial_heap.html#aa25bc3c594252d3dfcf88062154abe41',1,'BinomialHeap::_size'],['../class_linked_list.html#a144c8a50d337d77b726e9ac10463199c',1,'LinkedList::_size'],['../class_random_meldable_heap.html#a9d2871890447dfff9b911bb69fd48b74',1,'RandomMeldableHeap::_size']]], - ['_5ftrees_11',['_trees',['../class_binomial_heap.html#a8fff9b5c749e1a4207dad31aaa66d613',1,'BinomialHeap']]], - ['_5fvalue_12',['_value',['../class_integer_iterator.html#ae2530e64d82ae3023a172a71904052f0',1,'IntegerIterator']]] + ['alignwithheader_0',['alignWithHeader',['../namespaceflow.html#ad508020eec40eabb44ecd17a0ea944a1',1,'flow']]], + ['allocate_1',['allocate',['../classflow_1_1_memory_resource.html#a5f348b979d67c8503d67d6a5ec7bfda9',1,'flow::MemoryResource::allocate()'],['../classflow_1_1_polymorphic_allocator.html#a9ecfbea0e237d47dbaeb792d40470981',1,'flow::PolymorphicAllocator::allocate()']]], + ['allocateimp_2',['allocateImp',['../classflow_1_1_arena_memory_resource.html#a621223b622d7efd5503f65c9de3aab1b',1,'flow::ArenaMemoryResource::allocateImp()'],['../classflow_1_1_default_memory_resource.html#a5b3b10ccc61e2b8d17606eb5fc0f1627',1,'flow::DefaultMemoryResource::allocateImp()'],['../classflow_1_1_memory_resource.html#a8179af2eb6e69df16d8ee3d82286ec10',1,'flow::MemoryResource::allocateImp()'],['../classflow_1_1_pool_memory_resource.html#a3cfb07a234f406f4fb8c1d1c154861bc',1,'flow::PoolMemoryResource::allocateImp()'],['../classflow_1_1_stack_memory_resource.html#a2ac0250b455868bd79a38da643b421d5',1,'flow::StackMemoryResource::allocateImp()']]], + ['allocator_5f_3',['allocator_',['../classflow_1_1_vector.html#ad06c3b5cb971e7dbf7cdba5be93f7f06',1,'flow::Vector']]], + ['allocator_5ftrait_4',['allocator_trait',['../classflow_1_1_vector.html#a424909668ab5c7879b210d83dba285df',1,'flow::Vector']]], + ['allocator_5ftype_5',['allocator_type',['../classflow_1_1_concurrent_queue.html#af4048108b7a00a714017892338c92ac6',1,'flow::ConcurrentQueue::allocator_type'],['../classflow_1_1_vector.html#ad756f48cb4b3d644d3ee2272016e53de',1,'flow::Vector::allocator_type']]], + ['arenamemoryresource_6',['ArenaMemoryResource',['../classflow_1_1_arena_memory_resource.html',1,'flow::ArenaMemoryResource'],['../classflow_1_1_arena_memory_resource.html#ad4978347aee081a4eea9ba60d5c64831',1,'flow::ArenaMemoryResource::ArenaMemoryResource()']]] ]; diff --git a/docs/search/all_1.js b/docs/search/all_1.js index 6b38247..5bb1e95 100644 --- a/docs/search/all_1.js +++ b/docs/search/all_1.js @@ -1,12 +1,11 @@ var searchData= [ - ['alignwithheader_0',['alignWithHeader',['../namespaceflow.html#ad508020eec40eabb44ecd17a0ea944a1',1,'flow']]], - ['allocate_1',['allocate',['../classflow_1_1_memory_resource.html#a5f348b979d67c8503d67d6a5ec7bfda9',1,'flow::MemoryResource::allocate()'],['../classflow_1_1_polymorphic_allocator.html#a9ecfbea0e237d47dbaeb792d40470981',1,'flow::PolymorphicAllocator::allocate()']]], - ['allocateimp_2',['allocateImp',['../classflow_1_1_arena_memory_resource.html#a621223b622d7efd5503f65c9de3aab1b',1,'flow::ArenaMemoryResource::allocateImp()'],['../classflow_1_1_default_memory_resource.html#a5b3b10ccc61e2b8d17606eb5fc0f1627',1,'flow::DefaultMemoryResource::allocateImp()'],['../classflow_1_1_memory_resource.html#a8179af2eb6e69df16d8ee3d82286ec10',1,'flow::MemoryResource::allocateImp()'],['../classflow_1_1_pool_memory_resource.html#a3cfb07a234f406f4fb8c1d1c154861bc',1,'flow::PoolMemoryResource::allocateImp()'],['../classflow_1_1_stack_memory_resource.html#a2ac0250b455868bd79a38da643b421d5',1,'flow::StackMemoryResource::allocateImp()']]], - ['allocator_5f_3',['allocator_',['../classflow_1_1_vector.html#ad06c3b5cb971e7dbf7cdba5be93f7f06',1,'flow::Vector']]], - ['allocator_5ftrait_4',['allocator_trait',['../classflow_1_1_vector.html#a424909668ab5c7879b210d83dba285df',1,'flow::Vector']]], - ['allocator_5ftype_5',['allocator_type',['../classflow_1_1_concurrent_queue.html#af4048108b7a00a714017892338c92ac6',1,'flow::ConcurrentQueue::allocator_type'],['../classflow_1_1_vector.html#ad756f48cb4b3d644d3ee2272016e53de',1,'flow::Vector::allocator_type']]], - ['arenamemoryresource_6',['ArenaMemoryResource',['../classflow_1_1_arena_memory_resource.html',1,'flow::ArenaMemoryResource'],['../classflow_1_1_arena_memory_resource.html#ad4978347aee081a4eea9ba60d5c64831',1,'flow::ArenaMemoryResource::ArenaMemoryResource()']]], - ['avltree_7',['AVLTree',['../class_a_v_l_tree.html',1,'AVLTree< T >'],['../class_a_v_l_tree.html#a9fab28b32e97ffc5e0f1a4ed3d9823b2',1,'AVLTree::AVLTree()'],['../class_a_v_l_tree.html#ada4e04560ad4579bf28c4c54594f5fdf',1,'AVLTree::AVLTree(const AVLTree &tree)'],['../class_a_v_l_tree.html#a14c1e8c04a3b932d973f30351b909269',1,'AVLTree::AVLTree(AVLTree &&tree) noexcept']]], - ['avltree_2eh_8',['AVLTree.h',['../_a_v_l_tree_8h.html',1,'']]] + ['back_0',['back',['../classflow_1_1_vector.html#ad02fbe2f355e1bea83186cbb97b53d69',1,'flow::Vector::back() noexcept'],['../classflow_1_1_vector.html#a23941afb170992195959db92f14bc114',1,'flow::Vector::back() const noexcept']]], + ['basetype_1',['BaseType',['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a4f1f896d869a98776eb4ea84f90ff3f9',1,'flow::Tuple< T, Ts... >']]], + ['begin_2',['begin',['../classflow_1_1_vector.html#a52107e19ce15e50a4a610a1486203a55',1,'flow::Vector::begin() noexcept'],['../classflow_1_1_vector.html#af0f7ae6593900ce9862bf99895c4e181',1,'flow::Vector::begin() const noexcept']]], + ['begin_5f_3',['begin_',['../classflow_1_1_timer.html#acbd02d5581f7c9944d26b2af920de561',1,'flow::Timer']]], + ['blockalignment_5f_4',['blockAlignment_',['../classflow_1_1_pool_memory_resource.html#a78edca92b66c6501c24f699bb13090ab',1,'flow::PoolMemoryResource']]], + ['blocked_5f_5',['blocked_',['../classflow_1_1_concurrent_flex_queue.html#af0130ab4a2ff9034c8dd97fbee1fc968',1,'flow::ConcurrentFlexQueue::blocked_'],['../classflow_1_1_concurrent_queue.html#ae41447f6c7b2caafcbfce2533219ad0c',1,'flow::ConcurrentQueue::blocked_']]], + ['blocksize_5f_6',['blockSize_',['../classflow_1_1_pool_memory_resource.html#ac14d17a1ae812d2f72140249a05f32be',1,'flow::PoolMemoryResource']]], + ['buffer_5f_7',['buffer_',['../classflow_1_1_arena_memory_resource.html#a2d283fc7e546c911ffa7869a23671ad8',1,'flow::ArenaMemoryResource::buffer_'],['../classflow_1_1_stack_memory_resource.html#a2f4289d48c9ac450dc8f2f44f5c0ef25',1,'flow::StackMemoryResource::buffer_'],['../classflow_1_1_vector.html#a597edff02196a283944224a5464c62a0',1,'flow::Vector::buffer_']]] ]; diff --git a/docs/search/all_10.js b/docs/search/all_10.js index 16a570b..79eaf84 100644 --- a/docs/search/all_10.js +++ b/docs/search/all_10.js @@ -1,5 +1,14 @@ var searchData= [ - ['query_0',['Query',['../class_p_s_d_a.html#a9ba86ff26f27e9c6d5d94b1f0cff9d0c',1,'PSDA::Query()'],['../class_sparse_table.html#af477d026d12d824c070f86c12d36473c',1,'SparseTable::Query()']]], - ['queue_5f_1',['queue_',['../classflow_1_1_concurrent_queue.html#ac343336ca09c2e09f85c0f17addc1010',1,'flow::ConcurrentQueue']]] + ['tail_5f_0',['tail_',['../classflow_1_1_concurrent_flex_queue.html#a40652e3d0f4e7d94a31c1538599ddfe6',1,'flow::ConcurrentFlexQueue']]], + ['tailmux_5f_1',['tailMux_',['../classflow_1_1_concurrent_flex_queue.html#a547f5e0441bc2eb9420b3880c239d22e',1,'flow::ConcurrentFlexQueue']]], + ['timepoint_2',['TimePoint',['../classflow_1_1_timer.html#aaab2494b84d8f0522aa888c52675b60f',1,'flow::Timer']]], + ['timepoints_5f_3',['timepoints_',['../classflow_1_1_timer.html#a561f3b246b164cafaa2e7e8e9e99d230',1,'flow::Timer']]], + ['timer_4',['Timer',['../classflow_1_1_timer.html',1,'flow::Timer< ClockType >'],['../classflow_1_1_timer.html#a84fb288a95562d7511d226ebe6ad6f8e',1,'flow::Timer::Timer(std::size_t reserveSize=8)']]], + ['tostring_5',['toString',['../classflow_1_1_timer.html#a491df8664619dd62baf9e1eac1170d96',1,'flow::Timer']]], + ['tryfront_6',['tryFront',['../classflow_1_1_concurrent_flex_queue.html#ac45ab0b7ea0f605549619a7acf41e4b7',1,'flow::ConcurrentFlexQueue::tryFront()'],['../classflow_1_1_concurrent_queue.html#a28100c215fb8bd848e8311f5f8165bb2',1,'flow::ConcurrentQueue::tryFront()']]], + ['trypop_7',['tryPop',['../classflow_1_1_concurrent_flex_queue.html#a625000dfe4ec5396867921d8cf686f64',1,'flow::ConcurrentFlexQueue::tryPop()'],['../classflow_1_1_concurrent_queue.html#a5c0d191969f644b6146ffb547f07e19f',1,'flow::ConcurrentQueue::tryPop()']]], + ['tuple_8',['Tuple',['../classflow_1_1_tuple.html',1,'flow::Tuple< Ts >'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a55b886793da978c41864c41132402df2',1,'flow::Tuple< T, Ts... >::Tuple()'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a7f60fa146191162adc0fa354fb1238cc',1,'flow::Tuple< T, Ts... >::Tuple(Arg1 &&value, Args2 &&... values)'],['../namespaceflow.html#aaf246f21a7d66e18117ff22ba5c737fd',1,'flow::Tuple(T &&, Ts &&...) -> Tuple< T, Ts... >']]], + ['tuple_3c_20t_2c_20ts_2e_2e_2e_20_3e_9',['Tuple< T, Ts... >',['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html',1,'flow']]], + ['tuple_3c_20ts_2e_2e_2e_20_3e_10',['Tuple< Ts... >',['../classflow_1_1_tuple.html',1,'flow']]] ]; diff --git a/docs/search/all_11.js b/docs/search/all_11.js index 15bbd14..d097c3a 100644 --- a/docs/search/all_11.js +++ b/docs/search/all_11.js @@ -1,27 +1,12 @@ var searchData= [ - ['randommeldableheap_0',['RandomMeldableHeap',['../class_random_meldable_heap.html',1,'RandomMeldableHeap< T, Predicate >'],['../class_random_meldable_heap.html#a626f88023a14956c01f5a9e395254442',1,'RandomMeldableHeap::RandomMeldableHeap()'],['../class_random_meldable_heap.html#a2b0c5fb315ea87e918f6485b5715ec70',1,'RandomMeldableHeap::RandomMeldableHeap(const RandomMeldableHeap &)=delete'],['../class_random_meldable_heap.html#afda39cf3e42f6dde1ac0891c67bd4a60',1,'RandomMeldableHeap::RandomMeldableHeap(RandomMeldableHeap &&heap)']]], - ['randommeldableheap_2eh_1',['RandomMeldableHeap.h',['../_random_meldable_heap_8h.html',1,'']]], - ['rangequery_2',['RangeQuery',['../class_segment_tree.html#acb52b501869d10a7c744680d20c05fa1',1,'SegmentTree']]], - ['rangeupdate_3',['RangeUpdate',['../class_segment_tree.html#a4455133bc3dfdd31e81da3c516717726',1,'SegmentTree']]], - ['rank_4',['rank',['../struct_disjoint_set_1_1_set.html#a1fc19bf3f8e8d2c857535aa9431aee02',1,'DisjointSet::Set']]], - ['rd_5',['rd',['../class_random_meldable_heap.html#ac37595274c6b3411f04d8d036897802a',1,'RandomMeldableHeap']]], - ['record_6',['record',['../classflow_1_1_timer.html#a1e1fdbe90de75ff50c147a965b756f2b',1,'flow::Timer']]], - ['reference_7',['reference',['../classflow_1_1_counted_value_view_iterator.html#a4fffa537ac2693dd8f3258b909575de9',1,'flow::CountedValueViewIterator::reference'],['../classflow_1_1_vector.html#abc2b6c908cb60802eab99fdf9f25b14f',1,'flow::Vector::reference'],['../class_integer_iterator.html#a533093c61bc3127614384692e672a60d',1,'IntegerIterator::reference']]], - ['relocatebuffer_8',['relocateBuffer',['../classflow_1_1_vector.html#aad83e0ac5232072e914bd75e4b116473',1,'flow::Vector']]], - ['relocatebufferwithholes_9',['relocateBufferWithHoles',['../classflow_1_1_vector.html#a53fca75839ead5d5a63aa334effc2663',1,'flow::Vector']]], - ['reserve_10',['Reserve',['../class_disjoint_set.html#ad76eefdcd819f2c2393ea057d0090f18',1,'DisjointSet']]], - ['reserve_11',['reserve',['../classflow_1_1_vector.html#afa87bdfe245b4b06339eea38ce140ebb',1,'flow::Vector']]], - ['reset_12',['reset',['../classflow_1_1_timer.html#a74b4619eeb69ef54d750bcb91aa837fe',1,'flow::Timer']]], - ['resize_13',['Resize',['../class_disjoint_set.html#ab55ff25ae5a2213d9e1790be7cec2c59',1,'DisjointSet']]], - ['resize_14',['resize',['../classflow_1_1_vector.html#abe9e6c30c45760900e713664e3c7ee95',1,'flow::Vector::resize(std::size_t size)'],['../classflow_1_1_vector.html#a956bdadf66a3cf83543fdb4880a7ed30',1,'flow::Vector::resize(std::size_t size, const T &value)']]], - ['resizeimp_15',['resizeImp',['../classflow_1_1_vector.html#aa28bafb52ffd5943f74f969f3970700d',1,'flow::Vector']]], - ['resource_5f_16',['resource_',['../classflow_1_1_polymorphic_allocator.html#a15d7aac64ac85004897b094b38ca73bd',1,'flow::PolymorphicAllocator']]], - ['right_5f_17',['right_',['../class_a_v_l_tree_1_1_node.html#aaf41210fa129c3927ed9a5e6a9b1f7c6',1,'AVLTree::Node::right_'],['../struct_random_meldable_heap_1_1_node.html#a6eb0c3207a4cd936a18585e46a33a14c',1,'RandomMeldableHeap::Node::right_']]], - ['rightchild_18',['RightChild',['../class_binary_heap.html#ac05dfe457e3d6917472e6b232497eab4',1,'BinaryHeap']]], - ['root_5f_19',['root_',['../class_a_v_l_tree.html#aaf0aba7baf43d7b839f247904c12da25',1,'AVLTree::root_'],['../class_random_meldable_heap.html#a7de71ae18404036c7cc348464ea25f5f',1,'RandomMeldableHeap::root_'],['../class_trie.html#a03d741ca549f30e7f5889ccaa6b083bd',1,'Trie::root_']]], - ['rotateleftleft_20',['RotateLeftLeft',['../class_a_v_l_tree_1_1_node.html#aba9397879c44718fd4e675adde9d15a5',1,'AVLTree::Node']]], - ['rotateleftright_21',['RotateLeftRight',['../class_a_v_l_tree_1_1_node.html#ad3e8551ae2758fe2b0ec68c4a0c44d0b',1,'AVLTree::Node']]], - ['rotaterightleft_22',['RotateRightLeft',['../class_a_v_l_tree_1_1_node.html#a5d7f8148075ff0b7115e3e8ecdf2ca82',1,'AVLTree::Node']]], - ['rotaterightright_23',['RotateRightRight',['../class_a_v_l_tree_1_1_node.html#aea120a79cec52d18874becf5699636aa',1,'AVLTree::Node']]] + ['uninitializedemplace_0',['uninitializedEmplace',['../namespaceflow.html#a003a0f5de60743211f4a12ad692ea545',1,'flow']]], + ['uninitializedemplacen_1',['uninitializedEmplaceN',['../namespaceflow.html#ae91210e00bd937af8781ad61d96bb7af',1,'flow']]], + ['uninitializedfill_2',['uninitializedFill',['../namespaceflow.html#ac44af902cb4c10b49fa9f5992daa6c92',1,'flow']]], + ['uninitializedfilln_3',['uninitializedFillN',['../namespaceflow.html#a5991193d2c2c3220704b7ffe43284798',1,'flow']]], + ['uninitializedforward_4',['uninitializedForward',['../namespaceflow.html#a7cbf79d9d81ea0bf923173bf94d18282',1,'flow']]], + ['uninitializedforwardn_5',['uninitializedForwardN',['../namespaceflow.html#a5f5545b19674be10035741dc55ab7805',1,'flow']]], + ['uninitializedmove_6',['uninitializedMove',['../namespaceflow.html#a51e3de912b53f5b8d08f6167efae5d43',1,'flow']]], + ['uninitializedmoven_7',['uninitializedMoveN',['../namespaceflow.html#a1110956ca4c95ee5c42c1e988dab6ecd',1,'flow']]], + ['updatebuffer_8',['updateBuffer',['../classflow_1_1_vector.html#ab9a6c86d36489ee0b22dcc7ffadba93b',1,'flow::Vector']]] ]; diff --git a/docs/search/all_12.js b/docs/search/all_12.js index c246271..683e04c 100644 --- a/docs/search/all_12.js +++ b/docs/search/all_12.js @@ -1,19 +1,8 @@ var searchData= [ - ['segmenttree_0',['SegmentTree',['../class_segment_tree.html',1,'SegmentTree< T, BinOp >'],['../class_segment_tree.html#a0171328c01aecf88ba32506b05443bea',1,'SegmentTree::SegmentTree(std::initializer_list< T > lst)'],['../class_segment_tree.html#a8fd3d00c664cffb3b49e02901de7ed3a',1,'SegmentTree::SegmentTree(std::vector< T > lst)']]], - ['segmenttree_2eh_1',['SegmentTree.h',['../_segment_tree_8h.html',1,'']]], - ['set_2',['Set',['../struct_disjoint_set_1_1_set.html',1,'DisjointSet']]], - ['sets_5f_3',['sets_',['../class_disjoint_set.html#a614a37acdf7dcdd6b8e38786e9eddb58',1,'DisjointSet']]], - ['shuffle_4',['shuffle',['../namespaceflow.html#a69464bd65a1f1f8786cf92a34e4d9497',1,'flow']]], - ['size_5',['Size',['../class_a_v_l_tree.html#ab85e680166f079bf54d647ac4fe376df',1,'AVLTree::Size()'],['../class_binary_heap.html#a8dbbd7ca7020e2a4b397ccc11165f278',1,'BinaryHeap::Size()'],['../class_binomial_heap.html#abc0262e1ca0f234419fb6023587840ea',1,'BinomialHeap::Size()'],['../class_disjoint_set.html#a1ee9e01280561e828d4839839f0c9ade',1,'DisjointSet::Size()'],['../class_p_s_d_a.html#a53e7852aa6b8f4be0c33db7f7e350734',1,'PSDA::Size()'],['../class_random_meldable_heap.html#a83184954be3d1f275d08a31aa013aa6f',1,'RandomMeldableHeap::Size()']]], - ['size_6',['size',['../classflow_1_1_concurrent_queue.html#ad62cf85a47644dbbb06268bdc68988bc',1,'flow::ConcurrentQueue::size()'],['../classflow_1_1_timer.html#a0bd09e9dc2f660a4e8b3393dd06dbf64',1,'flow::Timer::size()'],['../classflow_1_1_tuple.html#ac21246e9ba10eac47b3ef6370535214f',1,'flow::Tuple::size()'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a6fa5e57287bdb5c2bfbaf12333816cec',1,'flow::Tuple< T, Ts... >::size()'],['../classflow_1_1_vector.html#a174ef01cedf42bda75a148f1e665506e',1,'flow::Vector::size()'],['../class_linked_list.html#ae5e038aa8472ef56e67bd575eeebc9cb',1,'LinkedList::size()']]], - ['size_5f_7',['size_',['../classflow_1_1_vector.html#a6205cfde685f45023d7f26941997a3ee',1,'flow::Vector']]], - ['size_5ftype_8',['size_type',['../classflow_1_1_vector.html#a2181ecd90ff7fce1ff9c8876d8d05b3b',1,'flow::Vector']]], - ['skiplist_9',['SkipList',['../class_skip_list.html',1,'SkipList< KeyType, ValueType, Predicate >'],['../class_skip_list_1_1_iterator_impl.html#ac126981346d56d95dbdb4f443365265b',1,'SkipList::IteratorImpl::SkipList()'],['../class_skip_list.html#a21c7073f015a4981aa3db81c68ded678',1,'SkipList::SkipList()'],['../class_skip_list.html#a7b96cbaab5563be94deb2515f4b7d005',1,'SkipList::SkipList(const SkipList &other)=delete'],['../class_skip_list.html#a4cc1bc645d0eac48b0684501c35b68ee',1,'SkipList::SkipList(SkipList &&other) noexcept']]], - ['skiplist_2eh_10',['SkipList.h',['../_skip_list_8h.html',1,'']]], - ['sparsetable_11',['SparseTable',['../class_sparse_table.html',1,'SparseTable< T, BinOp >'],['../class_sparse_table.html#a65c85236969ff6a8f18b0265dd76b669',1,'SparseTable::SparseTable()']]], - ['sparsetable_2eh_12',['SparseTable.h',['../_sparse_table_8h.html',1,'']]], - ['stackmemoryresource_13',['StackMemoryResource',['../classflow_1_1_stack_memory_resource.html',1,'flow::StackMemoryResource'],['../classflow_1_1_stack_memory_resource.html#a993576cf99976c5cb4c07581dcf89e7a',1,'flow::StackMemoryResource::StackMemoryResource()']]], - ['std_14',['std',['../namespacestd.html',1,'']]], - ['swap_15',['swap',['../class_a_v_l_tree.html#a214f70a9ddeb840f55088f7578411adf',1,'AVLTree::swap()'],['../class_binomial_heap.html#a471ccced6b886f7d18948a6840536106',1,'BinomialHeap::swap()'],['../classflow_1_1_vector.html#acc30803f60627ed546fa47629ef134c1',1,'flow::Vector::swap()'],['../class_integer_iterator.html#a9ad91a48d41fa01eba25a31d98db5a8e',1,'IntegerIterator::swap()'],['../class_linked_list.html#a33c26e7e39ec33a37404c620ca73484f',1,'LinkedList::swap()'],['../_a_v_l_tree_8h.html#a76967cab25a63e934824292123af3f11',1,'swap(AVLTree< T > &lhs, AVLTree< T > &rhs): AVLTree.h'],['../_binomial_heap_8h.html#a080b14fe6bf44d72a8a6375737b04afe',1,'swap(BinomialHeap< T, Predicate > &lhs, BinomialHeap< T, Predicate > &rhs): BinomialHeap.h'],['../_linked_list_8h.html#ad7051d446f1c1dcc709eaaeeac83367e',1,'swap(LinkedList< T > &lhs, LinkedList< T > &rhs): LinkedList.h']]] + ['value_0',['value',['../structflow_1_1_concurrent_flex_queue_1_1_node.html#aaa0bd7f3414ed819e8af4e71e1fb99f1',1,'flow::ConcurrentFlexQueue::Node']]], + ['value_5f_1',['value_',['../classflow_1_1_counted_value_view_iterator.html#afe83d60be27bae44aeaf8df0b1daf17a',1,'flow::CountedValueViewIterator::value_'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#ae7bb027da9f28e7ea61c06ba37d322ab',1,'flow::Tuple< T, Ts... >::value_']]], + ['value_5ftype_2',['value_type',['../classflow_1_1_counted_value_view_iterator.html#acaef28f35bd304c4e561f6ec4aea2d00',1,'flow::CountedValueViewIterator::value_type'],['../classflow_1_1_polymorphic_allocator.html#a9856518e727c58c747d28b25701bd8c1',1,'flow::PolymorphicAllocator::value_type'],['../classflow_1_1_vector.html#ad2d841f6f75875ad349b649648c9528b',1,'flow::Vector::value_type']]], + ['vector_3',['Vector',['../classflow_1_1_vector.html',1,'flow::Vector< T, Allocator, Strategy >'],['../classflow_1_1_vector.html#af0f1a455c67e5f7a9d10849ed88b7559',1,'flow::Vector::Vector() noexcept'],['../classflow_1_1_vector.html#ab2a7b99b11f7bb0a30f1586ea1d178bf',1,'flow::Vector::Vector(const allocator_type &allocator)'],['../classflow_1_1_vector.html#a5daa11faad80d18ed87c7e0f409b0645',1,'flow::Vector::Vector(const Vector &rhs)'],['../classflow_1_1_vector.html#aebbcc7115c8718581e35b4702247907d',1,'flow::Vector::Vector(const Vector &rhs, const allocator_type &allocator)'],['../classflow_1_1_vector.html#a1b81dfaab65161f7a66038bffabc7248',1,'flow::Vector::Vector(Vector &&rhs) noexcept'],['../classflow_1_1_vector.html#a411e4c3e8586db8943dfce5c3d7340a6',1,'flow::Vector::Vector(Vector &&rhs, const allocator_type &allocator)'],['../classflow_1_1_vector.html#abb3aa43549b77168fb56371086ec4447',1,'flow::Vector::Vector(It first, It last, const allocator_type &allocator={})'],['../classflow_1_1_vector.html#ae0c4ade36741c6f196021349b5485526',1,'flow::Vector::Vector(std::initializer_list< T > list, const allocator_type &allocator={})'],['../classflow_1_1_vector.html#a67fd714b4b2af6bda5df8b7f1d152869',1,'flow::Vector::Vector(std::size_t count, const allocator_type &allocator={})'],['../classflow_1_1_vector.html#a9153f6768f8c3b6aa92c6d8f9538722f',1,'flow::Vector::Vector(std::size_t count, const T &value, const allocator_type &allocator={})']]], + ['vectorgrowthstrategy_4',['VectorGrowthStrategy',['../structflow_1_1_vector_growth_strategy.html',1,'flow']]] ]; diff --git a/docs/search/all_13.js b/docs/search/all_13.js index 33054ff..37d2db8 100644 --- a/docs/search/all_13.js +++ b/docs/search/all_13.js @@ -1,20 +1,4 @@ var searchData= [ - ['tail_5f_0',['tail_',['../classflow_1_1_concurrent_flex_queue.html#a40652e3d0f4e7d94a31c1538599ddfe6',1,'flow::ConcurrentFlexQueue']]], - ['tailmux_5f_1',['tailMux_',['../classflow_1_1_concurrent_flex_queue.html#a547f5e0441bc2eb9420b3880c239d22e',1,'flow::ConcurrentFlexQueue']]], - ['timepoint_2',['TimePoint',['../classflow_1_1_timer.html#aaab2494b84d8f0522aa888c52675b60f',1,'flow::Timer']]], - ['timepoints_5f_3',['timepoints_',['../classflow_1_1_timer.html#a561f3b246b164cafaa2e7e8e9e99d230',1,'flow::Timer']]], - ['timer_4',['Timer',['../classflow_1_1_timer.html',1,'flow::Timer< ClockType >'],['../classflow_1_1_timer.html#a84fb288a95562d7511d226ebe6ad6f8e',1,'flow::Timer::Timer()']]], - ['top_5',['Top',['../class_binary_heap.html#a0ed75c0004d274ed966336b7eb264ee6',1,'BinaryHeap::Top()'],['../class_binomial_heap.html#adc6b443e44e239ffff1eefb5ba280792',1,'BinomialHeap::Top() const'],['../class_binomial_heap.html#a189e8e2de41b44ebd0803c94738b23bf',1,'BinomialHeap::Top()'],['../class_random_meldable_heap.html#a75b7d58a837f1aee7fdcf44c994a749c',1,'RandomMeldableHeap::Top()'],['../class_random_meldable_heap.html#a2856c74deb6bdeab6678603a7c1b239c',1,'RandomMeldableHeap::Top() const']]], - ['tostring_6',['toString',['../classflow_1_1_timer.html#a491df8664619dd62baf9e1eac1170d96',1,'flow::Timer']]], - ['tower_7',['Tower',['../struct_skip_list_1_1_tower.html',1,'SkipList< KeyType, ValueType, Predicate >::Tower'],['../struct_skip_list_1_1_tower.html#a0b4838f8410826497e68ef128132f772',1,'SkipList::Tower::Tower()'],['../struct_skip_list_1_1_tower.html#ad6095deae4ec4d2a3165989b19c620bc',1,'SkipList::Tower::Tower(const KeyValueType &keyValue)']]], - ['tower_8',['tower',['../class_skip_list_1_1_iterator_impl.html#a314bb1dc8b3e57380fc6c684164c960e',1,'SkipList::IteratorImpl']]], - ['tree_5f_9',['tree_',['../class_segment_tree.html#a0d3df3fccc12b274e96439b6992b4c35',1,'SegmentTree']]], - ['trie_10',['Trie',['../class_trie.html',1,'Trie< T >'],['../class_trie.html#af8a231351d78977f070e94f1850ce9ad',1,'Trie::Trie()']]], - ['trie_2eh_11',['Trie.h',['../_trie_8h.html',1,'']]], - ['tryfront_12',['tryFront',['../classflow_1_1_concurrent_flex_queue.html#ac45ab0b7ea0f605549619a7acf41e4b7',1,'flow::ConcurrentFlexQueue::tryFront()'],['../classflow_1_1_concurrent_queue.html#a28100c215fb8bd848e8311f5f8165bb2',1,'flow::ConcurrentQueue::tryFront()']]], - ['trypop_13',['tryPop',['../classflow_1_1_concurrent_flex_queue.html#a625000dfe4ec5396867921d8cf686f64',1,'flow::ConcurrentFlexQueue::tryPop()'],['../classflow_1_1_concurrent_queue.html#a5c0d191969f644b6146ffb547f07e19f',1,'flow::ConcurrentQueue::tryPop()']]], - ['tuple_14',['Tuple',['../classflow_1_1_tuple.html',1,'flow::Tuple< Ts >'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a55b886793da978c41864c41132402df2',1,'flow::Tuple< T, Ts... >::Tuple()'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a7f60fa146191162adc0fa354fb1238cc',1,'flow::Tuple< T, Ts... >::Tuple(Arg1 &&value, Args2 &&... values)'],['../namespaceflow.html#aaf246f21a7d66e18117ff22ba5c737fd',1,'flow::Tuple(T &&, Ts &&...) -> Tuple< T, Ts... >']]], - ['tuple_3c_20t_2c_20ts_2e_2e_2e_20_3e_15',['Tuple< T, Ts... >',['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html',1,'flow']]], - ['tuple_3c_20ts_2e_2e_2e_20_3e_16',['Tuple< Ts... >',['../classflow_1_1_tuple.html',1,'flow']]] + ['waitpop_0',['waitPop',['../classflow_1_1_concurrent_flex_queue.html#a9695c97533ad20970414839cbb147374',1,'flow::ConcurrentFlexQueue::waitPop()'],['../classflow_1_1_concurrent_queue.html#a0bf4edf07e01dc7ac12f2277f71230ef',1,'flow::ConcurrentQueue::waitPop()']]] ]; diff --git a/docs/search/all_14.js b/docs/search/all_14.js index b500914..c9a2617 100644 --- a/docs/search/all_14.js +++ b/docs/search/all_14.js @@ -1,19 +1,7 @@ var searchData= [ - ['u16_0',['u16',['../entry_8cpp.html#a917e58b0692c2df778a27350534cbfe7',1,'entry.cpp']]], - ['u32_1',['u32',['../entry_8cpp.html#a65cf28726f89e62ccf2f1354bc2716df',1,'entry.cpp']]], - ['u64_2',['u64',['../entry_8cpp.html#a66e1d499241ccae9a18a20a1f4f0590d',1,'entry.cpp']]], - ['u8_3',['u8',['../entry_8cpp.html#a254d32383658e016368673396e7afc1b',1,'entry.cpp']]], - ['uninitializedemplace_4',['uninitializedEmplace',['../namespaceflow.html#a003a0f5de60743211f4a12ad692ea545',1,'flow']]], - ['uninitializedemplacen_5',['uninitializedEmplaceN',['../namespaceflow.html#ae91210e00bd937af8781ad61d96bb7af',1,'flow']]], - ['uninitializedfill_6',['uninitializedFill',['../namespaceflow.html#ac44af902cb4c10b49fa9f5992daa6c92',1,'flow']]], - ['uninitializedfilln_7',['uninitializedFillN',['../namespaceflow.html#a5991193d2c2c3220704b7ffe43284798',1,'flow']]], - ['uninitializedforward_8',['uninitializedForward',['../namespaceflow.html#a7cbf79d9d81ea0bf923173bf94d18282',1,'flow']]], - ['uninitializedforwardn_9',['uninitializedForwardN',['../namespaceflow.html#a5f5545b19674be10035741dc55ab7805',1,'flow']]], - ['uninitializedmove_10',['uninitializedMove',['../namespaceflow.html#a51e3de912b53f5b8d08f6167efae5d43',1,'flow']]], - ['uninitializedmoven_11',['uninitializedMoveN',['../namespaceflow.html#a1110956ca4c95ee5c42c1e988dab6ecd',1,'flow']]], - ['union_12',['Union',['../class_disjoint_set.html#a23daffcefcb74cb52b07f33b593eb7f1',1,'DisjointSet']]], - ['updatebuffer_13',['updateBuffer',['../classflow_1_1_vector.html#ab9a6c86d36489ee0b22dcc7ffadba93b',1,'flow::Vector']]], - ['updateinfo_14',['UpdateInfo',['../class_a_v_l_tree_1_1_node.html#adddc913a6d45c16cb0d4b03de31035ab',1,'AVLTree::Node']]], - ['usaco_15',['USACO',['../entry_8cpp.html#a53c0feeffc184aa8c0637ec715223467',1,'entry.cpp']]] + ['_7edebugclass_0',['~DebugClass',['../classflow_1_1_debug_class.html#a48a695f9cec5b0115ebdf61a5f15b5ea',1,'flow::DebugClass']]], + ['_7ememoryresource_1',['~MemoryResource',['../classflow_1_1_memory_resource.html#aed7eed2f0372002ff66df9decc501071',1,'flow::MemoryResource']]], + ['_7epoolmemoryresource_2',['~PoolMemoryResource',['../classflow_1_1_pool_memory_resource.html#a5fd5e0967552063825e24232b3c4c5bc',1,'flow::PoolMemoryResource']]], + ['_7evector_3',['~Vector',['../classflow_1_1_vector.html#a2ed0e854ec90587355a567fa8c2efdc0',1,'flow::Vector']]] ]; diff --git a/docs/search/all_15.js b/docs/search/all_15.js deleted file mode 100644 index a229066..0000000 --- a/docs/search/all_15.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['val_5f_0',['val_',['../struct_random_meldable_heap_1_1_node.html#af5ca5a8516677e96e6d7282d7778b9c8',1,'RandomMeldableHeap::Node']]], - ['value_1',['Value',['../struct_skip_list_1_1_tower.html#aad2c7f8597035157f30c9b1495c1cc50',1,'SkipList::Tower']]], - ['value_2',['value',['../structflow_1_1_concurrent_flex_queue_1_1_node.html#aaa0bd7f3414ed819e8af4e71e1fb99f1',1,'flow::ConcurrentFlexQueue::Node']]], - ['value_5f_3',['value_',['../classflow_1_1_counted_value_view_iterator.html#afe83d60be27bae44aeaf8df0b1daf17a',1,'flow::CountedValueViewIterator::value_'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#ae7bb027da9f28e7ea61c06ba37d322ab',1,'flow::Tuple< T, Ts... >::value_']]], - ['value_5ftype_4',['value_type',['../classflow_1_1_counted_value_view_iterator.html#acaef28f35bd304c4e561f6ec4aea2d00',1,'flow::CountedValueViewIterator::value_type'],['../classflow_1_1_polymorphic_allocator.html#a9856518e727c58c747d28b25701bd8c1',1,'flow::PolymorphicAllocator::value_type'],['../classflow_1_1_vector.html#ad2d841f6f75875ad349b649648c9528b',1,'flow::Vector::value_type'],['../class_integer_iterator.html#a8f5f76834019bda2c2f3222f80ac0200',1,'IntegerIterator::value_type']]], - ['vector_5',['Vector',['../classflow_1_1_vector.html',1,'flow::Vector< T, Allocator, Strategy >'],['../classflow_1_1_vector.html#af0f1a455c67e5f7a9d10849ed88b7559',1,'flow::Vector::Vector() noexcept'],['../classflow_1_1_vector.html#ab2a7b99b11f7bb0a30f1586ea1d178bf',1,'flow::Vector::Vector(const allocator_type &allocator)'],['../classflow_1_1_vector.html#a5daa11faad80d18ed87c7e0f409b0645',1,'flow::Vector::Vector(const Vector &rhs)'],['../classflow_1_1_vector.html#aebbcc7115c8718581e35b4702247907d',1,'flow::Vector::Vector(const Vector &rhs, const allocator_type &allocator)'],['../classflow_1_1_vector.html#a1b81dfaab65161f7a66038bffabc7248',1,'flow::Vector::Vector(Vector &&rhs) noexcept'],['../classflow_1_1_vector.html#a411e4c3e8586db8943dfce5c3d7340a6',1,'flow::Vector::Vector(Vector &&rhs, const allocator_type &allocator)'],['../classflow_1_1_vector.html#abb3aa43549b77168fb56371086ec4447',1,'flow::Vector::Vector(It first, It last, const allocator_type &allocator={})'],['../classflow_1_1_vector.html#ae0c4ade36741c6f196021349b5485526',1,'flow::Vector::Vector(std::initializer_list< T > list, const allocator_type &allocator={})'],['../classflow_1_1_vector.html#a67fd714b4b2af6bda5df8b7f1d152869',1,'flow::Vector::Vector(std::size_t count, const allocator_type &allocator={})'],['../classflow_1_1_vector.html#a9153f6768f8c3b6aa92c6d8f9538722f',1,'flow::Vector::Vector(std::size_t count, const T &value, const allocator_type &allocator={})']]], - ['vectorgrowthstrategy_6',['VectorGrowthStrategy',['../structflow_1_1_vector_growth_strategy.html',1,'flow']]] -]; diff --git a/docs/search/all_16.js b/docs/search/all_16.js deleted file mode 100644 index 68f1a70..0000000 --- a/docs/search/all_16.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['waitpop_0',['waitPop',['../classflow_1_1_concurrent_flex_queue.html#a9695c97533ad20970414839cbb147374',1,'flow::ConcurrentFlexQueue::waitPop()'],['../classflow_1_1_concurrent_queue.html#a0bf4edf07e01dc7ac12f2277f71230ef',1,'flow::ConcurrentQueue::waitPop()']]], - ['walk_1',['Walk',['../class_trie.html#ab21d47e41ffbd82ee7d84cd917ca3b77',1,'Trie']]] -]; diff --git a/docs/search/all_17.js b/docs/search/all_17.js deleted file mode 100644 index 2e9229b..0000000 --- a/docs/search/all_17.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['_7eavltree_0',['~AVLTree',['../class_a_v_l_tree.html#ae7bb44a235074a48d817acbc32846ae7',1,'AVLTree']]], - ['_7ebinomialheap_1',['~BinomialHeap',['../class_binomial_heap.html#a46d26e050caf0f59c4bfd1945b45abc0',1,'BinomialHeap']]], - ['_7edebugclass_2',['~DebugClass',['../classflow_1_1_debug_class.html#a48a695f9cec5b0115ebdf61a5f15b5ea',1,'flow::DebugClass']]], - ['_7eflagtree_3',['~FlagTree',['../class_binomial_heap_1_1_flag_tree.html#a0f24158df3a6f24c5a1032829e4aa87c',1,'BinomialHeap::FlagTree']]], - ['_7elinkedlist_4',['~LinkedList',['../class_linked_list.html#a7c37609df3b83bc4eb0281b852f93fd7',1,'LinkedList']]], - ['_7ememoryresource_5',['~MemoryResource',['../classflow_1_1_memory_resource.html#aed7eed2f0372002ff66df9decc501071',1,'flow::MemoryResource']]], - ['_7enode_6',['~Node',['../class_a_v_l_tree_1_1_node.html#ab65c7359c5b7caade318a7abe565dd1d',1,'AVLTree::Node::~Node()'],['../struct_random_meldable_heap_1_1_node.html#adf1fd57b99e9e5d2ac67a5b0579ccf65',1,'RandomMeldableHeap::Node::~Node()']]], - ['_7epoolmemoryresource_7',['~PoolMemoryResource',['../classflow_1_1_pool_memory_resource.html#a5fd5e0967552063825e24232b3c4c5bc',1,'flow::PoolMemoryResource']]], - ['_7erandommeldableheap_8',['~RandomMeldableHeap',['../class_random_meldable_heap.html#acc6d2c48d0a69138fb03f0bd762d4289',1,'RandomMeldableHeap']]], - ['_7eskiplist_9',['~SkipList',['../class_skip_list.html#a5595a1c2e776f2ed0392350fec54b3ca',1,'SkipList']]], - ['_7evector_10',['~Vector',['../classflow_1_1_vector.html#a2ed0e854ec90587355a567fa8c2efdc0',1,'flow::Vector']]] -]; diff --git a/docs/search/all_2.js b/docs/search/all_2.js index 1128d9b..656d9a1 100644 --- a/docs/search/all_2.js +++ b/docs/search/all_2.js @@ -1,26 +1,16 @@ var searchData= [ - ['back_0',['Back',['../class_p_s_d_a.html#a40882252704234173819fe955eaae536',1,'PSDA::Back()'],['../class_p_s_d_a.html#ab173388f103084b18b2a2d112ca4a134',1,'PSDA::Back() const']]], - ['back_1',['back',['../classflow_1_1_vector.html#ad02fbe2f355e1bea83186cbb97b53d69',1,'flow::Vector::back() noexcept'],['../classflow_1_1_vector.html#a23941afb170992195959db92f14bc114',1,'flow::Vector::back() const noexcept']]], - ['balance_5ffactor_5f_2',['balance_factor_',['../class_a_v_l_tree_1_1_node.html#a1da64d7cfc1dc9962513832073fa9177',1,'AVLTree::Node']]], - ['balancesubtree_3',['BalanceSubtree',['../class_a_v_l_tree_1_1_node.html#aa099d28a7be4f606e32c9d99968a5c91',1,'AVLTree::Node']]], - ['basetype_4',['BaseType',['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a4f1f896d869a98776eb4ea84f90ff3f9',1,'flow::Tuple< T, Ts... >']]], - ['begin_5',['begin',['../classflow_1_1_vector.html#a52107e19ce15e50a4a610a1486203a55',1,'flow::Vector::begin() noexcept'],['../classflow_1_1_vector.html#af0f7ae6593900ce9862bf99895c4e181',1,'flow::Vector::begin() const noexcept'],['../class_linked_list.html#a5113bc802622f17b54d719b806ce2a62',1,'LinkedList::begin()'],['../class_linked_list.html#a3ec959b6356bad1ce7f1900218346b56',1,'LinkedList::begin() const'],['../class_p_s_d_a.html#acc9c255ff6ca8de1d7a05ad6d1b867b7',1,'PSDA::begin()'],['../class_p_s_d_a.html#a492b5d4c30a68af9650431d0c77cb1e8',1,'PSDA::begin() const'],['../class_skip_list.html#acf677bbb22255fe662570d04fa1d39f2',1,'SkipList::begin()'],['../class_skip_list.html#ae4e2b80c7ab0f4b9e20390b96f8ba82b',1,'SkipList::begin() const']]], - ['begin_5f_6',['begin_',['../classflow_1_1_timer.html#acbd02d5581f7c9944d26b2af920de561',1,'flow::Timer']]], - ['benchmark_7',['benchmark',['../namespacebenchmark.html',1,'']]], - ['benchmark_2eh_8',['benchmark.h',['../benchmark_8h.html',1,'']]], - ['benchmarkflowvector_9',['benchmarkFlowVector',['../namespacebenchmark.html#a49f4972ef8aa15746e43281484381e39',1,'benchmark']]], - ['benchmarkflowvectorstring_10',['benchmarkFlowVectorString',['../namespacebenchmark.html#a05e5b1e546dc4a325d127bfda0d95902',1,'benchmark']]], - ['benchmarkstdset_11',['benchmarkStdSet',['../namespacebenchmark.html#aa90af4821e756d6abd48736a886fb7b9',1,'benchmark']]], - ['benchmarkstdvector_12',['benchmarkStdVector',['../namespacebenchmark.html#ab1c92b084d635c2b9a5fce6e5fd3364c',1,'benchmark']]], - ['benchmarkstdvectorstring_13',['benchmarkStdVectorString',['../namespacebenchmark.html#ad143bdfdfd0ac0f02b5107662f077dbb',1,'benchmark']]], - ['binaryheap_14',['BinaryHeap',['../class_binary_heap.html',1,'BinaryHeap< T, Predicate >'],['../class_binary_heap.html#a0d9679ed0e97e921442df18bcb3e5ffd',1,'BinaryHeap::BinaryHeap()=default'],['../class_binary_heap.html#ac79d9068e914510d4603fd2de15248be',1,'BinaryHeap::BinaryHeap(std::vector< T > arr)']]], - ['binaryheap_2eh_15',['BinaryHeap.h',['../_binary_heap_8h.html',1,'']]], - ['binomialheap_16',['BinomialHeap',['../class_binomial_heap.html',1,'BinomialHeap< T, Predicate >'],['../class_binomial_heap_1_1_flag_tree.html#adb3c0687f1af3f2b8d59c2ff7ec01807',1,'BinomialHeap::FlagTree::BinomialHeap()'],['../class_binomial_heap.html#a08d73d1e768082bfa0873dd9246d8d35',1,'BinomialHeap::BinomialHeap()'],['../class_binomial_heap.html#a7554a82e06539ebbdec513ef2404dc0b',1,'BinomialHeap::BinomialHeap(const BinomialHeap &rhs)'],['../class_binomial_heap.html#acff0cc05580f47f74a5438578e9bb4d8',1,'BinomialHeap::BinomialHeap(BinomialHeap &&rhs) noexcept']]], - ['binomialheap_2eh_17',['BinomialHeap.h',['../_binomial_heap_8h.html',1,'']]], - ['blockalignment_5f_18',['blockAlignment_',['../classflow_1_1_pool_memory_resource.html#a78edca92b66c6501c24f699bb13090ab',1,'flow::PoolMemoryResource']]], - ['blocked_5f_19',['blocked_',['../classflow_1_1_concurrent_flex_queue.html#af0130ab4a2ff9034c8dd97fbee1fc968',1,'flow::ConcurrentFlexQueue::blocked_'],['../classflow_1_1_concurrent_queue.html#ae41447f6c7b2caafcbfce2533219ad0c',1,'flow::ConcurrentQueue::blocked_']]], - ['blocksize_5f_20',['blockSize_',['../classflow_1_1_pool_memory_resource.html#ac14d17a1ae812d2f72140249a05f32be',1,'flow::PoolMemoryResource']]], - ['buffer_5f_21',['buffer_',['../classflow_1_1_arena_memory_resource.html#a2d283fc7e546c911ffa7869a23671ad8',1,'flow::ArenaMemoryResource::buffer_'],['../classflow_1_1_stack_memory_resource.html#a2f4289d48c9ac450dc8f2f44f5c0ef25',1,'flow::StackMemoryResource::buffer_'],['../classflow_1_1_vector.html#a597edff02196a283944224a5464c62a0',1,'flow::Vector::buffer_']]], - ['buildparent_22',['BuildParent',['../class_segment_tree.html#afbfa8cf96ec9ddf34e9e3d2ba58365f0',1,'SegmentTree']]] + ['capacity_0',['capacity',['../classflow_1_1_vector.html#a5fdda2faa17a39759f1068d09d94f980',1,'flow::Vector']]], + ['capacity_5f_1',['capacity_',['../classflow_1_1_arena_memory_resource.html#a7ce070e3a7a006cb5a48223788109ec8',1,'flow::ArenaMemoryResource::capacity_'],['../classflow_1_1_stack_memory_resource.html#ad4add4a5c15fafb57478f030146d4e91',1,'flow::StackMemoryResource::capacity_'],['../classflow_1_1_vector.html#ac2b41594b3b91f858c9c429ef98f4ae0',1,'flow::Vector::capacity_']]], + ['clear_2',['clear',['../classflow_1_1_vector.html#ae778656d8599eb0152135aaa57b61057',1,'flow::Vector']]], + ['concurrentflexqueue_3',['ConcurrentFlexQueue',['../classflow_1_1_concurrent_flex_queue.html',1,'flow::ConcurrentFlexQueue< T >'],['../classflow_1_1_concurrent_flex_queue.html#aee78e86f8ff1501f4e87d194f506ed5a',1,'flow::ConcurrentFlexQueue::ConcurrentFlexQueue()'],['../classflow_1_1_concurrent_flex_queue.html#a09f21966ef5ef2e1742f538b440e0cba',1,'flow::ConcurrentFlexQueue::ConcurrentFlexQueue(const ConcurrentFlexQueue &)=delete'],['../classflow_1_1_concurrent_flex_queue.html#a4ff791cba6a6534d72c2cbbb4b2d7d0b',1,'flow::ConcurrentFlexQueue::ConcurrentFlexQueue(ConcurrentFlexQueue &&)=delete']]], + ['concurrentqueue_4',['ConcurrentQueue',['../classflow_1_1_concurrent_queue.html',1,'flow::ConcurrentQueue< T, Container >'],['../classflow_1_1_concurrent_queue.html#a33be3ac6f7a386943a9bf1b73b15af7d',1,'flow::ConcurrentQueue::ConcurrentQueue(const allocator_type &allocator=allocator_type())'],['../classflow_1_1_concurrent_queue.html#abdcc25822ea84611d059f0164c29bf40',1,'flow::ConcurrentQueue::ConcurrentQueue(const ConcurrentQueue &)=delete'],['../classflow_1_1_concurrent_queue.html#a9afa84e43f840bafec48b21caf7f3243',1,'flow::ConcurrentQueue::ConcurrentQueue(ConcurrentQueue &&)=delete']]], + ['const_5fiterator_5',['const_iterator',['../classflow_1_1_vector.html#aa4f0dcb2f767deb46994373b482b6a18',1,'flow::Vector']]], + ['const_5fpointer_6',['const_pointer',['../classflow_1_1_vector.html#a90e6c66561997c8e87dcf45565b6b444',1,'flow::Vector']]], + ['const_5freference_7',['const_reference',['../classflow_1_1_vector.html#ac10202bb1cc96d8801447779c18d19d2',1,'flow::Vector']]], + ['construct_8',['construct',['../classflow_1_1_polymorphic_allocator.html#ae2e657ac5eb873d11ad71723277caaa8',1,'flow::PolymorphicAllocator']]], + ['copies_5f_9',['copies_',['../classflow_1_1_debug_class.html#a741bd5a98db4e7cae036ac8148fdf0df',1,'flow::DebugClass']]], + ['copycounter_5f_10',['copyCounter_',['../classflow_1_1_debug_class.html#ae52bd2c39871159b4c0f89aca547c2a7',1,'flow::DebugClass']]], + ['count_5f_11',['count_',['../classflow_1_1_counted_value_view_iterator.html#afa83583c08318439349f6b901aee9b78',1,'flow::CountedValueViewIterator']]], + ['countedvalueviewiterator_12',['CountedValueViewIterator',['../classflow_1_1_counted_value_view_iterator.html',1,'flow::CountedValueViewIterator< T >'],['../classflow_1_1_counted_value_view_iterator.html#aec5e48263e265314df292c11b62b780d',1,'flow::CountedValueViewIterator::CountedValueViewIterator()'],['../classflow_1_1_counted_value_view_iterator.html#ae5fcbb0fd603cd40e5562d3f76f846df',1,'flow::CountedValueViewIterator::CountedValueViewIterator(const T &value, std::size_t count=0)']]] ]; diff --git a/docs/search/all_3.js b/docs/search/all_3.js index 94e7b87..e7021fe 100644 --- a/docs/search/all_3.js +++ b/docs/search/all_3.js @@ -1,23 +1,13 @@ var searchData= [ - ['capacity_0',['capacity',['../classflow_1_1_vector.html#a5fdda2faa17a39759f1068d09d94f980',1,'flow::Vector']]], - ['capacity_5f_1',['capacity_',['../classflow_1_1_arena_memory_resource.html#a7ce070e3a7a006cb5a48223788109ec8',1,'flow::ArenaMemoryResource::capacity_'],['../classflow_1_1_stack_memory_resource.html#ad4add4a5c15fafb57478f030146d4e91',1,'flow::StackMemoryResource::capacity_'],['../classflow_1_1_vector.html#ac2b41594b3b91f858c9c429ef98f4ae0',1,'flow::Vector::capacity_']]], - ['child_5f_2',['child_',['../class_trie_1_1_node.html#a5d6bcd5a59d9ddd60924c8694925cf1b',1,'Trie::Node']]], - ['clear_3',['clear',['../classflow_1_1_vector.html#ae778656d8599eb0152135aaa57b61057',1,'flow::Vector']]], - ['comp_4',['comp',['../class_skip_list.html#ad107b551a4abbdd19c796aa268192d7f',1,'SkipList']]], - ['concurrentflexqueue_5',['ConcurrentFlexQueue',['../classflow_1_1_concurrent_flex_queue.html',1,'flow::ConcurrentFlexQueue< T >'],['../classflow_1_1_concurrent_flex_queue.html#aee78e86f8ff1501f4e87d194f506ed5a',1,'flow::ConcurrentFlexQueue::ConcurrentFlexQueue()'],['../classflow_1_1_concurrent_flex_queue.html#a09f21966ef5ef2e1742f538b440e0cba',1,'flow::ConcurrentFlexQueue::ConcurrentFlexQueue(const ConcurrentFlexQueue &)=delete'],['../classflow_1_1_concurrent_flex_queue.html#a4ff791cba6a6534d72c2cbbb4b2d7d0b',1,'flow::ConcurrentFlexQueue::ConcurrentFlexQueue(ConcurrentFlexQueue &&)=delete']]], - ['concurrentqueue_6',['ConcurrentQueue',['../classflow_1_1_concurrent_queue.html',1,'flow::ConcurrentQueue< T, Container >'],['../classflow_1_1_concurrent_queue.html#a33be3ac6f7a386943a9bf1b73b15af7d',1,'flow::ConcurrentQueue::ConcurrentQueue(const allocator_type &allocator=allocator_type())'],['../classflow_1_1_concurrent_queue.html#abdcc25822ea84611d059f0164c29bf40',1,'flow::ConcurrentQueue::ConcurrentQueue(const ConcurrentQueue &)=delete'],['../classflow_1_1_concurrent_queue.html#a9afa84e43f840bafec48b21caf7f3243',1,'flow::ConcurrentQueue::ConcurrentQueue(ConcurrentQueue &&)=delete']]], - ['const_5fiterator_7',['const_iterator',['../classflow_1_1_vector.html#aa4f0dcb2f767deb46994373b482b6a18',1,'flow::Vector']]], - ['const_5fpointer_8',['const_pointer',['../classflow_1_1_vector.html#a90e6c66561997c8e87dcf45565b6b444',1,'flow::Vector']]], - ['const_5freference_9',['const_reference',['../classflow_1_1_vector.html#ac10202bb1cc96d8801447779c18d19d2',1,'flow::Vector']]], - ['constiterator_10',['ConstIterator',['../class_linked_list.html#a2b79f60b98c95e481ab2f5e6b407e120',1,'LinkedList::ConstIterator'],['../class_skip_list.html#af16211f5bd5c42c443adeade271720b7',1,'SkipList::ConstIterator']]], - ['construct_11',['construct',['../classflow_1_1_polymorphic_allocator.html#ae2e657ac5eb873d11ad71723277caaa8',1,'flow::PolymorphicAllocator']]], - ['contain_12',['Contain',['../class_trie.html#a2744b10e84471c92ec03a8be7232a28c',1,'Trie']]], - ['containprefix_13',['ContainPrefix',['../class_trie.html#ae6c561f0202434b3a488b436060c5832',1,'Trie']]], - ['copies_5f_14',['copies_',['../classflow_1_1_debug_class.html#a741bd5a98db4e7cae036ac8148fdf0df',1,'flow::DebugClass']]], - ['copycounter_5f_15',['copyCounter_',['../classflow_1_1_debug_class.html#ae52bd2c39871159b4c0f89aca547c2a7',1,'flow::DebugClass']]], - ['count_5f_16',['count_',['../classflow_1_1_counted_value_view_iterator.html#afa83583c08318439349f6b901aee9b78',1,'flow::CountedValueViewIterator']]], - ['countdigits_17',['countDigits',['../entry_8cpp.html#a979f40b9b785d8c4f528f3c7aa7f9a32',1,'entry.cpp']]], - ['countedvalueviewiterator_18',['CountedValueViewIterator',['../classflow_1_1_counted_value_view_iterator.html',1,'flow::CountedValueViewIterator< T >'],['../classflow_1_1_counted_value_view_iterator.html#aec5e48263e265314df292c11b62b780d',1,'flow::CountedValueViewIterator::CountedValueViewIterator()'],['../classflow_1_1_counted_value_view_iterator.html#ae5fcbb0fd603cd40e5562d3f76f846df',1,'flow::CountedValueViewIterator::CountedValueViewIterator(const T &value, std::size_t count=0)']]], - ['cp_5ftemplate_19',['CP_TEMPLATE',['../entry_8cpp.html#a43cfe84261f255686df473504c173ef0',1,'entry.cpp']]] + ['deallocate_0',['deallocate',['../classflow_1_1_memory_resource.html#a624ccdb4ce7db4bb30ccf43ef8802352',1,'flow::MemoryResource::deallocate()'],['../classflow_1_1_polymorphic_allocator.html#a246865912a463ce03695521796e96c0b',1,'flow::PolymorphicAllocator::deallocate()']]], + ['deallocateimp_1',['deallocateImp',['../classflow_1_1_arena_memory_resource.html#a705ea8539ba4774256c621c482cd9493',1,'flow::ArenaMemoryResource::deallocateImp()'],['../classflow_1_1_default_memory_resource.html#ae780c88790db29cf6e74b2363463f86d',1,'flow::DefaultMemoryResource::deallocateImp()'],['../classflow_1_1_memory_resource.html#a0fe4fd1de140064284dee1cc16c33e21',1,'flow::MemoryResource::deallocateImp()'],['../classflow_1_1_pool_memory_resource.html#ad096a8ce328207d87d572b19ae51f324',1,'flow::PoolMemoryResource::deallocateImp()'],['../classflow_1_1_stack_memory_resource.html#a472e9dd93c0aad65c2a3768254d2bf1f',1,'flow::StackMemoryResource::deallocateImp()']]], + ['debugclass_2',['DebugClass',['../classflow_1_1_debug_class.html',1,'flow::DebugClass'],['../classflow_1_1_debug_class.html#a31d3750a346067255700270ac37a8248',1,'flow::DebugClass::DebugClass()'],['../classflow_1_1_debug_class.html#a29fd182d9df656b7531b0cb829c7a629',1,'flow::DebugClass::DebugClass(const DebugClass &rhs)'],['../classflow_1_1_debug_class.html#ac6e3df93ac573336f3a0a267ab6b18e1',1,'flow::DebugClass::DebugClass(DebugClass &&rhs) noexcept']]], + ['defaultmemoryresource_3',['DefaultMemoryResource',['../classflow_1_1_default_memory_resource.html',1,'flow']]], + ['deletebuffer_4',['deleteBuffer',['../namespaceflow.html#a95a53e967634035ab7b02a7a0fd8d41a',1,'flow']]], + ['destroy_5',['destroy',['../classflow_1_1_polymorphic_allocator.html#abc9cffd1ba2487b9446352c42b8b820d',1,'flow::PolymorphicAllocator']]], + ['destroyelements_6',['destroyElements',['../namespaceflow.html#a0917ae92fc9372994be63e2b07d7da43',1,'flow']]], + ['destroyelementsn_7',['destroyElementsN',['../namespaceflow.html#a2097cda5f5388d27f3c92804fdea2917',1,'flow']]], + ['difference_5ftype_8',['difference_type',['../classflow_1_1_counted_value_view_iterator.html#ab15d7850ec1d51e9c23b298d79009207',1,'flow::CountedValueViewIterator::difference_type'],['../classflow_1_1_vector.html#ad698ac46b7cd873095875b41509e0a3c',1,'flow::Vector::difference_type']]], + ['doubleexpand_9',['DoubleExpand',['../structflow_1_1_vector_growth_strategy_1_1_double_expand.html',1,'flow::VectorGrowthStrategy']]] ]; diff --git a/docs/search/all_4.js b/docs/search/all_4.js index 29ccfac..21d46aa 100644 --- a/docs/search/all_4.js +++ b/docs/search/all_4.js @@ -1,19 +1,9 @@ var searchData= [ - ['data_0',['data',['../struct_disjoint_set_1_1_set.html#a79a8aaa8f02f5c36405cf5dd1cc9d114',1,'DisjointSet::Set']]], - ['deallocate_1',['deallocate',['../classflow_1_1_memory_resource.html#a624ccdb4ce7db4bb30ccf43ef8802352',1,'flow::MemoryResource::deallocate()'],['../classflow_1_1_polymorphic_allocator.html#a246865912a463ce03695521796e96c0b',1,'flow::PolymorphicAllocator::deallocate()']]], - ['deallocateimp_2',['deallocateImp',['../classflow_1_1_arena_memory_resource.html#a705ea8539ba4774256c621c482cd9493',1,'flow::ArenaMemoryResource::deallocateImp()'],['../classflow_1_1_default_memory_resource.html#ae780c88790db29cf6e74b2363463f86d',1,'flow::DefaultMemoryResource::deallocateImp()'],['../classflow_1_1_memory_resource.html#a0fe4fd1de140064284dee1cc16c33e21',1,'flow::MemoryResource::deallocateImp()'],['../classflow_1_1_pool_memory_resource.html#ad096a8ce328207d87d572b19ae51f324',1,'flow::PoolMemoryResource::deallocateImp()'],['../classflow_1_1_stack_memory_resource.html#a472e9dd93c0aad65c2a3768254d2bf1f',1,'flow::StackMemoryResource::deallocateImp()']]], - ['debug_3',['Debug',['../class_binomial_heap.html#a35239518827ef736006740e5d368e93a',1,'BinomialHeap']]], - ['debugclass_4',['DebugClass',['../classflow_1_1_debug_class.html',1,'flow::DebugClass'],['../classflow_1_1_debug_class.html#a31d3750a346067255700270ac37a8248',1,'flow::DebugClass::DebugClass()'],['../classflow_1_1_debug_class.html#a29fd182d9df656b7531b0cb829c7a629',1,'flow::DebugClass::DebugClass(const DebugClass &rhs)'],['../classflow_1_1_debug_class.html#ac6e3df93ac573336f3a0a267ab6b18e1',1,'flow::DebugClass::DebugClass(DebugClass &&rhs) noexcept']]], - ['defaultmemoryresource_5',['DefaultMemoryResource',['../classflow_1_1_default_memory_resource.html',1,'flow']]], - ['deletebuffer_6',['deleteBuffer',['../namespaceflow.html#a95a53e967634035ab7b02a7a0fd8d41a',1,'flow']]], - ['destroy_7',['destroy',['../classflow_1_1_polymorphic_allocator.html#abc9cffd1ba2487b9446352c42b8b820d',1,'flow::PolymorphicAllocator']]], - ['destroyelements_8',['destroyElements',['../namespaceflow.html#a0917ae92fc9372994be63e2b07d7da43',1,'flow']]], - ['destroyelementsn_9',['destroyElementsN',['../namespaceflow.html#a2097cda5f5388d27f3c92804fdea2917',1,'flow']]], - ['difference_5ftype_10',['difference_type',['../classflow_1_1_counted_value_view_iterator.html#ab15d7850ec1d51e9c23b298d79009207',1,'flow::CountedValueViewIterator::difference_type'],['../classflow_1_1_vector.html#ad698ac46b7cd873095875b41509e0a3c',1,'flow::Vector::difference_type'],['../class_integer_iterator.html#a4dc267c256b624c84a6f5922994ba7dc',1,'IntegerIterator::difference_type']]], - ['differentiate_11',['Differentiate',['../class_p_s_d_a.html#af95d18adcf324319134643570d36f896',1,'PSDA']]], - ['dis_12',['dis',['../class_random_meldable_heap.html#a2c150211e88d08d139abcc899849c615',1,'RandomMeldableHeap']]], - ['disjointset_13',['DisjointSet',['../class_disjoint_set.html',1,'DisjointSet< T >'],['../class_disjoint_set.html#a149364c52c1d8c177bc0c2a1c5f1e83d',1,'DisjointSet::DisjointSet()=default'],['../class_disjoint_set.html#a34574033f309cdb23c364744be0689fc',1,'DisjointSet::DisjointSet(int size, const T &val=T{})']]], - ['disjointset_2eh_14',['DisjointSet.h',['../_disjoint_set_8h.html',1,'']]], - ['doubleexpand_15',['DoubleExpand',['../structflow_1_1_vector_growth_strategy_1_1_double_expand.html',1,'flow::VectorGrowthStrategy']]] + ['emplace_0',['emplace',['../classflow_1_1_concurrent_flex_queue.html#a148a7764ab30b8e69d0b32cf9cc4d4f6',1,'flow::ConcurrentFlexQueue::emplace()'],['../classflow_1_1_concurrent_queue.html#a921fb77ec80aefbf0954a21ebfe49d67',1,'flow::ConcurrentQueue::emplace()'],['../classflow_1_1_vector.html#a63907d377f79ae43c766427da7391471',1,'flow::Vector::emplace(iterator pos, Args &&... args)']]], + ['emplaceback_1',['emplaceBack',['../classflow_1_1_vector.html#a1246fe8e463045cd9acefd4ffed3bea2',1,'flow::Vector']]], + ['empty_2',['empty',['../classflow_1_1_concurrent_flex_queue.html#a1940497155a804e76e5770b0df37290a',1,'flow::ConcurrentFlexQueue::empty()'],['../classflow_1_1_concurrent_queue.html#af0e073c9657bbc9ac2a70e97df5a1d1d',1,'flow::ConcurrentQueue::empty()'],['../classflow_1_1_vector.html#ad4726df83d62b3869b5c28cf93b27c66',1,'flow::Vector::empty()']]], + ['enablememoryguard_3',['enableMemoryGuard',['../namespaceflow.html#a66db7e81436bb94ac54e68f4f13be960',1,'flow']]], + ['end_4',['end',['../classflow_1_1_vector.html#ad9bee88ac142d52bc14d3b7c12c5d27a',1,'flow::Vector::end() noexcept'],['../classflow_1_1_vector.html#ad6491063afb2f969da46c7617f09e048',1,'flow::Vector::end() const noexcept']]], + ['erase_5',['erase',['../classflow_1_1_vector.html#a72bef13d7f81c286d42432ceabe20d20',1,'flow::Vector::erase(iterator pos) noexcept'],['../classflow_1_1_vector.html#a233300c7d3c47e40b70af817590c9811',1,'flow::Vector::erase(iterator first, iterator last) noexcept']]] ]; diff --git a/docs/search/all_5.js b/docs/search/all_5.js index a13c5b3..a9cdf56 100644 --- a/docs/search/all_5.js +++ b/docs/search/all_5.js @@ -1,13 +1,21 @@ var searchData= [ - ['emplace_0',['emplace',['../classflow_1_1_concurrent_flex_queue.html#a148a7764ab30b8e69d0b32cf9cc4d4f6',1,'flow::ConcurrentFlexQueue::emplace()'],['../classflow_1_1_concurrent_queue.html#a921fb77ec80aefbf0954a21ebfe49d67',1,'flow::ConcurrentQueue::emplace()'],['../classflow_1_1_vector.html#a63907d377f79ae43c766427da7391471',1,'flow::Vector::emplace(iterator pos, Args &&... args)']]], - ['emplaceback_1',['emplaceBack',['../classflow_1_1_vector.html#a1246fe8e463045cd9acefd4ffed3bea2',1,'flow::Vector']]], - ['empty_2',['Empty',['../class_a_v_l_tree.html#a18b0ad73bf1e0e55c1eab4de01d9928c',1,'AVLTree::Empty()'],['../class_binomial_heap.html#aaed84d347b9813ea57cd038002b658dc',1,'BinomialHeap::Empty()'],['../class_disjoint_set.html#aaf0b989981a16122c81476aa35771d44',1,'DisjointSet::Empty()']]], - ['empty_3',['empty',['../classflow_1_1_concurrent_flex_queue.html#a1940497155a804e76e5770b0df37290a',1,'flow::ConcurrentFlexQueue::empty()'],['../classflow_1_1_concurrent_queue.html#af0e073c9657bbc9ac2a70e97df5a1d1d',1,'flow::ConcurrentQueue::empty()'],['../classflow_1_1_vector.html#ad4726df83d62b3869b5c28cf93b27c66',1,'flow::Vector::empty()']]], - ['enablememoryguard_4',['enableMemoryGuard',['../namespaceflow.html#a66db7e81436bb94ac54e68f4f13be960',1,'flow']]], - ['end_5',['end',['../classflow_1_1_vector.html#ad9bee88ac142d52bc14d3b7c12c5d27a',1,'flow::Vector::end() noexcept'],['../classflow_1_1_vector.html#ad6491063afb2f969da46c7617f09e048',1,'flow::Vector::end() const noexcept'],['../class_linked_list.html#a86de720eaa32b69ff0b57207dc4e8ae2',1,'LinkedList::end()'],['../class_linked_list.html#a7530f41ff2d9a65899048a1631618059',1,'LinkedList::end() const'],['../class_p_s_d_a.html#af7a89a3f405388a7bc8e79938afa4892',1,'PSDA::end()'],['../class_p_s_d_a.html#aead4b439a090b506bf94d2c2fc349f5c',1,'PSDA::end() const'],['../class_skip_list.html#a524b4b9a54258a5fa37e72ee8cc2a592',1,'SkipList::end()'],['../class_skip_list.html#a2e04647b73b200aa4f55cf548dac80dd',1,'SkipList::end() const']]], - ['entry_2ecpp_6',['entry.cpp',['../entry_8cpp.html',1,'']]], - ['erase_7',['Erase',['../class_a_v_l_tree.html#a498a54b28316131aba8272e8a42638c4',1,'AVLTree::Erase()'],['../class_a_v_l_tree_1_1_node.html#a562ab626779edd7545f320b792d129ae',1,'AVLTree::Node::Erase()'],['../class_skip_list.html#a78009a34e704863223fb7d5ac6bfb705',1,'SkipList::Erase()'],['../class_trie.html#a317c6fcb5202f78b7c89afd9a40f6aa7',1,'Trie::Erase()']]], - ['erase_8',['erase',['../classflow_1_1_vector.html#a72bef13d7f81c286d42432ceabe20d20',1,'flow::Vector::erase(iterator pos) noexcept'],['../classflow_1_1_vector.html#a233300c7d3c47e40b70af817590c9811',1,'flow::Vector::erase(iterator first, iterator last) noexcept']]], - ['erasereplacement_9',['EraseReplacement',['../class_a_v_l_tree_1_1_node.html#adbfd56b2fea47ae5ffbb83ae6c24bbae',1,'AVLTree::Node']]] + ['fibonacciexpand_0',['FibonacciExpand',['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html',1,'flow::VectorGrowthStrategy']]], + ['flow_1',['flow',['../namespaceflow.html',1,'']]], + ['flow_5farena_5fmemory_5fresource_2eh_2',['flow_arena_memory_resource.h',['../flow__arena__memory__resource_8h.html',1,'']]], + ['flow_5fconcurrent_5fflex_5fqueue_2eh_3',['flow_concurrent_flex_queue.h',['../flow__concurrent__flex__queue_8h.html',1,'']]], + ['flow_5fconcurrent_5fqueue_2eh_4',['flow_concurrent_queue.h',['../flow__concurrent__queue_8h.html',1,'']]], + ['flow_5fcounted_5fvalue_5fview_5fiterator_2eh_5',['flow_counted_value_view_iterator.h',['../flow__counted__value__view__iterator_8h.html',1,'']]], + ['flow_5fdebug_5fmemory_2eh_6',['flow_debug_memory.h',['../flow__debug__memory_8h.html',1,'']]], + ['flow_5fdefault_5fmemory_5fresource_2eh_7',['flow_default_memory_resource.h',['../flow__default__memory__resource_8h.html',1,'']]], + ['flow_5fmemory_5falgorithm_2eh_8',['flow_memory_algorithm.h',['../flow__memory__algorithm_8h.html',1,'']]], + ['flow_5fmemory_5fresource_2eh_9',['flow_memory_resource.h',['../flow__memory__resource_8h.html',1,'']]], + ['flow_5fpolymorphic_5fallocator_2eh_10',['flow_polymorphic_allocator.h',['../flow__polymorphic__allocator_8h.html',1,'']]], + ['flow_5fpool_5fmemory_5fresource_2eh_11',['flow_pool_memory_resource.h',['../flow__pool__memory__resource_8h.html',1,'']]], + ['flow_5frandom_5falgorithm_2eh_12',['flow_random_algorithm.h',['../flow__random__algorithm_8h.html',1,'']]], + ['flow_5fstack_5fmemory_5fresource_2eh_13',['flow_stack_memory_resource.h',['../flow__stack__memory__resource_8h.html',1,'']]], + ['flow_5ftimer_2eh_14',['flow_timer.h',['../flow__timer_8h.html',1,'']]], + ['flow_5ftuple_2eh_15',['flow_tuple.h',['../flow__tuple_8h.html',1,'']]], + ['flow_5fvector_2eh_16',['flow_vector.h',['../flow__vector_8h.html',1,'']]], + ['front_17',['front',['../classflow_1_1_vector.html#abc27ebfeb384b081289612be2526a703',1,'flow::Vector::front() noexcept'],['../classflow_1_1_vector.html#aba8ae41829ab1c48b546778403d99d6c',1,'flow::Vector::front() const noexcept']]] ]; diff --git a/docs/search/all_6.js b/docs/search/all_6.js index cf63ee8..7ef6c89 100644 --- a/docs/search/all_6.js +++ b/docs/search/all_6.js @@ -1,29 +1,11 @@ var searchData= [ - ['f32_0',['f32',['../entry_8cpp.html#ad34d88453d37b65a09797bad37f2f527',1,'entry.cpp']]], - ['f64_1',['f64',['../entry_8cpp.html#abc2f107791bd7c1d49ecf0f168c085a3',1,'entry.cpp']]], - ['fastquery_2',['FastQuery',['../class_sparse_table.html#a6afd60d3402ddf6f4b2b10adf61f15c0',1,'SparseTable']]], - ['fibonacciexpand_3',['FibonacciExpand',['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html',1,'flow::VectorGrowthStrategy']]], - ['find_4',['Find',['../class_a_v_l_tree.html#a139a6afe3bff1f5c61026e0ede7fb3ca',1,'AVLTree::Find(const T &key)'],['../class_a_v_l_tree.html#a351bd47d7f6922ae9d1cd778a20e207c',1,'AVLTree::Find(const T &key) const'],['../class_a_v_l_tree_1_1_node.html#a42174d3ffb9acb013b19215a445458ea',1,'AVLTree::Node::Find(Node *curr, const T &key)'],['../class_a_v_l_tree_1_1_node.html#ac663d148470b9f4a84109b53c29540b1',1,'AVLTree::Node::Find(const Node *curr, const T &key)'],['../class_disjoint_set.html#abf8e7317a46fda87aee72892302283a9',1,'DisjointSet::Find()'],['../class_skip_list.html#a18373c8126749befdccf5bf06528b6cd',1,'SkipList::Find(const KeyType &key)'],['../class_skip_list.html#a9b6d942c7485e8eb62f4c8c0c4d76ce1',1,'SkipList::Find(const KeyType &key) const'],['../class_trie.html#a4c4ebbb18ef1114d31e8a6f17d355778',1,'Trie::Find(const T *arr, std::size_t len)'],['../class_trie.html#aa238f7ca666567689d9868eaaedf1e01',1,'Trie::Find(const T *arr, std::size_t len) const']]], - ['fixdown_5',['FixDown',['../class_binary_heap.html#a57a09c7ea701967c46d90568cbfc91ba',1,'BinaryHeap']]], - ['fixup_6',['FixUp',['../class_binary_heap.html#aa9a66152053b6ad02b893478cebe7e7e',1,'BinaryHeap']]], - ['flagtree_7',['FlagTree',['../class_binomial_heap_1_1_flag_tree.html',1,'BinomialHeap< T, Predicate >::FlagTree'],['../class_binomial_heap_1_1_flag_tree.html#ac1c1929b76ec307331493b5628a72865',1,'BinomialHeap::FlagTree::FlagTree(Args &&... args)'],['../class_binomial_heap_1_1_flag_tree.html#a191fb6a6df479ad5fb8f7b797b3c9de8',1,'BinomialHeap::FlagTree::FlagTree(const FlagTree &rhs)'],['../class_binomial_heap_1_1_flag_tree.html#abd3145af05d86d9e156fcb22bd0ae289',1,'BinomialHeap::FlagTree::FlagTree(FlagTree &rhs)'],['../class_binomial_heap_1_1_flag_tree.html#ac1e5b470298b303b989dd9826bdaa091',1,'BinomialHeap::FlagTree::FlagTree(FlagTree &&rhs) noexcept']]], - ['flow_8',['flow',['../namespaceflow.html',1,'']]], - ['flow_5farena_5fmemory_5fresource_2eh_9',['flow_arena_memory_resource.h',['../flow__arena__memory__resource_8h.html',1,'']]], - ['flow_5fconcurrent_5fflex_5fqueue_2eh_10',['flow_concurrent_flex_queue.h',['../flow__concurrent__flex__queue_8h.html',1,'']]], - ['flow_5fconcurrent_5fqueue_2eh_11',['flow_concurrent_queue.h',['../flow__concurrent__queue_8h.html',1,'']]], - ['flow_5fcounted_5fvalue_5fview_5fiterator_2eh_12',['flow_counted_value_view_iterator.h',['../flow__counted__value__view__iterator_8h.html',1,'']]], - ['flow_5fdebug_5fmemory_2eh_13',['flow_debug_memory.h',['../flow__debug__memory_8h.html',1,'']]], - ['flow_5fdefault_5fmemory_5fresource_2eh_14',['flow_default_memory_resource.h',['../flow__default__memory__resource_8h.html',1,'']]], - ['flow_5fmemory_5falgorithm_2eh_15',['flow_memory_algorithm.h',['../flow__memory__algorithm_8h.html',1,'']]], - ['flow_5fmemory_5fresource_2eh_16',['flow_memory_resource.h',['../flow__memory__resource_8h.html',1,'']]], - ['flow_5fpolymorphic_5fallocator_2eh_17',['flow_polymorphic_allocator.h',['../flow__polymorphic__allocator_8h.html',1,'']]], - ['flow_5fpool_5fmemory_5fresource_2eh_18',['flow_pool_memory_resource.h',['../flow__pool__memory__resource_8h.html',1,'']]], - ['flow_5frandom_5falgorithm_2eh_19',['flow_random_algorithm.h',['../flow__random__algorithm_8h.html',1,'']]], - ['flow_5fstack_5fmemory_5fresource_2eh_20',['flow_stack_memory_resource.h',['../flow__stack__memory__resource_8h.html',1,'']]], - ['flow_5ftimer_2eh_21',['flow_timer.h',['../flow__timer_8h.html',1,'']]], - ['flow_5ftuple_2eh_22',['flow_tuple.h',['../flow__tuple_8h.html',1,'']]], - ['flow_5fvector_2eh_23',['flow_vector.h',['../flow__vector_8h.html',1,'']]], - ['front_24',['Front',['../class_p_s_d_a.html#a36b6960860c41618e40625937cfe06ee',1,'PSDA::Front()'],['../class_p_s_d_a.html#a4ef3ecee1ad9ce8e0329c7ca6c9d2f3a',1,'PSDA::Front() const']]], - ['front_25',['front',['../classflow_1_1_vector.html#abc27ebfeb384b081289612be2526a703',1,'flow::Vector::front() noexcept'],['../classflow_1_1_vector.html#aba8ae41829ab1c48b546778403d99d6c',1,'flow::Vector::front() const noexcept']]] + ['get_0',['get',['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9e0704bb42876ba20c0fde9df37b980f',1,'flow::Tuple< T, Ts... >::get()'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9fd9a8776d08fac17e76168b054204cd',1,'flow::Tuple< T, Ts... >::get() const']]], + ['get_5fallocator_1',['get_allocator',['../classflow_1_1_vector.html#a0eb1f3871c6a3c5dd0d21eeded97507b',1,'flow::Vector']]], + ['getrandomnumber_2',['getRandomNumber',['../namespaceflow.html#ab90fae79ddd51259bfc55e73b295fcd9',1,'flow']]], + ['getresource_3',['getResource',['../classflow_1_1_default_memory_resource.html#a01bea59a2f2d07da11856e060153a08f',1,'flow::DefaultMemoryResource']]], + ['globalid_4',['globalId',['../classflow_1_1_debug_class.html#aa914f20c66eb15c818bbe0fb2df89b9e',1,'flow::DebugClass']]], + ['goldenexpand_5',['GoldenExpand',['../structflow_1_1_vector_growth_strategy_1_1_golden_expand.html',1,'flow::VectorGrowthStrategy']]], + ['growthstrategy_6',['GrowthStrategy',['../conceptflow_1_1_growth_strategy.html',1,'flow']]], + ['growthstrategy_5f_7',['growthStrategy_',['../classflow_1_1_vector.html#a6194e8a003c84766b0e07ab59129fd60',1,'flow::Vector']]] ]; diff --git a/docs/search/all_7.js b/docs/search/all_7.js index 1e6ac63..af5a3fb 100644 --- a/docs/search/all_7.js +++ b/docs/search/all_7.js @@ -1,14 +1,6 @@ var searchData= [ - ['get_0',['get',['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9e0704bb42876ba20c0fde9df37b980f',1,'flow::Tuple< T, Ts... >::get()'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9fd9a8776d08fac17e76168b054204cd',1,'flow::Tuple< T, Ts... >::get() const']]], - ['get_5fallocator_1',['get_allocator',['../classflow_1_1_vector.html#a0eb1f3871c6a3c5dd0d21eeded97507b',1,'flow::Vector']]], - ['getall_2',['GetAll',['../class_trie.html#a2662953bc5ae29a49d5298133f7222bc',1,'Trie']]], - ['getmaxindex_3',['GetMaxIndex',['../class_binomial_heap.html#ad802b7ceeca544218be749b786dc6ade',1,'BinomialHeap']]], - ['getpredecessors_4',['GetPredecessors',['../class_skip_list.html#ac23462bfed8dd4a68989c6ec371297d3',1,'SkipList']]], - ['getrandomnumber_5',['getRandomNumber',['../namespaceflow.html#ab90fae79ddd51259bfc55e73b295fcd9',1,'flow']]], - ['getresource_6',['getResource',['../classflow_1_1_default_memory_resource.html#a01bea59a2f2d07da11856e060153a08f',1,'flow::DefaultMemoryResource']]], - ['globalid_7',['globalId',['../classflow_1_1_debug_class.html#aa914f20c66eb15c818bbe0fb2df89b9e',1,'flow::DebugClass']]], - ['goldenexpand_8',['GoldenExpand',['../structflow_1_1_vector_growth_strategy_1_1_golden_expand.html',1,'flow::VectorGrowthStrategy']]], - ['growthstrategy_9',['GrowthStrategy',['../conceptflow_1_1_growth_strategy.html',1,'flow']]], - ['growthstrategy_5f_10',['growthStrategy_',['../classflow_1_1_vector.html#a6194e8a003c84766b0e07ab59129fd60',1,'flow::Vector']]] + ['head_5f_0',['head_',['../classflow_1_1_concurrent_flex_queue.html#a1165f772dc6966274d0cdc8f3fcb562c',1,'flow::ConcurrentFlexQueue::head_'],['../classflow_1_1_pool_memory_resource.html#a06a3832bb9d9708ee001638ad8690c65',1,'flow::PoolMemoryResource::head_']]], + ['header_1',['Header',['../structflow_1_1_pool_memory_resource_1_1_header.html',1,'flow::PoolMemoryResource::Header'],['../structflow_1_1_stack_memory_resource_1_1_header.html',1,'flow::StackMemoryResource::Header']]], + ['headmux_5f_2',['headMux_',['../classflow_1_1_concurrent_flex_queue.html#ab888996320d668f06c398d2e886278bc',1,'flow::ConcurrentFlexQueue']]] ]; diff --git a/docs/search/all_8.js b/docs/search/all_8.js index b3cce17..465872e 100644 --- a/docs/search/all_8.js +++ b/docs/search/all_8.js @@ -1,8 +1,7 @@ var searchData= [ - ['hash_3c_20pair_3c_20t_2c_20t_20_3e_20_3e_0',['hash< pair< T, T > >',['../structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html',1,'std']]], - ['head_5f_1',['head_',['../classflow_1_1_concurrent_flex_queue.html#a1165f772dc6966274d0cdc8f3fcb562c',1,'flow::ConcurrentFlexQueue::head_'],['../classflow_1_1_pool_memory_resource.html#a06a3832bb9d9708ee001638ad8690c65',1,'flow::PoolMemoryResource::head_']]], - ['header_2',['Header',['../structflow_1_1_pool_memory_resource_1_1_header.html',1,'flow::PoolMemoryResource::Header'],['../structflow_1_1_stack_memory_resource_1_1_header.html',1,'flow::StackMemoryResource::Header']]], - ['headmux_5f_3',['headMux_',['../classflow_1_1_concurrent_flex_queue.html#ab888996320d668f06c398d2e886278bc',1,'flow::ConcurrentFlexQueue']]], - ['height_5f_4',['height_',['../class_a_v_l_tree_1_1_node.html#a6bbd64aa1a0493812ea898bb132ee975',1,'AVLTree::Node']]] + ['id_5f_0',['id_',['../classflow_1_1_debug_class.html#ac375c9dca9062cebadebc94198dc1996',1,'flow::DebugClass']]], + ['insert_1',['insert',['../classflow_1_1_vector.html#afc9e7deb83d7e224959f1d0c2bcfb2b6',1,'flow::Vector::insert(iterator pos, const T &value)'],['../classflow_1_1_vector.html#a7b99f7d13471a841f4b0bbe7b7e81f00',1,'flow::Vector::insert(iterator pos, T &&value)'],['../classflow_1_1_vector.html#ac33ba3bee9a3d91ec7233e5ed5767695',1,'flow::Vector::insert(iterator pos, std::size_t count, const T &value)'],['../classflow_1_1_vector.html#a022a327a5db05b8c23158aa44aa642ea',1,'flow::Vector::insert(iterator pos, It first, It last)'],['../classflow_1_1_vector.html#ac98171a9ca91d6e2b7c77f2b531b7ca1',1,'flow::Vector::insert(iterator pos, std::initializer_list< T > list)']]], + ['iterator_2',['iterator',['../classflow_1_1_vector.html#a3133e96d4479ecd0534588a8df0b5eb7',1,'flow::Vector']]], + ['iterator_5fcategory_3',['iterator_category',['../classflow_1_1_counted_value_view_iterator.html#ae3c6ce089aca7af55dbd0ea85d083a0b',1,'flow::CountedValueViewIterator']]] ]; diff --git a/docs/search/all_9.js b/docs/search/all_9.js index e7a3760..98df491 100644 --- a/docs/search/all_9.js +++ b/docs/search/all_9.js @@ -1,24 +1,5 @@ var searchData= [ - ['i16_0',['i16',['../entry_8cpp.html#aa9061c03e78b5c69a2e90542f956b1b9',1,'entry.cpp']]], - ['i32_1',['i32',['../entry_8cpp.html#aec4a1429cc91fb7ff41599b263c348cc',1,'entry.cpp']]], - ['i64_2',['i64',['../entry_8cpp.html#ae72e52134285dbd83ca4227ec77394a2',1,'entry.cpp']]], - ['i8_3',['i8',['../entry_8cpp.html#a090e14ab721404d80f4404634d5c79cc',1,'entry.cpp']]], - ['id_5f_4',['id_',['../classflow_1_1_debug_class.html#ac375c9dca9062cebadebc94198dc1996',1,'flow::DebugClass']]], - ['in_5fuse_5',['IN_USE',['../entry_8cpp.html#ae17a3a2e3545f97a4575a5584d84558e',1,'entry.cpp']]], - ['insameset_6',['InSameSet',['../class_disjoint_set.html#aac911297a1592e5e25c63c72362e8b6e',1,'DisjointSet']]], - ['insert_7',['Insert',['../class_skip_list.html#a049048bd0ead2ae94cc39d5a1d3ca9db',1,'SkipList']]], - ['insert_8',['insert',['../classflow_1_1_vector.html#afc9e7deb83d7e224959f1d0c2bcfb2b6',1,'flow::Vector::insert(iterator pos, const T &value)'],['../classflow_1_1_vector.html#a7b99f7d13471a841f4b0bbe7b7e81f00',1,'flow::Vector::insert(iterator pos, T &&value)'],['../classflow_1_1_vector.html#ac33ba3bee9a3d91ec7233e5ed5767695',1,'flow::Vector::insert(iterator pos, std::size_t count, const T &value)'],['../classflow_1_1_vector.html#a022a327a5db05b8c23158aa44aa642ea',1,'flow::Vector::insert(iterator pos, It first, It last)'],['../classflow_1_1_vector.html#ac98171a9ca91d6e2b7c77f2b531b7ca1',1,'flow::Vector::insert(iterator pos, std::initializer_list< T > list)']]], - ['integeriterator_9',['IntegerIterator',['../class_integer_iterator.html',1,'IntegerIterator< T >'],['../class_integer_iterator.html#a147eb9f8d334a90a87789ddc8fa8752a',1,'IntegerIterator::IntegerIterator()']]], - ['integeriterator_2eh_10',['IntegerIterator.h',['../_integer_iterator_8h.html',1,'']]], - ['integrate_11',['Integrate',['../class_p_s_d_a.html#a10f6155ec60ca70b906b4cd5e2bd6810',1,'PSDA']]], - ['is_5fend_5f_12',['is_end_',['../class_trie_1_1_node.html#a7a3e7fccbb0c2f098da866a2f4517e57',1,'Trie::Node']]], - ['iterator_13',['Iterator',['../class_linked_list.html#a90b9243c46e324903cf010de237e5611',1,'LinkedList::Iterator'],['../class_skip_list.html#a42bc1096d9969553bc1995ed143aff13',1,'SkipList::Iterator']]], - ['iterator_14',['iterator',['../classflow_1_1_vector.html#a3133e96d4479ecd0534588a8df0b5eb7',1,'flow::Vector']]], - ['iterator_5fcategory_15',['iterator_category',['../classflow_1_1_counted_value_view_iterator.html#ae3c6ce089aca7af55dbd0ea85d083a0b',1,'flow::CountedValueViewIterator::iterator_category'],['../class_integer_iterator.html#a288069233a58cf1a1be18c36bab66df9',1,'IntegerIterator::iterator_category']]], - ['iteratorimpl_16',['IteratorImpl',['../class_linked_list_1_1_iterator_impl.html',1,'LinkedList< T >::IteratorImpl< ReturnType >'],['../class_skip_list_1_1_iterator_impl.html',1,'SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >'],['../class_linked_list_1_1_iterator_impl.html#a798daf5a28ddc9952e20a0ed5c306974',1,'LinkedList::IteratorImpl::IteratorImpl()'],['../class_skip_list_1_1_iterator_impl.html#a494f3d41a62b132fe122db34b60dd258',1,'SkipList::IteratorImpl::IteratorImpl()']]], - ['iteratorimpl_3c_20const_20keyvaluetype_20_26_20_3e_17',['IteratorImpl< const KeyValueType & >',['../class_skip_list_1_1_iterator_impl.html',1,'SkipList']]], - ['iteratorimpl_3c_20const_20t_20_26_20_3e_18',['IteratorImpl< const T & >',['../class_linked_list_1_1_iterator_impl.html',1,'LinkedList']]], - ['iteratorimpl_3c_20keyvaluetype_20_26_20_3e_19',['IteratorImpl< KeyValueType & >',['../class_skip_list_1_1_iterator_impl.html',1,'SkipList']]], - ['iteratorimpl_3c_20t_20_26_20_3e_20',['IteratorImpl< T & >',['../class_linked_list_1_1_iterator_impl.html',1,'LinkedList']]] + ['memoryresource_0',['MemoryResource',['../classflow_1_1_memory_resource.html',1,'flow']]], + ['mux_5f_1',['mux_',['../classflow_1_1_concurrent_queue.html#a3f443bd583da922327024612530e33ea',1,'flow::ConcurrentQueue']]] ]; diff --git a/docs/search/all_a.js b/docs/search/all_a.js index c39adf8..f760c33 100644 --- a/docs/search/all_a.js +++ b/docs/search/all_a.js @@ -1,11 +1,7 @@ var searchData= [ - ['kdx_0',['kDx',['../entry_8cpp.html#a7b694a75ff447e1f9de4c034dd6f6c45',1,'entry.cpp']]], - ['kdy_1',['kDy',['../entry_8cpp.html#a72aa87788a81217aa01baec3274ab9ea',1,'entry.cpp']]], - ['key_2',['Key',['../struct_skip_list_1_1_tower.html#ad0867cde3875f0d23afc85679e821c13',1,'SkipList::Tower']]], - ['key_5f_3',['key_',['../class_a_v_l_tree_1_1_node.html#a08e132ea53e44650f1008270e55eadca',1,'AVLTree::Node']]], - ['keyvaluetype_4',['KeyValueType',['../class_skip_list.html#acbb87b31d514f4ca1613e1521cc56585',1,'SkipList']]], - ['kmod_5',['kMod',['../entry_8cpp.html#a7bd47470ea83b5e8ffd35364a4cc6089',1,'entry.cpp']]], - ['kpi_6',['kPI',['../entry_8cpp.html#a53d416bb2597358966c72d41c768caa8',1,'entry.cpp']]], - ['kprimes_7',['kPrimes',['../entry_8cpp.html#acffcbd3ff75ad5ede4ed67cfac03e397',1,'entry.cpp']]] + ['n1_0',['n1',['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a4afa8328128602deb9ea79a34a2e4590',1,'flow::VectorGrowthStrategy::FibonacciExpand']]], + ['n2_1',['n2',['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a5991646915b6f3701053d41556394e06',1,'flow::VectorGrowthStrategy::FibonacciExpand']]], + ['next_2',['next',['../structflow_1_1_concurrent_flex_queue_1_1_node.html#aee6686d5a1482935fc4397adfdc54721',1,'flow::ConcurrentFlexQueue::Node::next'],['../structflow_1_1_pool_memory_resource_1_1_header.html#ae67fd9d5f52747e2b0670519f971aa72',1,'flow::PoolMemoryResource::Header::next']]], + ['node_3',['Node',['../structflow_1_1_concurrent_flex_queue_1_1_node.html',1,'flow::ConcurrentFlexQueue']]] ]; diff --git a/docs/search/all_b.js b/docs/search/all_b.js index 641230b..b89a794 100644 --- a/docs/search/all_b.js +++ b/docs/search/all_b.js @@ -1,8 +1,13 @@ var searchData= [ - ['lazyincrement_0',['LazyIncrement',['../class_p_s_d_a.html#ab3d0b223ce8489d3099a651a681106ec',1,'PSDA']]], - ['left_5f_1',['left_',['../class_a_v_l_tree_1_1_node.html#a10d0c2a63153624ca13f299a0563debd',1,'AVLTree::Node::left_'],['../struct_random_meldable_heap_1_1_node.html#a8ecf0ab2baa2478971ee84c5a64f0332',1,'RandomMeldableHeap::Node::left_']]], - ['leftchild_2',['LeftChild',['../class_binary_heap.html#a55145df41fa1560e95dcfd1fb20e9242',1,'BinaryHeap']]], - ['linkedlist_3',['LinkedList',['../class_linked_list.html',1,'LinkedList< T >'],['../class_linked_list_1_1_node.html#af71fad9f4990e232af55c73aeddb3823',1,'LinkedList::Node::LinkedList()'],['../class_linked_list_1_1_iterator_impl.html#af71fad9f4990e232af55c73aeddb3823',1,'LinkedList::IteratorImpl::LinkedList()'],['../class_linked_list.html#a3c20fcfec867e867f541061a09fc640c',1,'LinkedList::LinkedList()'],['../class_linked_list.html#acd3c8669a409385fc5818d0c832bfacf',1,'LinkedList::LinkedList(const LinkedList &rhs)'],['../class_linked_list.html#aa39542757ae3cc7dc9121a8b073f2b17',1,'LinkedList::LinkedList(LinkedList &&rhs) noexcept']]], - ['linkedlist_2eh_4',['LinkedList.h',['../_linked_list_8h.html',1,'']]] + ['oldbuffer_0',['oldBuffer',['../structflow_1_1_stack_memory_resource_1_1_header.html#af7da697f584166308e1383ffd1970e91',1,'flow::StackMemoryResource::Header']]], + ['operator_21_3d_1',['operator!=',['../classflow_1_1_counted_value_view_iterator.html#ab5abdaf11e4149bbc1cbbdf620845ef9',1,'flow::CountedValueViewIterator::operator!=()'],['../classflow_1_1_polymorphic_allocator.html#aef1689a9b79f3750119e25fabf20f3f8',1,'flow::PolymorphicAllocator::operator!=()'],['../flow__vector_8h.html#a74b1b9f01e1911a3186769679f74c377',1,'operator!=(): flow_vector.h']]], + ['operator_28_29_2',['operator()',['../structflow_1_1_vector_growth_strategy_1_1_golden_expand.html#a4b046f830b42446928087c119aa2cb50',1,'flow::VectorGrowthStrategy::GoldenExpand::operator()()'],['../structflow_1_1_vector_growth_strategy_1_1_double_expand.html#a9345ba72ca5c6f7c920b8280ec756380',1,'flow::VectorGrowthStrategy::DoubleExpand::operator()()'],['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a1acd32de5883dfaab0b738124ff471db',1,'flow::VectorGrowthStrategy::FibonacciExpand::operator()()']]], + ['operator_2a_3',['operator*',['../classflow_1_1_counted_value_view_iterator.html#a15cd12e7b60ac56f657362dda2c5dc68',1,'flow::CountedValueViewIterator']]], + ['operator_2b_2b_4',['operator++',['../classflow_1_1_counted_value_view_iterator.html#afd00e1df6549e44a2429e929d8bdf909',1,'flow::CountedValueViewIterator::operator++()'],['../classflow_1_1_counted_value_view_iterator.html#a7fd5897e27305768eaf068cbe4644de5',1,'flow::CountedValueViewIterator::operator++(int)']]], + ['operator_2d_3e_5',['operator->',['../classflow_1_1_counted_value_view_iterator.html#a634a2db73627fcbd4fee77e1a3c2375e',1,'flow::CountedValueViewIterator']]], + ['operator_3c_3c_6',['operator<<',['../classflow_1_1_debug_class.html#ac9ebd40c457de9d9aad379e360f3e66f',1,'flow::DebugClass']]], + ['operator_3d_7',['operator=',['../classflow_1_1_concurrent_flex_queue.html#abeff8c5717fce2252e795c0eac78f218',1,'flow::ConcurrentFlexQueue::operator=(const ConcurrentFlexQueue &)=delete'],['../classflow_1_1_concurrent_flex_queue.html#ad4c753d4ac97a9d9f108a85c1deae03a',1,'flow::ConcurrentFlexQueue::operator=(ConcurrentFlexQueue &&)=delete'],['../classflow_1_1_concurrent_queue.html#a3f76748bdaf041ab31cf52b0faef44fe',1,'flow::ConcurrentQueue::operator=(const ConcurrentQueue &)=delete'],['../classflow_1_1_concurrent_queue.html#ab09b66803142e1105763c5887ec1c546',1,'flow::ConcurrentQueue::operator=(ConcurrentQueue &&)=delete'],['../classflow_1_1_debug_class.html#a306b6c316e11e3d9d7fb1adf140a98df',1,'flow::DebugClass::operator=(const DebugClass &rhs)'],['../classflow_1_1_debug_class.html#a04f020eccd10fcb93503add61ba461db',1,'flow::DebugClass::operator=(DebugClass &&rhs) noexcept'],['../classflow_1_1_vector.html#a60a7fdd5aa4be9e4abd7b01a351c35e4',1,'flow::Vector::operator=()']]], + ['operator_3d_3d_8',['operator==',['../classflow_1_1_counted_value_view_iterator.html#ad74bbd8d67a9bf77887a1825d158a94b',1,'flow::CountedValueViewIterator::operator==()'],['../classflow_1_1_polymorphic_allocator.html#a6bc365874bc82309e83d3d2dd28fb5eb',1,'flow::PolymorphicAllocator::operator==()'],['../flow__vector_8h.html#af06ef3cc2293dbd659cdeb3ef04b94ba',1,'operator==(): flow_vector.h']]], + ['operator_5b_5d_9',['operator[]',['../classflow_1_1_vector.html#a7c61fc01669f8da61d0f9c23513666de',1,'flow::Vector::operator[](std::size_t i) noexcept'],['../classflow_1_1_vector.html#aa43b28b69455eac2404894fd3b0d6c6b',1,'flow::Vector::operator[](std::size_t i) const noexcept']]] ]; diff --git a/docs/search/all_c.js b/docs/search/all_c.js index 29fe7b1..da46dae 100644 --- a/docs/search/all_c.js +++ b/docs/search/all_c.js @@ -1,11 +1,10 @@ var searchData= [ - ['main_0',['main',['../entry_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'entry.cpp']]], - ['max_1',['Max',['../class_a_v_l_tree.html#a39c7f288a34e23d1cbf854d3ac1fc772',1,'AVLTree::Max()'],['../class_a_v_l_tree.html#ac3c055504c2005a4828a6b69b4dfdc5d',1,'AVLTree::Max() const'],['../class_a_v_l_tree_1_1_node.html#a44c7df7f7266a5890f64331be132a132',1,'AVLTree::Node::Max()'],['../class_a_v_l_tree_1_1_node.html#a9ad16c4dc3a754805ae70daf8c642d66',1,'AVLTree::Node::Max() const']]], - ['memoryresource_2',['MemoryResource',['../classflow_1_1_memory_resource.html',1,'flow']]], - ['merge_3',['Merge',['../class_binomial_heap.html#a1097dead10fc94dd970164cd93a289c2',1,'BinomialHeap::Merge()'],['../class_random_meldable_heap.html#ad81605b7e0207ed2c100cac1a3fa8147',1,'RandomMeldableHeap::Merge(RandomMeldableHeap &&heap)']]], - ['mergeroots_4',['MergeRoots',['../class_random_meldable_heap.html#ad6b8dd660fd2d7815b48f51284ef7053',1,'RandomMeldableHeap']]], - ['mergetoheight_5',['MergeToHeight',['../class_binomial_heap.html#af6cf13de0597a9e105917c103e550b99',1,'BinomialHeap']]], - ['min_6',['Min',['../class_a_v_l_tree.html#a37e65b817abac7590be80774fde5240f',1,'AVLTree::Min()'],['../class_a_v_l_tree.html#ac2c3730cb6c8b0d25e005d502b7db87a',1,'AVLTree::Min() const'],['../class_a_v_l_tree_1_1_node.html#a766ba90bb3159ce3d2eca69a18eefa02',1,'AVLTree::Node::Min()'],['../class_a_v_l_tree_1_1_node.html#ad3b552c2b070041ac2c8f7674a221317',1,'AVLTree::Node::Min() const']]], - ['mux_5f_7',['mux_',['../classflow_1_1_concurrent_queue.html#a3f443bd583da922327024612530e33ea',1,'flow::ConcurrentQueue']]] + ['pointer_0',['pointer',['../classflow_1_1_counted_value_view_iterator.html#a46c830285785216a842c7cb504b56e72',1,'flow::CountedValueViewIterator::pointer'],['../classflow_1_1_vector.html#adc242dbb463beb99e19cb80f9e67e2b0',1,'flow::Vector::pointer']]], + ['pointerdistance_1',['pointerDistance',['../namespaceflow.html#a4cdb6701097d19bfe56dc9b98d0ab18d',1,'flow']]], + ['polymorphicallocator_2',['PolymorphicAllocator',['../classflow_1_1_polymorphic_allocator.html',1,'flow::PolymorphicAllocator< T >'],['../classflow_1_1_polymorphic_allocator.html#a9de9cf20311e8ddb8e9c9128157f4884',1,'flow::PolymorphicAllocator::PolymorphicAllocator'],['../classflow_1_1_polymorphic_allocator.html#a61ce18be7ea581a5281a5bceb32917ff',1,'flow::PolymorphicAllocator::PolymorphicAllocator()'],['../classflow_1_1_polymorphic_allocator.html#abdb1a1785d0e9ee4baaf5ee819dcb29e',1,'flow::PolymorphicAllocator::PolymorphicAllocator(MemoryResource &resource)'],['../classflow_1_1_polymorphic_allocator.html#aaa09cc96471e180791aa70167fd8112e',1,'flow::PolymorphicAllocator::PolymorphicAllocator(const PolymorphicAllocator< U > &allocator) noexcept']]], + ['poolmemoryresource_3',['PoolMemoryResource',['../classflow_1_1_pool_memory_resource.html',1,'flow::PoolMemoryResource'],['../classflow_1_1_pool_memory_resource.html#a3ac35916ea439a181138f26c8ad158e1',1,'flow::PoolMemoryResource::PoolMemoryResource()']]], + ['popback_4',['popBack',['../classflow_1_1_vector.html#ae39c634ffc7d4719734a727dd4e9eb02',1,'flow::Vector']]], + ['push_5',['push',['../classflow_1_1_concurrent_flex_queue.html#a7a81c9e4552bf82e2acd32c2e4b0f081',1,'flow::ConcurrentFlexQueue::push()'],['../classflow_1_1_concurrent_queue.html#a8afd8f92a60a59cf6c42da30a6eb2a0e',1,'flow::ConcurrentQueue::push()']]], + ['pushback_6',['pushBack',['../classflow_1_1_vector.html#a49e7b072f9b5c0a2c7e977e92ea79260',1,'flow::Vector::pushBack(const T &value)'],['../classflow_1_1_vector.html#a7b62dc6983a3b84ac1ee151821f93e92',1,'flow::Vector::pushBack(T &&value)']]] ]; diff --git a/docs/search/all_d.js b/docs/search/all_d.js index a1b7066..57bd0e7 100644 --- a/docs/search/all_d.js +++ b/docs/search/all_d.js @@ -1,8 +1,4 @@ var searchData= [ - ['n1_0',['n1',['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a4afa8328128602deb9ea79a34a2e4590',1,'flow::VectorGrowthStrategy::FibonacciExpand']]], - ['n2_1',['n2',['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a5991646915b6f3701053d41556394e06',1,'flow::VectorGrowthStrategy::FibonacciExpand']]], - ['next_2',['next',['../structflow_1_1_concurrent_flex_queue_1_1_node.html#aee6686d5a1482935fc4397adfdc54721',1,'flow::ConcurrentFlexQueue::Node::next'],['../structflow_1_1_pool_memory_resource_1_1_header.html#ae67fd9d5f52747e2b0670519f971aa72',1,'flow::PoolMemoryResource::Header::next']]], - ['node_3',['Node',['../class_a_v_l_tree_1_1_node.html',1,'AVLTree< T >::Node'],['../structflow_1_1_concurrent_flex_queue_1_1_node.html',1,'flow::ConcurrentFlexQueue< T >::Node'],['../class_linked_list_1_1_node.html',1,'LinkedList< T >::Node'],['../struct_random_meldable_heap_1_1_node.html',1,'RandomMeldableHeap< T, Predicate >::Node'],['../struct_skip_list_1_1_node.html',1,'SkipList< KeyType, ValueType, Predicate >::Node'],['../class_trie_1_1_node.html',1,'Trie< T >::Node'],['../class_a_v_l_tree_1_1_node.html#a2ed796882625cd894f1f027dff9154ef',1,'AVLTree::Node::Node(const T &key)'],['../class_a_v_l_tree_1_1_node.html#af3effc374eabb48b4ce328762783a587',1,'AVLTree::Node::Node(T &&key)'],['../class_a_v_l_tree_1_1_node.html#a73419bde4797518d972af6ee65e0c32a',1,'AVLTree::Node::Node(const Node &rhs)'],['../class_a_v_l_tree_1_1_node.html#a4c497e92bae58262637f137298dc9842',1,'AVLTree::Node::Node(Node &&rhs) noexcept'],['../class_linked_list_1_1_node.html#a3f4761392369dabbaaeba48c4761d371',1,'LinkedList::Node::Node()'],['../struct_random_meldable_heap_1_1_node.html#af096c21cc83e5e7214ae6eadc39c3ac4',1,'RandomMeldableHeap::Node::Node(T &&val)'],['../struct_random_meldable_heap_1_1_node.html#aefe2d59c7563a763415268bf1ee29c9e',1,'RandomMeldableHeap::Node::Node(const Node &)=delete'],['../struct_random_meldable_heap_1_1_node.html#afaaac34fda2ccc06f20bcf49d591fd53',1,'RandomMeldableHeap::Node::Node(Node &&)=delete'],['../struct_skip_list_1_1_node.html#ade37757eb1ac96054e9658270c08951d',1,'SkipList::Node::Node()'],['../class_trie_1_1_node.html#a70a940cce0f7a9828063f0fc39d8d8a7',1,'Trie::Node::Node()']]], - ['node_5f_4',['node_',['../class_linked_list_1_1_iterator_impl.html#a8f601c8fff3763ccb9ef86c9ddf472ea',1,'LinkedList::IteratorImpl']]] + ['queue_5f_0',['queue_',['../classflow_1_1_concurrent_queue.html#ac343336ca09c2e09f85c0f17addc1010',1,'flow::ConcurrentQueue']]] ]; diff --git a/docs/search/all_e.js b/docs/search/all_e.js index 7a067b1..ad7f760 100644 --- a/docs/search/all_e.js +++ b/docs/search/all_e.js @@ -1,22 +1,12 @@ var searchData= [ - ['oldbuffer_0',['oldBuffer',['../structflow_1_1_stack_memory_resource_1_1_header.html#af7da697f584166308e1383ffd1970e91',1,'flow::StackMemoryResource::Header']]], - ['operator_21_3d_1',['operator!=',['../classflow_1_1_counted_value_view_iterator.html#ab5abdaf11e4149bbc1cbbdf620845ef9',1,'flow::CountedValueViewIterator::operator!=()'],['../classflow_1_1_polymorphic_allocator.html#aef1689a9b79f3750119e25fabf20f3f8',1,'flow::PolymorphicAllocator::operator!=()'],['../class_linked_list_1_1_iterator_impl.html#a9c87113bf420b320048bd9b761887052',1,'LinkedList::IteratorImpl::operator!=()'],['../class_skip_list_1_1_iterator_impl.html#ad638955b109f8a7f3220dd1f06cda062',1,'SkipList::IteratorImpl::operator!=()'],['../flow__vector_8h.html#a74b1b9f01e1911a3186769679f74c377',1,'operator!=(const flow::Vector< T > &lhs, const flow::Vector< T > &rhs) noexcept: flow_vector.h'],['../_integer_iterator_8h.html#a2d01915418a019c865bc1ca859a4a729',1,'operator!=(const IntegerIterator< T > &lhs, const IntegerIterator< T > &rhs): IntegerIterator.h']]], - ['operator_28_29_2',['operator()',['../structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html#acbb84e8c5667496a47fb51bb7bdbb1d7',1,'std::hash< pair< T, T > >::operator()()'],['../structflow_1_1_vector_growth_strategy_1_1_golden_expand.html#a4b046f830b42446928087c119aa2cb50',1,'flow::VectorGrowthStrategy::GoldenExpand::operator()()'],['../structflow_1_1_vector_growth_strategy_1_1_double_expand.html#a9345ba72ca5c6f7c920b8280ec756380',1,'flow::VectorGrowthStrategy::DoubleExpand::operator()()'],['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a1acd32de5883dfaab0b738124ff471db',1,'flow::VectorGrowthStrategy::FibonacciExpand::operator()()']]], - ['operator_2a_3',['operator*',['../classflow_1_1_counted_value_view_iterator.html#a15cd12e7b60ac56f657362dda2c5dc68',1,'flow::CountedValueViewIterator::operator*()'],['../class_integer_iterator.html#ad3e6b69858c98fe2a2e04e0575b481b4',1,'IntegerIterator::operator*()'],['../class_linked_list_1_1_iterator_impl.html#a52d0dfdd7d999cce2000320e3e0aa44a',1,'LinkedList::IteratorImpl::operator*()'],['../class_skip_list_1_1_iterator_impl.html#ada7dd87c088aee472ec3e228b90560c2',1,'SkipList::IteratorImpl::operator*()']]], - ['operator_2b_4',['operator+',['../_integer_iterator_8h.html#ae17acb20b08400f477465027001fadfd',1,'operator+(IntegerIterator< T > lhs, typename IntegerIterator< T >::difference_type n): IntegerIterator.h'],['../_integer_iterator_8h.html#a1ebc1ff765720e19d58d1c76e97ac834',1,'operator+(typename IntegerIterator< T >::difference_type n, IntegerIterator< T > rhs): IntegerIterator.h']]], - ['operator_2b_2b_5',['operator++',['../classflow_1_1_counted_value_view_iterator.html#afd00e1df6549e44a2429e929d8bdf909',1,'flow::CountedValueViewIterator::operator++()'],['../classflow_1_1_counted_value_view_iterator.html#a7fd5897e27305768eaf068cbe4644de5',1,'flow::CountedValueViewIterator::operator++(int)'],['../class_integer_iterator.html#a75e0aac6228d2e4acebf653b94e3f2e2',1,'IntegerIterator::operator++()'],['../class_integer_iterator.html#af5a8a753ac1ef0d22eafd5384e172aca',1,'IntegerIterator::operator++(int)'],['../class_linked_list_1_1_iterator_impl.html#a519f13b57f0f47636bcea306d8f1f51d',1,'LinkedList::IteratorImpl::operator++()'],['../class_linked_list_1_1_iterator_impl.html#a60234f5c744fecc464785d6e7b852e06',1,'LinkedList::IteratorImpl::operator++(int)'],['../class_skip_list_1_1_iterator_impl.html#ac3dd0bbc5bdd50c18d2b5d0014f650e9',1,'SkipList::IteratorImpl::operator++()']]], - ['operator_2b_3d_6',['operator+=',['../class_integer_iterator.html#adb6bf4e91e801469e355eedd73edcd5b',1,'IntegerIterator']]], - ['operator_2d_7',['operator-',['../class_integer_iterator.html#ad144e11bdff37af189854f96ff4d84f0',1,'IntegerIterator::operator-()'],['../_integer_iterator_8h.html#a9b8dbd59313ef9521037921be6a46f6c',1,'operator-(): IntegerIterator.h']]], - ['operator_2d_2d_8',['operator--',['../class_integer_iterator.html#a7a8d92400ab4d6e8837ea4917af8776d',1,'IntegerIterator::operator--()'],['../class_integer_iterator.html#a19b066cbce0584921a01988046766473',1,'IntegerIterator::operator--(int)']]], - ['operator_2d_3d_9',['operator-=',['../_integer_iterator_8h.html#a1f445326bfda08a05374bc6cc126d1b3',1,'IntegerIterator.h']]], - ['operator_2d_3e_10',['operator->',['../classflow_1_1_counted_value_view_iterator.html#a634a2db73627fcbd4fee77e1a3c2375e',1,'flow::CountedValueViewIterator::operator->()'],['../class_integer_iterator.html#aab52fa0c33c14b89e2904fe5cb4b6124',1,'IntegerIterator::operator->() const']]], - ['operator_3c_11',['operator<',['../class_integer_iterator.html#a26dbc105db0ed68c0446e2e612f7f2b8',1,'IntegerIterator']]], - ['operator_3c_3c_12',['operator<<',['../classflow_1_1_debug_class.html#ac9ebd40c457de9d9aad379e360f3e66f',1,'flow::DebugClass']]], - ['operator_3c_3d_13',['operator<=',['../_integer_iterator_8h.html#a567b077d8273c4b7b6e1625b067b7a3f',1,'IntegerIterator.h']]], - ['operator_3d_14',['operator=',['../class_a_v_l_tree.html#a92b9e7b782f91913bd03d951a73343c2',1,'AVLTree::operator=()'],['../class_a_v_l_tree_1_1_node.html#ad34a7131e40f8a8184437a528eefc728',1,'AVLTree::Node::operator=(const Node &rhs)=delete'],['../class_a_v_l_tree_1_1_node.html#a543a84901066684f6895ecf42f3dca65',1,'AVLTree::Node::operator=(Node &&rhs)=delete'],['../class_binomial_heap_1_1_flag_tree.html#a3d6af13c7eda6f5f2ca6d86e75653278',1,'BinomialHeap::FlagTree::operator=(const FlagTree &rhs)=delete'],['../class_binomial_heap_1_1_flag_tree.html#a5a2cf64fe8ed9b7f1e565a1a483a5ed8',1,'BinomialHeap::FlagTree::operator=(FlagTree &&rhs)=delete'],['../class_binomial_heap.html#ab9d1451ae73b2e8e4e0ec7f45cdc73e2',1,'BinomialHeap::operator=()'],['../classflow_1_1_concurrent_flex_queue.html#abeff8c5717fce2252e795c0eac78f218',1,'flow::ConcurrentFlexQueue::operator=(const ConcurrentFlexQueue &)=delete'],['../classflow_1_1_concurrent_flex_queue.html#ad4c753d4ac97a9d9f108a85c1deae03a',1,'flow::ConcurrentFlexQueue::operator=(ConcurrentFlexQueue &&)=delete'],['../classflow_1_1_concurrent_queue.html#a3f76748bdaf041ab31cf52b0faef44fe',1,'flow::ConcurrentQueue::operator=(const ConcurrentQueue &)=delete'],['../classflow_1_1_concurrent_queue.html#ab09b66803142e1105763c5887ec1c546',1,'flow::ConcurrentQueue::operator=(ConcurrentQueue &&)=delete'],['../classflow_1_1_debug_class.html#a306b6c316e11e3d9d7fb1adf140a98df',1,'flow::DebugClass::operator=(const DebugClass &rhs)'],['../classflow_1_1_debug_class.html#a04f020eccd10fcb93503add61ba461db',1,'flow::DebugClass::operator=(DebugClass &&rhs) noexcept'],['../classflow_1_1_vector.html#a60a7fdd5aa4be9e4abd7b01a351c35e4',1,'flow::Vector::operator=()'],['../class_linked_list.html#ae9033aad0e352ceeff848c17d3095d40',1,'LinkedList::operator=()'],['../struct_random_meldable_heap_1_1_node.html#a136a7758d3d171d495f04fed09d097a7',1,'RandomMeldableHeap::Node::operator=(const Node &)=delete'],['../struct_random_meldable_heap_1_1_node.html#a0ad0a7fa003f5e6a25f05692ec1c4b58',1,'RandomMeldableHeap::Node::operator=(Node &&)=delete'],['../class_random_meldable_heap.html#a0f7f5ea6016f84f7ec42e4b1a68f88a1',1,'RandomMeldableHeap::operator=(const RandomMeldableHeap &)=delete'],['../class_random_meldable_heap.html#a69726729670940452a1552426369f999',1,'RandomMeldableHeap::operator=(RandomMeldableHeap &&)=delete'],['../class_skip_list.html#abdf618ba429ef69b0a5ffacd2e7cb029',1,'SkipList::operator=(const SkipList &other)=delete'],['../class_skip_list.html#a0f70befb4ab19c4aae234633828305a5',1,'SkipList::operator=(SkipList &&other) noexcept']]], - ['operator_3d_3d_15',['operator==',['../classflow_1_1_counted_value_view_iterator.html#ad74bbd8d67a9bf77887a1825d158a94b',1,'flow::CountedValueViewIterator::operator==()'],['../classflow_1_1_polymorphic_allocator.html#a6bc365874bc82309e83d3d2dd28fb5eb',1,'flow::PolymorphicAllocator::operator==()'],['../class_integer_iterator.html#adbc509a5a113d7c505ebed8b9814dca2',1,'IntegerIterator::operator==()'],['../class_linked_list_1_1_iterator_impl.html#a8ff0a3e936ef626ea6a3435dcfed496c',1,'LinkedList::IteratorImpl::operator==()'],['../class_skip_list_1_1_iterator_impl.html#a86c3a76b1ed67707f3805e7378bcfc26',1,'SkipList::IteratorImpl::operator==()'],['../flow__vector_8h.html#af06ef3cc2293dbd659cdeb3ef04b94ba',1,'operator==(const flow::Vector< T > &lhs, const flow::Vector< T > &rhs) noexcept: flow_vector.h']]], - ['operator_3e_16',['operator>',['../_integer_iterator_8h.html#a307d23867c9739936366ebffa5b201b6',1,'IntegerIterator.h']]], - ['operator_3e_3d_17',['operator>=',['../_integer_iterator_8h.html#ac3c013959186634bbd449e96dc5b2154',1,'IntegerIterator.h']]], - ['operator_5b_5d_18',['operator[]',['../class_disjoint_set.html#a8a21e0b3cfc09af9675bf57335ff56a9',1,'DisjointSet::operator[](int setID)'],['../class_disjoint_set.html#aa824dddc2e76d3e47865546e5eae0746',1,'DisjointSet::operator[](int setID) const'],['../classflow_1_1_vector.html#a7c61fc01669f8da61d0f9c23513666de',1,'flow::Vector::operator[](std::size_t i) noexcept'],['../classflow_1_1_vector.html#aa43b28b69455eac2404894fd3b0d6c6b',1,'flow::Vector::operator[](std::size_t i) const noexcept'],['../class_integer_iterator.html#af29083bd8accd9511b721eb141d69531',1,'IntegerIterator::operator[]()'],['../class_p_s_d_a.html#a774785a0c0c3e180bd4d9f7c56952c15',1,'PSDA::operator[](int r)'],['../class_p_s_d_a.html#a17ddffb789aa120ea2634e2ba17efc21',1,'PSDA::operator[](int r) const']]] + ['record_0',['record',['../classflow_1_1_timer.html#a1e1fdbe90de75ff50c147a965b756f2b',1,'flow::Timer']]], + ['reference_1',['reference',['../classflow_1_1_counted_value_view_iterator.html#a4fffa537ac2693dd8f3258b909575de9',1,'flow::CountedValueViewIterator::reference'],['../classflow_1_1_vector.html#abc2b6c908cb60802eab99fdf9f25b14f',1,'flow::Vector::reference']]], + ['relocatebuffer_2',['relocateBuffer',['../classflow_1_1_vector.html#aad83e0ac5232072e914bd75e4b116473',1,'flow::Vector']]], + ['relocatebufferwithholes_3',['relocateBufferWithHoles',['../classflow_1_1_vector.html#a53fca75839ead5d5a63aa334effc2663',1,'flow::Vector']]], + ['reserve_4',['reserve',['../classflow_1_1_vector.html#afa87bdfe245b4b06339eea38ce140ebb',1,'flow::Vector']]], + ['reset_5',['reset',['../classflow_1_1_timer.html#a74b4619eeb69ef54d750bcb91aa837fe',1,'flow::Timer']]], + ['resize_6',['resize',['../classflow_1_1_vector.html#abe9e6c30c45760900e713664e3c7ee95',1,'flow::Vector::resize(std::size_t size)'],['../classflow_1_1_vector.html#a956bdadf66a3cf83543fdb4880a7ed30',1,'flow::Vector::resize(std::size_t size, const T &value)']]], + ['resizeimp_7',['resizeImp',['../classflow_1_1_vector.html#aa28bafb52ffd5943f74f969f3970700d',1,'flow::Vector']]], + ['resource_5f_8',['resource_',['../classflow_1_1_polymorphic_allocator.html#a15d7aac64ac85004897b094b38ca73bd',1,'flow::PolymorphicAllocator']]] ]; diff --git a/docs/search/all_f.js b/docs/search/all_f.js index e82df29..75748f8 100644 --- a/docs/search/all_f.js +++ b/docs/search/all_f.js @@ -1,27 +1,9 @@ var searchData= [ - ['parent_0',['Parent',['../class_binary_heap.html#a7c5588c7b6657784922b9c43ed90d25a',1,'BinaryHeap']]], - ['parent_1',['parent',['../struct_disjoint_set_1_1_set.html#abd6835245742febe661bf66089e9f72b',1,'DisjointSet::Set']]], - ['pi32_2',['pi32',['../entry_8cpp.html#a7f659c0035c3d1439ff60d68ad7692b9',1,'entry.cpp']]], - ['pi64_3',['pi64',['../entry_8cpp.html#a6e18372eace65469d9b4c96861b23e08',1,'entry.cpp']]], - ['pointer_4',['pointer',['../classflow_1_1_counted_value_view_iterator.html#a46c830285785216a842c7cb504b56e72',1,'flow::CountedValueViewIterator::pointer'],['../classflow_1_1_vector.html#adc242dbb463beb99e19cb80f9e67e2b0',1,'flow::Vector::pointer'],['../class_integer_iterator.html#ae939f25463bcf5397e6762a80b1ab6e9',1,'IntegerIterator::pointer']]], - ['pointerdistance_5',['pointerDistance',['../namespaceflow.html#a4cdb6701097d19bfe56dc9b98d0ab18d',1,'flow']]], - ['pointquery_6',['PointQuery',['../class_segment_tree.html#a872ede0fa9c7d692a206259b9adedca2',1,'SegmentTree']]], - ['pointupdate_7',['PointUpdate',['../class_segment_tree.html#aa7e7a3bfed9f3dfe76ad6ce4615d2b0f',1,'SegmentTree']]], - ['polymorphicallocator_8',['PolymorphicAllocator',['../classflow_1_1_polymorphic_allocator.html',1,'flow::PolymorphicAllocator< T >'],['../classflow_1_1_polymorphic_allocator.html#a9de9cf20311e8ddb8e9c9128157f4884',1,'flow::PolymorphicAllocator::PolymorphicAllocator'],['../classflow_1_1_polymorphic_allocator.html#a61ce18be7ea581a5281a5bceb32917ff',1,'flow::PolymorphicAllocator::PolymorphicAllocator()'],['../classflow_1_1_polymorphic_allocator.html#abdb1a1785d0e9ee4baaf5ee819dcb29e',1,'flow::PolymorphicAllocator::PolymorphicAllocator(MemoryResource &resource)'],['../classflow_1_1_polymorphic_allocator.html#aaa09cc96471e180791aa70167fd8112e',1,'flow::PolymorphicAllocator::PolymorphicAllocator(const PolymorphicAllocator< U > &allocator) noexcept']]], - ['poolmemoryresource_9',['PoolMemoryResource',['../classflow_1_1_pool_memory_resource.html',1,'flow::PoolMemoryResource'],['../classflow_1_1_pool_memory_resource.html#a3ac35916ea439a181138f26c8ad158e1',1,'flow::PoolMemoryResource::PoolMemoryResource()']]], - ['pop_10',['Pop',['../class_binary_heap.html#a68b86a0f8e20eb80a6c2c9db164c2dde',1,'BinaryHeap::Pop()'],['../class_binomial_heap.html#a0e2216caa0911e6a81178d2fe7e0b911',1,'BinomialHeap::Pop()'],['../class_random_meldable_heap.html#a7c3844082f0d4022d04e320190d0d579',1,'RandomMeldableHeap::Pop()']]], - ['popback_11',['popBack',['../classflow_1_1_vector.html#ae39c634ffc7d4719734a727dd4e9eb02',1,'flow::Vector']]], - ['popcount_12',['popCount',['../entry_8cpp.html#a307ecdbe3be2ca5ba5217f1450d35bde',1,'entry.cpp']]], - ['popfront_13',['PopFront',['../class_linked_list.html#a47e06d0bacd1230e4ebe0bc0692be3b9',1,'LinkedList']]], - ['pow2_14',['Pow2',['../class_sparse_table.html#a13b34b60970ef48e919b76c24de4845d',1,'SparseTable']]], - ['print_15',['Print',['../class_a_v_l_tree.html#a8857cce6390ce1613f55259ddff5123a',1,'AVLTree::Print()'],['../class_a_v_l_tree_1_1_node.html#aa88d4f148b11fac9578d85287afc9b4a',1,'AVLTree::Node::Print()'],['../class_segment_tree.html#ac31ed2db84d473746e43d797329abff7',1,'SegmentTree::Print()'],['../class_skip_list.html#ae3db55a74bebba283371d6a07eeba4e4',1,'SkipList::Print()'],['../class_sparse_table.html#a03fb9a33783e5a9963d7a6bf12a53db8',1,'SparseTable::Print()']]], - ['psda_16',['PSDA',['../class_p_s_d_a.html',1,'PSDA< T >'],['../class_p_s_d_a.html#a99cb238eee847f981dc1809429796383',1,'PSDA::PSDA()']]], - ['psda_2eh_17',['PSDA.h',['../_p_s_d_a_8h.html',1,'']]], - ['pu64_18',['pu64',['../entry_8cpp.html#af50a13c91da0494684407e754257804d',1,'entry.cpp']]], - ['push_19',['Push',['../class_a_v_l_tree.html#a15b2fe8be18597bbae8bb399f33f8860',1,'AVLTree::Push()'],['../class_a_v_l_tree_1_1_node.html#adcc4d5d6e68be88a4a8ac19a16a5d2da',1,'AVLTree::Node::Push()'],['../class_binary_heap.html#a3953761fb767627406e06d9860ab06c6',1,'BinaryHeap::Push()'],['../class_binomial_heap.html#acc21f9b8203f26b3bdfaac56d90cad6c',1,'BinomialHeap::Push()'],['../class_random_meldable_heap.html#a703a2b494544e9f724f531b8ef980b4d',1,'RandomMeldableHeap::Push()'],['../class_trie.html#a104fc9742f008835573d540fb989eea1',1,'Trie::Push()']]], - ['push_20',['push',['../classflow_1_1_concurrent_flex_queue.html#a7a81c9e4552bf82e2acd32c2e4b0f081',1,'flow::ConcurrentFlexQueue::push()'],['../classflow_1_1_concurrent_queue.html#a8afd8f92a60a59cf6c42da30a6eb2a0e',1,'flow::ConcurrentQueue::push()']]], - ['pushback_21',['PushBack',['../class_disjoint_set.html#a3918cd82b9662d3455906cb9f5b90a36',1,'DisjointSet::PushBack(const T &val)'],['../class_disjoint_set.html#ae3535f0c54db9f48de22750448dbf6e2',1,'DisjointSet::PushBack(T &&val)'],['../class_linked_list.html#a5a1d0c44971b9c32d0afadeaabaa693a',1,'LinkedList::PushBack()']]], - ['pushback_22',['pushBack',['../classflow_1_1_vector.html#a49e7b072f9b5c0a2c7e977e92ea79260',1,'flow::Vector::pushBack(const T &value)'],['../classflow_1_1_vector.html#a7b62dc6983a3b84ac1ee151821f93e92',1,'flow::Vector::pushBack(T &&value)']]], - ['pushfront_23',['PushFront',['../class_linked_list.html#ae9e2c29ef6df899ca26d6076870a7076',1,'LinkedList']]] + ['shuffle_0',['shuffle',['../namespaceflow.html#a69464bd65a1f1f8786cf92a34e4d9497',1,'flow']]], + ['size_1',['size',['../classflow_1_1_concurrent_queue.html#ad62cf85a47644dbbb06268bdc68988bc',1,'flow::ConcurrentQueue::size()'],['../classflow_1_1_timer.html#a0bd09e9dc2f660a4e8b3393dd06dbf64',1,'flow::Timer::size()'],['../classflow_1_1_tuple.html#ac21246e9ba10eac47b3ef6370535214f',1,'flow::Tuple::size()'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a6fa5e57287bdb5c2bfbaf12333816cec',1,'flow::Tuple< T, Ts... >::size()'],['../classflow_1_1_vector.html#a174ef01cedf42bda75a148f1e665506e',1,'flow::Vector::size() const noexcept']]], + ['size_5f_2',['size_',['../classflow_1_1_vector.html#a6205cfde685f45023d7f26941997a3ee',1,'flow::Vector']]], + ['size_5ftype_3',['size_type',['../classflow_1_1_vector.html#a2181ecd90ff7fce1ff9c8876d8d05b3b',1,'flow::Vector']]], + ['stackmemoryresource_4',['StackMemoryResource',['../classflow_1_1_stack_memory_resource.html',1,'flow::StackMemoryResource'],['../classflow_1_1_stack_memory_resource.html#a993576cf99976c5cb4c07581dcf89e7a',1,'flow::StackMemoryResource::StackMemoryResource()']]], + ['swap_5',['swap',['../classflow_1_1_vector.html#acc30803f60627ed546fa47629ef134c1',1,'flow::Vector']]] ]; diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js index 6bf5be7..eceebbe 100644 --- a/docs/search/classes_0.js +++ b/docs/search/classes_0.js @@ -1,5 +1,4 @@ var searchData= [ - ['arenamemoryresource_0',['ArenaMemoryResource',['../classflow_1_1_arena_memory_resource.html',1,'flow']]], - ['avltree_1',['AVLTree',['../class_a_v_l_tree.html',1,'']]] + ['arenamemoryresource_0',['ArenaMemoryResource',['../classflow_1_1_arena_memory_resource.html',1,'flow']]] ]; diff --git a/docs/search/classes_1.js b/docs/search/classes_1.js index e509a91..49f7d09 100644 --- a/docs/search/classes_1.js +++ b/docs/search/classes_1.js @@ -1,5 +1,6 @@ var searchData= [ - ['binaryheap_0',['BinaryHeap',['../class_binary_heap.html',1,'']]], - ['binomialheap_1',['BinomialHeap',['../class_binomial_heap.html',1,'']]] + ['concurrentflexqueue_0',['ConcurrentFlexQueue',['../classflow_1_1_concurrent_flex_queue.html',1,'flow']]], + ['concurrentqueue_1',['ConcurrentQueue',['../classflow_1_1_concurrent_queue.html',1,'flow']]], + ['countedvalueviewiterator_2',['CountedValueViewIterator',['../classflow_1_1_counted_value_view_iterator.html',1,'flow']]] ]; diff --git a/docs/search/classes_2.js b/docs/search/classes_2.js index 49f7d09..d7fac63 100644 --- a/docs/search/classes_2.js +++ b/docs/search/classes_2.js @@ -1,6 +1,6 @@ var searchData= [ - ['concurrentflexqueue_0',['ConcurrentFlexQueue',['../classflow_1_1_concurrent_flex_queue.html',1,'flow']]], - ['concurrentqueue_1',['ConcurrentQueue',['../classflow_1_1_concurrent_queue.html',1,'flow']]], - ['countedvalueviewiterator_2',['CountedValueViewIterator',['../classflow_1_1_counted_value_view_iterator.html',1,'flow']]] + ['debugclass_0',['DebugClass',['../classflow_1_1_debug_class.html',1,'flow']]], + ['defaultmemoryresource_1',['DefaultMemoryResource',['../classflow_1_1_default_memory_resource.html',1,'flow']]], + ['doubleexpand_2',['DoubleExpand',['../structflow_1_1_vector_growth_strategy_1_1_double_expand.html',1,'flow::VectorGrowthStrategy']]] ]; diff --git a/docs/search/classes_3.js b/docs/search/classes_3.js index ce8da0e..bbcb46c 100644 --- a/docs/search/classes_3.js +++ b/docs/search/classes_3.js @@ -1,7 +1,4 @@ var searchData= [ - ['debugclass_0',['DebugClass',['../classflow_1_1_debug_class.html',1,'flow']]], - ['defaultmemoryresource_1',['DefaultMemoryResource',['../classflow_1_1_default_memory_resource.html',1,'flow']]], - ['disjointset_2',['DisjointSet',['../class_disjoint_set.html',1,'']]], - ['doubleexpand_3',['DoubleExpand',['../structflow_1_1_vector_growth_strategy_1_1_double_expand.html',1,'flow::VectorGrowthStrategy']]] + ['fibonacciexpand_0',['FibonacciExpand',['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html',1,'flow::VectorGrowthStrategy']]] ]; diff --git a/docs/search/classes_4.js b/docs/search/classes_4.js index 3484596..6c36ea4 100644 --- a/docs/search/classes_4.js +++ b/docs/search/classes_4.js @@ -1,5 +1,4 @@ var searchData= [ - ['fibonacciexpand_0',['FibonacciExpand',['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html',1,'flow::VectorGrowthStrategy']]], - ['flagtree_1',['FlagTree',['../class_binomial_heap_1_1_flag_tree.html',1,'BinomialHeap']]] + ['goldenexpand_0',['GoldenExpand',['../structflow_1_1_vector_growth_strategy_1_1_golden_expand.html',1,'flow::VectorGrowthStrategy']]] ]; diff --git a/docs/search/classes_5.js b/docs/search/classes_5.js index 6c36ea4..e9932c1 100644 --- a/docs/search/classes_5.js +++ b/docs/search/classes_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['goldenexpand_0',['GoldenExpand',['../structflow_1_1_vector_growth_strategy_1_1_golden_expand.html',1,'flow::VectorGrowthStrategy']]] + ['header_0',['Header',['../structflow_1_1_pool_memory_resource_1_1_header.html',1,'flow::PoolMemoryResource::Header'],['../structflow_1_1_stack_memory_resource_1_1_header.html',1,'flow::StackMemoryResource::Header']]] ]; diff --git a/docs/search/classes_6.js b/docs/search/classes_6.js index 1ac2f93..08a9e2d 100644 --- a/docs/search/classes_6.js +++ b/docs/search/classes_6.js @@ -1,5 +1,4 @@ var searchData= [ - ['hash_3c_20pair_3c_20t_2c_20t_20_3e_20_3e_0',['hash< pair< T, T > >',['../structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html',1,'std']]], - ['header_1',['Header',['../structflow_1_1_pool_memory_resource_1_1_header.html',1,'flow::PoolMemoryResource::Header'],['../structflow_1_1_stack_memory_resource_1_1_header.html',1,'flow::StackMemoryResource::Header']]] + ['memoryresource_0',['MemoryResource',['../classflow_1_1_memory_resource.html',1,'flow']]] ]; diff --git a/docs/search/classes_7.js b/docs/search/classes_7.js index 90949f2..a83d390 100644 --- a/docs/search/classes_7.js +++ b/docs/search/classes_7.js @@ -1,9 +1,4 @@ var searchData= [ - ['integeriterator_0',['IntegerIterator',['../class_integer_iterator.html',1,'']]], - ['iteratorimpl_1',['IteratorImpl',['../class_linked_list_1_1_iterator_impl.html',1,'LinkedList< T >::IteratorImpl< ReturnType >'],['../class_skip_list_1_1_iterator_impl.html',1,'SkipList< KeyType, ValueType, Predicate >::IteratorImpl< ReturnType >']]], - ['iteratorimpl_3c_20const_20keyvaluetype_20_26_20_3e_2',['IteratorImpl< const KeyValueType & >',['../class_skip_list_1_1_iterator_impl.html',1,'SkipList']]], - ['iteratorimpl_3c_20const_20t_20_26_20_3e_3',['IteratorImpl< const T & >',['../class_linked_list_1_1_iterator_impl.html',1,'LinkedList']]], - ['iteratorimpl_3c_20keyvaluetype_20_26_20_3e_4',['IteratorImpl< KeyValueType & >',['../class_skip_list_1_1_iterator_impl.html',1,'SkipList']]], - ['iteratorimpl_3c_20t_20_26_20_3e_5',['IteratorImpl< T & >',['../class_linked_list_1_1_iterator_impl.html',1,'LinkedList']]] + ['node_0',['Node',['../structflow_1_1_concurrent_flex_queue_1_1_node.html',1,'flow::ConcurrentFlexQueue']]] ]; diff --git a/docs/search/classes_8.js b/docs/search/classes_8.js index 2e85846..0ba149a 100644 --- a/docs/search/classes_8.js +++ b/docs/search/classes_8.js @@ -1,4 +1,5 @@ var searchData= [ - ['linkedlist_0',['LinkedList',['../class_linked_list.html',1,'']]] + ['polymorphicallocator_0',['PolymorphicAllocator',['../classflow_1_1_polymorphic_allocator.html',1,'flow']]], + ['poolmemoryresource_1',['PoolMemoryResource',['../classflow_1_1_pool_memory_resource.html',1,'flow']]] ]; diff --git a/docs/search/classes_9.js b/docs/search/classes_9.js index 08a9e2d..6434eb2 100644 --- a/docs/search/classes_9.js +++ b/docs/search/classes_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['memoryresource_0',['MemoryResource',['../classflow_1_1_memory_resource.html',1,'flow']]] + ['stackmemoryresource_0',['StackMemoryResource',['../classflow_1_1_stack_memory_resource.html',1,'flow']]] ]; diff --git a/docs/search/classes_a.js b/docs/search/classes_a.js index 9cf542f..e4cae41 100644 --- a/docs/search/classes_a.js +++ b/docs/search/classes_a.js @@ -1,4 +1,7 @@ var searchData= [ - ['node_0',['Node',['../class_a_v_l_tree_1_1_node.html',1,'AVLTree< T >::Node'],['../structflow_1_1_concurrent_flex_queue_1_1_node.html',1,'flow::ConcurrentFlexQueue< T >::Node'],['../class_linked_list_1_1_node.html',1,'LinkedList< T >::Node'],['../struct_random_meldable_heap_1_1_node.html',1,'RandomMeldableHeap< T, Predicate >::Node'],['../struct_skip_list_1_1_node.html',1,'SkipList< KeyType, ValueType, Predicate >::Node'],['../class_trie_1_1_node.html',1,'Trie< T >::Node']]] + ['timer_0',['Timer',['../classflow_1_1_timer.html',1,'flow']]], + ['tuple_1',['Tuple',['../classflow_1_1_tuple.html',1,'flow']]], + ['tuple_3c_20t_2c_20ts_2e_2e_2e_20_3e_2',['Tuple< T, Ts... >',['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html',1,'flow']]], + ['tuple_3c_20ts_2e_2e_2e_20_3e_3',['Tuple< Ts... >',['../classflow_1_1_tuple.html',1,'flow']]] ]; diff --git a/docs/search/classes_b.js b/docs/search/classes_b.js index 91a78e7..2a5fc48 100644 --- a/docs/search/classes_b.js +++ b/docs/search/classes_b.js @@ -1,6 +1,5 @@ var searchData= [ - ['polymorphicallocator_0',['PolymorphicAllocator',['../classflow_1_1_polymorphic_allocator.html',1,'flow']]], - ['poolmemoryresource_1',['PoolMemoryResource',['../classflow_1_1_pool_memory_resource.html',1,'flow']]], - ['psda_2',['PSDA',['../class_p_s_d_a.html',1,'']]] + ['vector_0',['Vector',['../classflow_1_1_vector.html',1,'flow']]], + ['vectorgrowthstrategy_1',['VectorGrowthStrategy',['../structflow_1_1_vector_growth_strategy.html',1,'flow']]] ]; diff --git a/docs/search/classes_c.js b/docs/search/classes_c.js deleted file mode 100644 index 5508891..0000000 --- a/docs/search/classes_c.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['randommeldableheap_0',['RandomMeldableHeap',['../class_random_meldable_heap.html',1,'']]] -]; diff --git a/docs/search/classes_d.js b/docs/search/classes_d.js deleted file mode 100644 index a1421dc..0000000 --- a/docs/search/classes_d.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['segmenttree_0',['SegmentTree',['../class_segment_tree.html',1,'']]], - ['set_1',['Set',['../struct_disjoint_set_1_1_set.html',1,'DisjointSet']]], - ['skiplist_2',['SkipList',['../class_skip_list.html',1,'']]], - ['sparsetable_3',['SparseTable',['../class_sparse_table.html',1,'']]], - ['stackmemoryresource_4',['StackMemoryResource',['../classflow_1_1_stack_memory_resource.html',1,'flow']]] -]; diff --git a/docs/search/classes_e.js b/docs/search/classes_e.js deleted file mode 100644 index ac070ac..0000000 --- a/docs/search/classes_e.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['timer_0',['Timer',['../classflow_1_1_timer.html',1,'flow']]], - ['tower_1',['Tower',['../struct_skip_list_1_1_tower.html',1,'SkipList']]], - ['trie_2',['Trie',['../class_trie.html',1,'']]], - ['tuple_3',['Tuple',['../classflow_1_1_tuple.html',1,'flow']]], - ['tuple_3c_20t_2c_20ts_2e_2e_2e_20_3e_4',['Tuple< T, Ts... >',['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html',1,'flow']]], - ['tuple_3c_20ts_2e_2e_2e_20_3e_5',['Tuple< Ts... >',['../classflow_1_1_tuple.html',1,'flow']]] -]; diff --git a/docs/search/classes_f.js b/docs/search/classes_f.js deleted file mode 100644 index 2a5fc48..0000000 --- a/docs/search/classes_f.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['vector_0',['Vector',['../classflow_1_1_vector.html',1,'flow']]], - ['vectorgrowthstrategy_1',['VectorGrowthStrategy',['../structflow_1_1_vector_growth_strategy.html',1,'flow']]] -]; diff --git a/docs/search/defines_0.js b/docs/search/defines_0.js deleted file mode 100644 index 27d2817..0000000 --- a/docs/search/defines_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['cp_5ftemplate_0',['CP_TEMPLATE',['../entry_8cpp.html#a43cfe84261f255686df473504c173ef0',1,'entry.cpp']]] -]; diff --git a/docs/search/defines_1.js b/docs/search/defines_1.js deleted file mode 100644 index 5606bb4..0000000 --- a/docs/search/defines_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['in_5fuse_0',['IN_USE',['../entry_8cpp.html#ae17a3a2e3545f97a4575a5584d84558e',1,'entry.cpp']]] -]; diff --git a/docs/search/defines_2.js b/docs/search/defines_2.js deleted file mode 100644 index 2aa7ee8..0000000 --- a/docs/search/defines_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['usaco_0',['USACO',['../entry_8cpp.html#a53c0feeffc184aa8c0637ec715223467',1,'entry.cpp']]] -]; diff --git a/docs/search/files_0.js b/docs/search/files_0.js index 87cb7eb..ba865e1 100644 --- a/docs/search/files_0.js +++ b/docs/search/files_0.js @@ -1,4 +1,18 @@ var searchData= [ - ['avltree_2eh_0',['AVLTree.h',['../_a_v_l_tree_8h.html',1,'']]] + ['flow_5farena_5fmemory_5fresource_2eh_0',['flow_arena_memory_resource.h',['../flow__arena__memory__resource_8h.html',1,'']]], + ['flow_5fconcurrent_5fflex_5fqueue_2eh_1',['flow_concurrent_flex_queue.h',['../flow__concurrent__flex__queue_8h.html',1,'']]], + ['flow_5fconcurrent_5fqueue_2eh_2',['flow_concurrent_queue.h',['../flow__concurrent__queue_8h.html',1,'']]], + ['flow_5fcounted_5fvalue_5fview_5fiterator_2eh_3',['flow_counted_value_view_iterator.h',['../flow__counted__value__view__iterator_8h.html',1,'']]], + ['flow_5fdebug_5fmemory_2eh_4',['flow_debug_memory.h',['../flow__debug__memory_8h.html',1,'']]], + ['flow_5fdefault_5fmemory_5fresource_2eh_5',['flow_default_memory_resource.h',['../flow__default__memory__resource_8h.html',1,'']]], + ['flow_5fmemory_5falgorithm_2eh_6',['flow_memory_algorithm.h',['../flow__memory__algorithm_8h.html',1,'']]], + ['flow_5fmemory_5fresource_2eh_7',['flow_memory_resource.h',['../flow__memory__resource_8h.html',1,'']]], + ['flow_5fpolymorphic_5fallocator_2eh_8',['flow_polymorphic_allocator.h',['../flow__polymorphic__allocator_8h.html',1,'']]], + ['flow_5fpool_5fmemory_5fresource_2eh_9',['flow_pool_memory_resource.h',['../flow__pool__memory__resource_8h.html',1,'']]], + ['flow_5frandom_5falgorithm_2eh_10',['flow_random_algorithm.h',['../flow__random__algorithm_8h.html',1,'']]], + ['flow_5fstack_5fmemory_5fresource_2eh_11',['flow_stack_memory_resource.h',['../flow__stack__memory__resource_8h.html',1,'']]], + ['flow_5ftimer_2eh_12',['flow_timer.h',['../flow__timer_8h.html',1,'']]], + ['flow_5ftuple_2eh_13',['flow_tuple.h',['../flow__tuple_8h.html',1,'']]], + ['flow_5fvector_2eh_14',['flow_vector.h',['../flow__vector_8h.html',1,'']]] ]; diff --git a/docs/search/files_1.js b/docs/search/files_1.js deleted file mode 100644 index 743dba0..0000000 --- a/docs/search/files_1.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['benchmark_2eh_0',['benchmark.h',['../benchmark_8h.html',1,'']]], - ['binaryheap_2eh_1',['BinaryHeap.h',['../_binary_heap_8h.html',1,'']]], - ['binomialheap_2eh_2',['BinomialHeap.h',['../_binomial_heap_8h.html',1,'']]] -]; diff --git a/docs/search/files_2.js b/docs/search/files_2.js deleted file mode 100644 index 635d052..0000000 --- a/docs/search/files_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['disjointset_2eh_0',['DisjointSet.h',['../_disjoint_set_8h.html',1,'']]] -]; diff --git a/docs/search/files_3.js b/docs/search/files_3.js deleted file mode 100644 index 25e0a0d..0000000 --- a/docs/search/files_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['entry_2ecpp_0',['entry.cpp',['../entry_8cpp.html',1,'']]] -]; diff --git a/docs/search/files_4.js b/docs/search/files_4.js deleted file mode 100644 index ba865e1..0000000 --- a/docs/search/files_4.js +++ /dev/null @@ -1,18 +0,0 @@ -var searchData= -[ - ['flow_5farena_5fmemory_5fresource_2eh_0',['flow_arena_memory_resource.h',['../flow__arena__memory__resource_8h.html',1,'']]], - ['flow_5fconcurrent_5fflex_5fqueue_2eh_1',['flow_concurrent_flex_queue.h',['../flow__concurrent__flex__queue_8h.html',1,'']]], - ['flow_5fconcurrent_5fqueue_2eh_2',['flow_concurrent_queue.h',['../flow__concurrent__queue_8h.html',1,'']]], - ['flow_5fcounted_5fvalue_5fview_5fiterator_2eh_3',['flow_counted_value_view_iterator.h',['../flow__counted__value__view__iterator_8h.html',1,'']]], - ['flow_5fdebug_5fmemory_2eh_4',['flow_debug_memory.h',['../flow__debug__memory_8h.html',1,'']]], - ['flow_5fdefault_5fmemory_5fresource_2eh_5',['flow_default_memory_resource.h',['../flow__default__memory__resource_8h.html',1,'']]], - ['flow_5fmemory_5falgorithm_2eh_6',['flow_memory_algorithm.h',['../flow__memory__algorithm_8h.html',1,'']]], - ['flow_5fmemory_5fresource_2eh_7',['flow_memory_resource.h',['../flow__memory__resource_8h.html',1,'']]], - ['flow_5fpolymorphic_5fallocator_2eh_8',['flow_polymorphic_allocator.h',['../flow__polymorphic__allocator_8h.html',1,'']]], - ['flow_5fpool_5fmemory_5fresource_2eh_9',['flow_pool_memory_resource.h',['../flow__pool__memory__resource_8h.html',1,'']]], - ['flow_5frandom_5falgorithm_2eh_10',['flow_random_algorithm.h',['../flow__random__algorithm_8h.html',1,'']]], - ['flow_5fstack_5fmemory_5fresource_2eh_11',['flow_stack_memory_resource.h',['../flow__stack__memory__resource_8h.html',1,'']]], - ['flow_5ftimer_2eh_12',['flow_timer.h',['../flow__timer_8h.html',1,'']]], - ['flow_5ftuple_2eh_13',['flow_tuple.h',['../flow__tuple_8h.html',1,'']]], - ['flow_5fvector_2eh_14',['flow_vector.h',['../flow__vector_8h.html',1,'']]] -]; diff --git a/docs/search/files_5.js b/docs/search/files_5.js deleted file mode 100644 index 251190c..0000000 --- a/docs/search/files_5.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['integeriterator_2eh_0',['IntegerIterator.h',['../_integer_iterator_8h.html',1,'']]] -]; diff --git a/docs/search/files_6.js b/docs/search/files_6.js deleted file mode 100644 index 5ab2f47..0000000 --- a/docs/search/files_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['linkedlist_2eh_0',['LinkedList.h',['../_linked_list_8h.html',1,'']]] -]; diff --git a/docs/search/files_7.js b/docs/search/files_7.js deleted file mode 100644 index ff8b876..0000000 --- a/docs/search/files_7.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['psda_2eh_0',['PSDA.h',['../_p_s_d_a_8h.html',1,'']]] -]; diff --git a/docs/search/files_8.js b/docs/search/files_8.js deleted file mode 100644 index b4823b3..0000000 --- a/docs/search/files_8.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['randommeldableheap_2eh_0',['RandomMeldableHeap.h',['../_random_meldable_heap_8h.html',1,'']]] -]; diff --git a/docs/search/files_9.js b/docs/search/files_9.js deleted file mode 100644 index ea28c8c..0000000 --- a/docs/search/files_9.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['segmenttree_2eh_0',['SegmentTree.h',['../_segment_tree_8h.html',1,'']]], - ['skiplist_2eh_1',['SkipList.h',['../_skip_list_8h.html',1,'']]], - ['sparsetable_2eh_2',['SparseTable.h',['../_sparse_table_8h.html',1,'']]] -]; diff --git a/docs/search/files_a.js b/docs/search/files_a.js deleted file mode 100644 index a0feae0..0000000 --- a/docs/search/files_a.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['trie_2eh_0',['Trie.h',['../_trie_8h.html',1,'']]] -]; diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js index 2ea8665..71b3cf2 100644 --- a/docs/search/functions_0.js +++ b/docs/search/functions_0.js @@ -3,6 +3,5 @@ var searchData= ['alignwithheader_0',['alignWithHeader',['../namespaceflow.html#ad508020eec40eabb44ecd17a0ea944a1',1,'flow']]], ['allocate_1',['allocate',['../classflow_1_1_memory_resource.html#a5f348b979d67c8503d67d6a5ec7bfda9',1,'flow::MemoryResource::allocate()'],['../classflow_1_1_polymorphic_allocator.html#a9ecfbea0e237d47dbaeb792d40470981',1,'flow::PolymorphicAllocator::allocate()']]], ['allocateimp_2',['allocateImp',['../classflow_1_1_arena_memory_resource.html#a621223b622d7efd5503f65c9de3aab1b',1,'flow::ArenaMemoryResource::allocateImp()'],['../classflow_1_1_default_memory_resource.html#a5b3b10ccc61e2b8d17606eb5fc0f1627',1,'flow::DefaultMemoryResource::allocateImp()'],['../classflow_1_1_memory_resource.html#a8179af2eb6e69df16d8ee3d82286ec10',1,'flow::MemoryResource::allocateImp()'],['../classflow_1_1_pool_memory_resource.html#a3cfb07a234f406f4fb8c1d1c154861bc',1,'flow::PoolMemoryResource::allocateImp()'],['../classflow_1_1_stack_memory_resource.html#a2ac0250b455868bd79a38da643b421d5',1,'flow::StackMemoryResource::allocateImp()']]], - ['arenamemoryresource_3',['ArenaMemoryResource',['../classflow_1_1_arena_memory_resource.html#ad4978347aee081a4eea9ba60d5c64831',1,'flow::ArenaMemoryResource']]], - ['avltree_4',['AVLTree',['../class_a_v_l_tree.html#a9fab28b32e97ffc5e0f1a4ed3d9823b2',1,'AVLTree::AVLTree()'],['../class_a_v_l_tree.html#ada4e04560ad4579bf28c4c54594f5fdf',1,'AVLTree::AVLTree(const AVLTree &tree)'],['../class_a_v_l_tree.html#a14c1e8c04a3b932d973f30351b909269',1,'AVLTree::AVLTree(AVLTree &&tree) noexcept']]] + ['arenamemoryresource_3',['ArenaMemoryResource',['../classflow_1_1_arena_memory_resource.html#ad4978347aee081a4eea9ba60d5c64831',1,'flow::ArenaMemoryResource']]] ]; diff --git a/docs/search/functions_1.js b/docs/search/functions_1.js index a6cc2b2..97942bb 100644 --- a/docs/search/functions_1.js +++ b/docs/search/functions_1.js @@ -1,15 +1,5 @@ var searchData= [ - ['back_0',['Back',['../class_p_s_d_a.html#a40882252704234173819fe955eaae536',1,'PSDA::Back()'],['../class_p_s_d_a.html#ab173388f103084b18b2a2d112ca4a134',1,'PSDA::Back() const']]], - ['back_1',['back',['../classflow_1_1_vector.html#ad02fbe2f355e1bea83186cbb97b53d69',1,'flow::Vector::back() noexcept'],['../classflow_1_1_vector.html#a23941afb170992195959db92f14bc114',1,'flow::Vector::back() const noexcept']]], - ['balancesubtree_2',['BalanceSubtree',['../class_a_v_l_tree_1_1_node.html#aa099d28a7be4f606e32c9d99968a5c91',1,'AVLTree::Node']]], - ['begin_3',['begin',['../classflow_1_1_vector.html#a52107e19ce15e50a4a610a1486203a55',1,'flow::Vector::begin() noexcept'],['../classflow_1_1_vector.html#af0f7ae6593900ce9862bf99895c4e181',1,'flow::Vector::begin() const noexcept'],['../class_linked_list.html#a5113bc802622f17b54d719b806ce2a62',1,'LinkedList::begin()'],['../class_linked_list.html#a3ec959b6356bad1ce7f1900218346b56',1,'LinkedList::begin() const'],['../class_p_s_d_a.html#acc9c255ff6ca8de1d7a05ad6d1b867b7',1,'PSDA::begin()'],['../class_p_s_d_a.html#a492b5d4c30a68af9650431d0c77cb1e8',1,'PSDA::begin() const'],['../class_skip_list.html#acf677bbb22255fe662570d04fa1d39f2',1,'SkipList::begin()'],['../class_skip_list.html#ae4e2b80c7ab0f4b9e20390b96f8ba82b',1,'SkipList::begin() const']]], - ['benchmarkflowvector_4',['benchmarkFlowVector',['../namespacebenchmark.html#a49f4972ef8aa15746e43281484381e39',1,'benchmark']]], - ['benchmarkflowvectorstring_5',['benchmarkFlowVectorString',['../namespacebenchmark.html#a05e5b1e546dc4a325d127bfda0d95902',1,'benchmark']]], - ['benchmarkstdset_6',['benchmarkStdSet',['../namespacebenchmark.html#aa90af4821e756d6abd48736a886fb7b9',1,'benchmark']]], - ['benchmarkstdvector_7',['benchmarkStdVector',['../namespacebenchmark.html#ab1c92b084d635c2b9a5fce6e5fd3364c',1,'benchmark']]], - ['benchmarkstdvectorstring_8',['benchmarkStdVectorString',['../namespacebenchmark.html#ad143bdfdfd0ac0f02b5107662f077dbb',1,'benchmark']]], - ['binaryheap_9',['BinaryHeap',['../class_binary_heap.html#a0d9679ed0e97e921442df18bcb3e5ffd',1,'BinaryHeap::BinaryHeap()=default'],['../class_binary_heap.html#ac79d9068e914510d4603fd2de15248be',1,'BinaryHeap::BinaryHeap(std::vector< T > arr)']]], - ['binomialheap_10',['BinomialHeap',['../class_binomial_heap.html#a08d73d1e768082bfa0873dd9246d8d35',1,'BinomialHeap::BinomialHeap()'],['../class_binomial_heap.html#a7554a82e06539ebbdec513ef2404dc0b',1,'BinomialHeap::BinomialHeap(const BinomialHeap &rhs)'],['../class_binomial_heap.html#acff0cc05580f47f74a5438578e9bb4d8',1,'BinomialHeap::BinomialHeap(BinomialHeap &&rhs) noexcept']]], - ['buildparent_11',['BuildParent',['../class_segment_tree.html#afbfa8cf96ec9ddf34e9e3d2ba58365f0',1,'SegmentTree']]] + ['back_0',['back',['../classflow_1_1_vector.html#ad02fbe2f355e1bea83186cbb97b53d69',1,'flow::Vector::back() noexcept'],['../classflow_1_1_vector.html#a23941afb170992195959db92f14bc114',1,'flow::Vector::back() const noexcept']]], + ['begin_1',['begin',['../classflow_1_1_vector.html#a52107e19ce15e50a4a610a1486203a55',1,'flow::Vector::begin() noexcept'],['../classflow_1_1_vector.html#af0f7ae6593900ce9862bf99895c4e181',1,'flow::Vector::begin() const noexcept']]] ]; diff --git a/docs/search/functions_10.js b/docs/search/functions_10.js index d68636d..c9a2617 100644 --- a/docs/search/functions_10.js +++ b/docs/search/functions_10.js @@ -1,11 +1,7 @@ var searchData= [ - ['segmenttree_0',['SegmentTree',['../class_segment_tree.html#a0171328c01aecf88ba32506b05443bea',1,'SegmentTree::SegmentTree(std::initializer_list< T > lst)'],['../class_segment_tree.html#a8fd3d00c664cffb3b49e02901de7ed3a',1,'SegmentTree::SegmentTree(std::vector< T > lst)']]], - ['shuffle_1',['shuffle',['../namespaceflow.html#a69464bd65a1f1f8786cf92a34e4d9497',1,'flow']]], - ['size_2',['Size',['../class_a_v_l_tree.html#ab85e680166f079bf54d647ac4fe376df',1,'AVLTree::Size()'],['../class_binary_heap.html#a8dbbd7ca7020e2a4b397ccc11165f278',1,'BinaryHeap::Size()'],['../class_binomial_heap.html#abc0262e1ca0f234419fb6023587840ea',1,'BinomialHeap::Size()'],['../class_disjoint_set.html#a1ee9e01280561e828d4839839f0c9ade',1,'DisjointSet::Size()'],['../class_p_s_d_a.html#a53e7852aa6b8f4be0c33db7f7e350734',1,'PSDA::Size()'],['../class_random_meldable_heap.html#a83184954be3d1f275d08a31aa013aa6f',1,'RandomMeldableHeap::Size()']]], - ['size_3',['size',['../classflow_1_1_concurrent_queue.html#ad62cf85a47644dbbb06268bdc68988bc',1,'flow::ConcurrentQueue::size()'],['../classflow_1_1_timer.html#a0bd09e9dc2f660a4e8b3393dd06dbf64',1,'flow::Timer::size()'],['../classflow_1_1_tuple.html#ac21246e9ba10eac47b3ef6370535214f',1,'flow::Tuple::size()'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a6fa5e57287bdb5c2bfbaf12333816cec',1,'flow::Tuple< T, Ts... >::size()'],['../classflow_1_1_vector.html#a174ef01cedf42bda75a148f1e665506e',1,'flow::Vector::size()'],['../class_linked_list.html#ae5e038aa8472ef56e67bd575eeebc9cb',1,'LinkedList::size()']]], - ['skiplist_4',['SkipList',['../class_skip_list.html#a21c7073f015a4981aa3db81c68ded678',1,'SkipList::SkipList()'],['../class_skip_list.html#a7b96cbaab5563be94deb2515f4b7d005',1,'SkipList::SkipList(const SkipList &other)=delete'],['../class_skip_list.html#a4cc1bc645d0eac48b0684501c35b68ee',1,'SkipList::SkipList(SkipList &&other) noexcept']]], - ['sparsetable_5',['SparseTable',['../class_sparse_table.html#a65c85236969ff6a8f18b0265dd76b669',1,'SparseTable']]], - ['stackmemoryresource_6',['StackMemoryResource',['../classflow_1_1_stack_memory_resource.html#a993576cf99976c5cb4c07581dcf89e7a',1,'flow::StackMemoryResource']]], - ['swap_7',['swap',['../_a_v_l_tree_8h.html#a76967cab25a63e934824292123af3f11',1,'swap(AVLTree< T > &lhs, AVLTree< T > &rhs): AVLTree.h'],['../_binomial_heap_8h.html#a080b14fe6bf44d72a8a6375737b04afe',1,'swap(BinomialHeap< T, Predicate > &lhs, BinomialHeap< T, Predicate > &rhs): BinomialHeap.h'],['../_linked_list_8h.html#ad7051d446f1c1dcc709eaaeeac83367e',1,'swap(LinkedList< T > &lhs, LinkedList< T > &rhs): LinkedList.h']]] + ['_7edebugclass_0',['~DebugClass',['../classflow_1_1_debug_class.html#a48a695f9cec5b0115ebdf61a5f15b5ea',1,'flow::DebugClass']]], + ['_7ememoryresource_1',['~MemoryResource',['../classflow_1_1_memory_resource.html#aed7eed2f0372002ff66df9decc501071',1,'flow::MemoryResource']]], + ['_7epoolmemoryresource_2',['~PoolMemoryResource',['../classflow_1_1_pool_memory_resource.html#a5fd5e0967552063825e24232b3c4c5bc',1,'flow::PoolMemoryResource']]], + ['_7evector_3',['~Vector',['../classflow_1_1_vector.html#a2ed0e854ec90587355a567fa8c2efdc0',1,'flow::Vector']]] ]; diff --git a/docs/search/functions_11.js b/docs/search/functions_11.js deleted file mode 100644 index cf0e0b5..0000000 --- a/docs/search/functions_11.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['timer_0',['Timer',['../classflow_1_1_timer.html#a84fb288a95562d7511d226ebe6ad6f8e',1,'flow::Timer']]], - ['top_1',['Top',['../class_binary_heap.html#a0ed75c0004d274ed966336b7eb264ee6',1,'BinaryHeap::Top()'],['../class_binomial_heap.html#adc6b443e44e239ffff1eefb5ba280792',1,'BinomialHeap::Top() const'],['../class_binomial_heap.html#a189e8e2de41b44ebd0803c94738b23bf',1,'BinomialHeap::Top()'],['../class_random_meldable_heap.html#a75b7d58a837f1aee7fdcf44c994a749c',1,'RandomMeldableHeap::Top()'],['../class_random_meldable_heap.html#a2856c74deb6bdeab6678603a7c1b239c',1,'RandomMeldableHeap::Top() const']]], - ['tostring_2',['toString',['../classflow_1_1_timer.html#a491df8664619dd62baf9e1eac1170d96',1,'flow::Timer']]], - ['tower_3',['Tower',['../struct_skip_list_1_1_tower.html#a0b4838f8410826497e68ef128132f772',1,'SkipList::Tower::Tower()'],['../struct_skip_list_1_1_tower.html#ad6095deae4ec4d2a3165989b19c620bc',1,'SkipList::Tower::Tower(const KeyValueType &keyValue)']]], - ['trie_4',['Trie',['../class_trie.html#af8a231351d78977f070e94f1850ce9ad',1,'Trie']]], - ['tryfront_5',['tryFront',['../classflow_1_1_concurrent_flex_queue.html#ac45ab0b7ea0f605549619a7acf41e4b7',1,'flow::ConcurrentFlexQueue::tryFront()'],['../classflow_1_1_concurrent_queue.html#a28100c215fb8bd848e8311f5f8165bb2',1,'flow::ConcurrentQueue::tryFront()']]], - ['trypop_6',['tryPop',['../classflow_1_1_concurrent_flex_queue.html#a625000dfe4ec5396867921d8cf686f64',1,'flow::ConcurrentFlexQueue::tryPop()'],['../classflow_1_1_concurrent_queue.html#a5c0d191969f644b6146ffb547f07e19f',1,'flow::ConcurrentQueue::tryPop()']]], - ['tuple_7',['Tuple',['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a55b886793da978c41864c41132402df2',1,'flow::Tuple< T, Ts... >::Tuple()'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a7f60fa146191162adc0fa354fb1238cc',1,'flow::Tuple< T, Ts... >::Tuple(Arg1 &&value, Args2 &&... values)'],['../namespaceflow.html#aaf246f21a7d66e18117ff22ba5c737fd',1,'flow::Tuple()']]] -]; diff --git a/docs/search/functions_12.js b/docs/search/functions_12.js deleted file mode 100644 index e0f4052..0000000 --- a/docs/search/functions_12.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['uninitializedemplace_0',['uninitializedEmplace',['../namespaceflow.html#a003a0f5de60743211f4a12ad692ea545',1,'flow']]], - ['uninitializedemplacen_1',['uninitializedEmplaceN',['../namespaceflow.html#ae91210e00bd937af8781ad61d96bb7af',1,'flow']]], - ['uninitializedfill_2',['uninitializedFill',['../namespaceflow.html#ac44af902cb4c10b49fa9f5992daa6c92',1,'flow']]], - ['uninitializedfilln_3',['uninitializedFillN',['../namespaceflow.html#a5991193d2c2c3220704b7ffe43284798',1,'flow']]], - ['uninitializedforward_4',['uninitializedForward',['../namespaceflow.html#a7cbf79d9d81ea0bf923173bf94d18282',1,'flow']]], - ['uninitializedforwardn_5',['uninitializedForwardN',['../namespaceflow.html#a5f5545b19674be10035741dc55ab7805',1,'flow']]], - ['uninitializedmove_6',['uninitializedMove',['../namespaceflow.html#a51e3de912b53f5b8d08f6167efae5d43',1,'flow']]], - ['uninitializedmoven_7',['uninitializedMoveN',['../namespaceflow.html#a1110956ca4c95ee5c42c1e988dab6ecd',1,'flow']]], - ['union_8',['Union',['../class_disjoint_set.html#a23daffcefcb74cb52b07f33b593eb7f1',1,'DisjointSet']]], - ['updatebuffer_9',['updateBuffer',['../classflow_1_1_vector.html#ab9a6c86d36489ee0b22dcc7ffadba93b',1,'flow::Vector']]], - ['updateinfo_10',['UpdateInfo',['../class_a_v_l_tree_1_1_node.html#adddc913a6d45c16cb0d4b03de31035ab',1,'AVLTree::Node']]] -]; diff --git a/docs/search/functions_13.js b/docs/search/functions_13.js deleted file mode 100644 index 281957b..0000000 --- a/docs/search/functions_13.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['value_0',['Value',['../struct_skip_list_1_1_tower.html#aad2c7f8597035157f30c9b1495c1cc50',1,'SkipList::Tower']]], - ['vector_1',['Vector',['../classflow_1_1_vector.html#af0f1a455c67e5f7a9d10849ed88b7559',1,'flow::Vector::Vector() noexcept'],['../classflow_1_1_vector.html#ab2a7b99b11f7bb0a30f1586ea1d178bf',1,'flow::Vector::Vector(const allocator_type &allocator)'],['../classflow_1_1_vector.html#a5daa11faad80d18ed87c7e0f409b0645',1,'flow::Vector::Vector(const Vector &rhs)'],['../classflow_1_1_vector.html#aebbcc7115c8718581e35b4702247907d',1,'flow::Vector::Vector(const Vector &rhs, const allocator_type &allocator)'],['../classflow_1_1_vector.html#a1b81dfaab65161f7a66038bffabc7248',1,'flow::Vector::Vector(Vector &&rhs) noexcept'],['../classflow_1_1_vector.html#a411e4c3e8586db8943dfce5c3d7340a6',1,'flow::Vector::Vector(Vector &&rhs, const allocator_type &allocator)'],['../classflow_1_1_vector.html#abb3aa43549b77168fb56371086ec4447',1,'flow::Vector::Vector(It first, It last, const allocator_type &allocator={})'],['../classflow_1_1_vector.html#ae0c4ade36741c6f196021349b5485526',1,'flow::Vector::Vector(std::initializer_list< T > list, const allocator_type &allocator={})'],['../classflow_1_1_vector.html#a67fd714b4b2af6bda5df8b7f1d152869',1,'flow::Vector::Vector(std::size_t count, const allocator_type &allocator={})'],['../classflow_1_1_vector.html#a9153f6768f8c3b6aa92c6d8f9538722f',1,'flow::Vector::Vector(std::size_t count, const T &value, const allocator_type &allocator={})']]] -]; diff --git a/docs/search/functions_14.js b/docs/search/functions_14.js deleted file mode 100644 index 68f1a70..0000000 --- a/docs/search/functions_14.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['waitpop_0',['waitPop',['../classflow_1_1_concurrent_flex_queue.html#a9695c97533ad20970414839cbb147374',1,'flow::ConcurrentFlexQueue::waitPop()'],['../classflow_1_1_concurrent_queue.html#a0bf4edf07e01dc7ac12f2277f71230ef',1,'flow::ConcurrentQueue::waitPop()']]], - ['walk_1',['Walk',['../class_trie.html#ab21d47e41ffbd82ee7d84cd917ca3b77',1,'Trie']]] -]; diff --git a/docs/search/functions_15.js b/docs/search/functions_15.js deleted file mode 100644 index 2e9229b..0000000 --- a/docs/search/functions_15.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['_7eavltree_0',['~AVLTree',['../class_a_v_l_tree.html#ae7bb44a235074a48d817acbc32846ae7',1,'AVLTree']]], - ['_7ebinomialheap_1',['~BinomialHeap',['../class_binomial_heap.html#a46d26e050caf0f59c4bfd1945b45abc0',1,'BinomialHeap']]], - ['_7edebugclass_2',['~DebugClass',['../classflow_1_1_debug_class.html#a48a695f9cec5b0115ebdf61a5f15b5ea',1,'flow::DebugClass']]], - ['_7eflagtree_3',['~FlagTree',['../class_binomial_heap_1_1_flag_tree.html#a0f24158df3a6f24c5a1032829e4aa87c',1,'BinomialHeap::FlagTree']]], - ['_7elinkedlist_4',['~LinkedList',['../class_linked_list.html#a7c37609df3b83bc4eb0281b852f93fd7',1,'LinkedList']]], - ['_7ememoryresource_5',['~MemoryResource',['../classflow_1_1_memory_resource.html#aed7eed2f0372002ff66df9decc501071',1,'flow::MemoryResource']]], - ['_7enode_6',['~Node',['../class_a_v_l_tree_1_1_node.html#ab65c7359c5b7caade318a7abe565dd1d',1,'AVLTree::Node::~Node()'],['../struct_random_meldable_heap_1_1_node.html#adf1fd57b99e9e5d2ac67a5b0579ccf65',1,'RandomMeldableHeap::Node::~Node()']]], - ['_7epoolmemoryresource_7',['~PoolMemoryResource',['../classflow_1_1_pool_memory_resource.html#a5fd5e0967552063825e24232b3c4c5bc',1,'flow::PoolMemoryResource']]], - ['_7erandommeldableheap_8',['~RandomMeldableHeap',['../class_random_meldable_heap.html#acc6d2c48d0a69138fb03f0bd762d4289',1,'RandomMeldableHeap']]], - ['_7eskiplist_9',['~SkipList',['../class_skip_list.html#a5595a1c2e776f2ed0392350fec54b3ca',1,'SkipList']]], - ['_7evector_10',['~Vector',['../classflow_1_1_vector.html#a2ed0e854ec90587355a567fa8c2efdc0',1,'flow::Vector']]] -]; diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js index f9ac994..5e4ac2f 100644 --- a/docs/search/functions_2.js +++ b/docs/search/functions_2.js @@ -5,8 +5,5 @@ var searchData= ['concurrentflexqueue_2',['ConcurrentFlexQueue',['../classflow_1_1_concurrent_flex_queue.html#aee78e86f8ff1501f4e87d194f506ed5a',1,'flow::ConcurrentFlexQueue::ConcurrentFlexQueue()'],['../classflow_1_1_concurrent_flex_queue.html#a09f21966ef5ef2e1742f538b440e0cba',1,'flow::ConcurrentFlexQueue::ConcurrentFlexQueue(const ConcurrentFlexQueue &)=delete'],['../classflow_1_1_concurrent_flex_queue.html#a4ff791cba6a6534d72c2cbbb4b2d7d0b',1,'flow::ConcurrentFlexQueue::ConcurrentFlexQueue(ConcurrentFlexQueue &&)=delete']]], ['concurrentqueue_3',['ConcurrentQueue',['../classflow_1_1_concurrent_queue.html#a33be3ac6f7a386943a9bf1b73b15af7d',1,'flow::ConcurrentQueue::ConcurrentQueue(const allocator_type &allocator=allocator_type())'],['../classflow_1_1_concurrent_queue.html#abdcc25822ea84611d059f0164c29bf40',1,'flow::ConcurrentQueue::ConcurrentQueue(const ConcurrentQueue &)=delete'],['../classflow_1_1_concurrent_queue.html#a9afa84e43f840bafec48b21caf7f3243',1,'flow::ConcurrentQueue::ConcurrentQueue(ConcurrentQueue &&)=delete']]], ['construct_4',['construct',['../classflow_1_1_polymorphic_allocator.html#ae2e657ac5eb873d11ad71723277caaa8',1,'flow::PolymorphicAllocator']]], - ['contain_5',['Contain',['../class_trie.html#a2744b10e84471c92ec03a8be7232a28c',1,'Trie']]], - ['containprefix_6',['ContainPrefix',['../class_trie.html#ae6c561f0202434b3a488b436060c5832',1,'Trie']]], - ['countdigits_7',['countDigits',['../entry_8cpp.html#a979f40b9b785d8c4f528f3c7aa7f9a32',1,'entry.cpp']]], - ['countedvalueviewiterator_8',['CountedValueViewIterator',['../classflow_1_1_counted_value_view_iterator.html#aec5e48263e265314df292c11b62b780d',1,'flow::CountedValueViewIterator::CountedValueViewIterator()'],['../classflow_1_1_counted_value_view_iterator.html#ae5fcbb0fd603cd40e5562d3f76f846df',1,'flow::CountedValueViewIterator::CountedValueViewIterator(const T &value, std::size_t count=0)']]] + ['countedvalueviewiterator_5',['CountedValueViewIterator',['../classflow_1_1_counted_value_view_iterator.html#aec5e48263e265314df292c11b62b780d',1,'flow::CountedValueViewIterator::CountedValueViewIterator()'],['../classflow_1_1_counted_value_view_iterator.html#ae5fcbb0fd603cd40e5562d3f76f846df',1,'flow::CountedValueViewIterator::CountedValueViewIterator(const T &value, std::size_t count=0)']]] ]; diff --git a/docs/search/functions_3.js b/docs/search/functions_3.js index 1228eba..f0268a8 100644 --- a/docs/search/functions_3.js +++ b/docs/search/functions_3.js @@ -2,12 +2,9 @@ var searchData= [ ['deallocate_0',['deallocate',['../classflow_1_1_memory_resource.html#a624ccdb4ce7db4bb30ccf43ef8802352',1,'flow::MemoryResource::deallocate()'],['../classflow_1_1_polymorphic_allocator.html#a246865912a463ce03695521796e96c0b',1,'flow::PolymorphicAllocator::deallocate()']]], ['deallocateimp_1',['deallocateImp',['../classflow_1_1_arena_memory_resource.html#a705ea8539ba4774256c621c482cd9493',1,'flow::ArenaMemoryResource::deallocateImp()'],['../classflow_1_1_default_memory_resource.html#ae780c88790db29cf6e74b2363463f86d',1,'flow::DefaultMemoryResource::deallocateImp()'],['../classflow_1_1_memory_resource.html#a0fe4fd1de140064284dee1cc16c33e21',1,'flow::MemoryResource::deallocateImp()'],['../classflow_1_1_pool_memory_resource.html#ad096a8ce328207d87d572b19ae51f324',1,'flow::PoolMemoryResource::deallocateImp()'],['../classflow_1_1_stack_memory_resource.html#a472e9dd93c0aad65c2a3768254d2bf1f',1,'flow::StackMemoryResource::deallocateImp()']]], - ['debug_2',['Debug',['../class_binomial_heap.html#a35239518827ef736006740e5d368e93a',1,'BinomialHeap']]], - ['debugclass_3',['DebugClass',['../classflow_1_1_debug_class.html#a31d3750a346067255700270ac37a8248',1,'flow::DebugClass::DebugClass()'],['../classflow_1_1_debug_class.html#a29fd182d9df656b7531b0cb829c7a629',1,'flow::DebugClass::DebugClass(const DebugClass &rhs)'],['../classflow_1_1_debug_class.html#ac6e3df93ac573336f3a0a267ab6b18e1',1,'flow::DebugClass::DebugClass(DebugClass &&rhs) noexcept']]], - ['deletebuffer_4',['deleteBuffer',['../namespaceflow.html#a95a53e967634035ab7b02a7a0fd8d41a',1,'flow']]], - ['destroy_5',['destroy',['../classflow_1_1_polymorphic_allocator.html#abc9cffd1ba2487b9446352c42b8b820d',1,'flow::PolymorphicAllocator']]], - ['destroyelements_6',['destroyElements',['../namespaceflow.html#a0917ae92fc9372994be63e2b07d7da43',1,'flow']]], - ['destroyelementsn_7',['destroyElementsN',['../namespaceflow.html#a2097cda5f5388d27f3c92804fdea2917',1,'flow']]], - ['differentiate_8',['Differentiate',['../class_p_s_d_a.html#af95d18adcf324319134643570d36f896',1,'PSDA']]], - ['disjointset_9',['DisjointSet',['../class_disjoint_set.html#a149364c52c1d8c177bc0c2a1c5f1e83d',1,'DisjointSet::DisjointSet()=default'],['../class_disjoint_set.html#a34574033f309cdb23c364744be0689fc',1,'DisjointSet::DisjointSet(int size, const T &val=T{})']]] + ['debugclass_2',['DebugClass',['../classflow_1_1_debug_class.html#a31d3750a346067255700270ac37a8248',1,'flow::DebugClass::DebugClass()'],['../classflow_1_1_debug_class.html#a29fd182d9df656b7531b0cb829c7a629',1,'flow::DebugClass::DebugClass(const DebugClass &rhs)'],['../classflow_1_1_debug_class.html#ac6e3df93ac573336f3a0a267ab6b18e1',1,'flow::DebugClass::DebugClass(DebugClass &&rhs) noexcept']]], + ['deletebuffer_3',['deleteBuffer',['../namespaceflow.html#a95a53e967634035ab7b02a7a0fd8d41a',1,'flow']]], + ['destroy_4',['destroy',['../classflow_1_1_polymorphic_allocator.html#abc9cffd1ba2487b9446352c42b8b820d',1,'flow::PolymorphicAllocator']]], + ['destroyelements_5',['destroyElements',['../namespaceflow.html#a0917ae92fc9372994be63e2b07d7da43',1,'flow']]], + ['destroyelementsn_6',['destroyElementsN',['../namespaceflow.html#a2097cda5f5388d27f3c92804fdea2917',1,'flow']]] ]; diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js index f8d0bec..21d46aa 100644 --- a/docs/search/functions_4.js +++ b/docs/search/functions_4.js @@ -2,11 +2,8 @@ var searchData= [ ['emplace_0',['emplace',['../classflow_1_1_concurrent_flex_queue.html#a148a7764ab30b8e69d0b32cf9cc4d4f6',1,'flow::ConcurrentFlexQueue::emplace()'],['../classflow_1_1_concurrent_queue.html#a921fb77ec80aefbf0954a21ebfe49d67',1,'flow::ConcurrentQueue::emplace()'],['../classflow_1_1_vector.html#a63907d377f79ae43c766427da7391471',1,'flow::Vector::emplace(iterator pos, Args &&... args)']]], ['emplaceback_1',['emplaceBack',['../classflow_1_1_vector.html#a1246fe8e463045cd9acefd4ffed3bea2',1,'flow::Vector']]], - ['empty_2',['Empty',['../class_a_v_l_tree.html#a18b0ad73bf1e0e55c1eab4de01d9928c',1,'AVLTree::Empty()'],['../class_binomial_heap.html#aaed84d347b9813ea57cd038002b658dc',1,'BinomialHeap::Empty()'],['../class_disjoint_set.html#aaf0b989981a16122c81476aa35771d44',1,'DisjointSet::Empty()']]], - ['empty_3',['empty',['../classflow_1_1_concurrent_flex_queue.html#a1940497155a804e76e5770b0df37290a',1,'flow::ConcurrentFlexQueue::empty()'],['../classflow_1_1_concurrent_queue.html#af0e073c9657bbc9ac2a70e97df5a1d1d',1,'flow::ConcurrentQueue::empty()'],['../classflow_1_1_vector.html#ad4726df83d62b3869b5c28cf93b27c66',1,'flow::Vector::empty()']]], - ['enablememoryguard_4',['enableMemoryGuard',['../namespaceflow.html#a66db7e81436bb94ac54e68f4f13be960',1,'flow']]], - ['end_5',['end',['../classflow_1_1_vector.html#ad9bee88ac142d52bc14d3b7c12c5d27a',1,'flow::Vector::end() noexcept'],['../classflow_1_1_vector.html#ad6491063afb2f969da46c7617f09e048',1,'flow::Vector::end() const noexcept'],['../class_linked_list.html#a86de720eaa32b69ff0b57207dc4e8ae2',1,'LinkedList::end()'],['../class_linked_list.html#a7530f41ff2d9a65899048a1631618059',1,'LinkedList::end() const'],['../class_p_s_d_a.html#af7a89a3f405388a7bc8e79938afa4892',1,'PSDA::end()'],['../class_p_s_d_a.html#aead4b439a090b506bf94d2c2fc349f5c',1,'PSDA::end() const'],['../class_skip_list.html#a524b4b9a54258a5fa37e72ee8cc2a592',1,'SkipList::end()'],['../class_skip_list.html#a2e04647b73b200aa4f55cf548dac80dd',1,'SkipList::end() const']]], - ['erase_6',['Erase',['../class_a_v_l_tree.html#a498a54b28316131aba8272e8a42638c4',1,'AVLTree::Erase()'],['../class_a_v_l_tree_1_1_node.html#a562ab626779edd7545f320b792d129ae',1,'AVLTree::Node::Erase()'],['../class_skip_list.html#a78009a34e704863223fb7d5ac6bfb705',1,'SkipList::Erase()'],['../class_trie.html#a317c6fcb5202f78b7c89afd9a40f6aa7',1,'Trie::Erase()']]], - ['erase_7',['erase',['../classflow_1_1_vector.html#a72bef13d7f81c286d42432ceabe20d20',1,'flow::Vector::erase(iterator pos) noexcept'],['../classflow_1_1_vector.html#a233300c7d3c47e40b70af817590c9811',1,'flow::Vector::erase(iterator first, iterator last) noexcept']]], - ['erasereplacement_8',['EraseReplacement',['../class_a_v_l_tree_1_1_node.html#adbfd56b2fea47ae5ffbb83ae6c24bbae',1,'AVLTree::Node']]] + ['empty_2',['empty',['../classflow_1_1_concurrent_flex_queue.html#a1940497155a804e76e5770b0df37290a',1,'flow::ConcurrentFlexQueue::empty()'],['../classflow_1_1_concurrent_queue.html#af0e073c9657bbc9ac2a70e97df5a1d1d',1,'flow::ConcurrentQueue::empty()'],['../classflow_1_1_vector.html#ad4726df83d62b3869b5c28cf93b27c66',1,'flow::Vector::empty()']]], + ['enablememoryguard_3',['enableMemoryGuard',['../namespaceflow.html#a66db7e81436bb94ac54e68f4f13be960',1,'flow']]], + ['end_4',['end',['../classflow_1_1_vector.html#ad9bee88ac142d52bc14d3b7c12c5d27a',1,'flow::Vector::end() noexcept'],['../classflow_1_1_vector.html#ad6491063afb2f969da46c7617f09e048',1,'flow::Vector::end() const noexcept']]], + ['erase_5',['erase',['../classflow_1_1_vector.html#a72bef13d7f81c286d42432ceabe20d20',1,'flow::Vector::erase(iterator pos) noexcept'],['../classflow_1_1_vector.html#a233300c7d3c47e40b70af817590c9811',1,'flow::Vector::erase(iterator first, iterator last) noexcept']]] ]; diff --git a/docs/search/functions_5.js b/docs/search/functions_5.js index d325278..2fa7a8c 100644 --- a/docs/search/functions_5.js +++ b/docs/search/functions_5.js @@ -1,10 +1,4 @@ var searchData= [ - ['fastquery_0',['FastQuery',['../class_sparse_table.html#a6afd60d3402ddf6f4b2b10adf61f15c0',1,'SparseTable']]], - ['find_1',['Find',['../class_a_v_l_tree.html#a139a6afe3bff1f5c61026e0ede7fb3ca',1,'AVLTree::Find(const T &key)'],['../class_a_v_l_tree.html#a351bd47d7f6922ae9d1cd778a20e207c',1,'AVLTree::Find(const T &key) const'],['../class_a_v_l_tree_1_1_node.html#a42174d3ffb9acb013b19215a445458ea',1,'AVLTree::Node::Find(Node *curr, const T &key)'],['../class_a_v_l_tree_1_1_node.html#ac663d148470b9f4a84109b53c29540b1',1,'AVLTree::Node::Find(const Node *curr, const T &key)'],['../class_disjoint_set.html#abf8e7317a46fda87aee72892302283a9',1,'DisjointSet::Find()'],['../class_skip_list.html#a18373c8126749befdccf5bf06528b6cd',1,'SkipList::Find(const KeyType &key)'],['../class_skip_list.html#a9b6d942c7485e8eb62f4c8c0c4d76ce1',1,'SkipList::Find(const KeyType &key) const'],['../class_trie.html#a4c4ebbb18ef1114d31e8a6f17d355778',1,'Trie::Find(const T *arr, std::size_t len)'],['../class_trie.html#aa238f7ca666567689d9868eaaedf1e01',1,'Trie::Find(const T *arr, std::size_t len) const']]], - ['fixdown_2',['FixDown',['../class_binary_heap.html#a57a09c7ea701967c46d90568cbfc91ba',1,'BinaryHeap']]], - ['fixup_3',['FixUp',['../class_binary_heap.html#aa9a66152053b6ad02b893478cebe7e7e',1,'BinaryHeap']]], - ['flagtree_4',['FlagTree',['../class_binomial_heap_1_1_flag_tree.html#ac1c1929b76ec307331493b5628a72865',1,'BinomialHeap::FlagTree::FlagTree(Args &&... args)'],['../class_binomial_heap_1_1_flag_tree.html#a191fb6a6df479ad5fb8f7b797b3c9de8',1,'BinomialHeap::FlagTree::FlagTree(const FlagTree &rhs)'],['../class_binomial_heap_1_1_flag_tree.html#abd3145af05d86d9e156fcb22bd0ae289',1,'BinomialHeap::FlagTree::FlagTree(FlagTree &rhs)'],['../class_binomial_heap_1_1_flag_tree.html#ac1e5b470298b303b989dd9826bdaa091',1,'BinomialHeap::FlagTree::FlagTree(FlagTree &&rhs) noexcept']]], - ['front_5',['Front',['../class_p_s_d_a.html#a36b6960860c41618e40625937cfe06ee',1,'PSDA::Front()'],['../class_p_s_d_a.html#a4ef3ecee1ad9ce8e0329c7ca6c9d2f3a',1,'PSDA::Front() const']]], - ['front_6',['front',['../classflow_1_1_vector.html#abc27ebfeb384b081289612be2526a703',1,'flow::Vector::front() noexcept'],['../classflow_1_1_vector.html#aba8ae41829ab1c48b546778403d99d6c',1,'flow::Vector::front() const noexcept']]] + ['front_0',['front',['../classflow_1_1_vector.html#abc27ebfeb384b081289612be2526a703',1,'flow::Vector::front() noexcept'],['../classflow_1_1_vector.html#aba8ae41829ab1c48b546778403d99d6c',1,'flow::Vector::front() const noexcept']]] ]; diff --git a/docs/search/functions_6.js b/docs/search/functions_6.js index 5cd05e5..6ffcd1b 100644 --- a/docs/search/functions_6.js +++ b/docs/search/functions_6.js @@ -2,9 +2,6 @@ var searchData= [ ['get_0',['get',['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9e0704bb42876ba20c0fde9df37b980f',1,'flow::Tuple< T, Ts... >::get()'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a9fd9a8776d08fac17e76168b054204cd',1,'flow::Tuple< T, Ts... >::get() const']]], ['get_5fallocator_1',['get_allocator',['../classflow_1_1_vector.html#a0eb1f3871c6a3c5dd0d21eeded97507b',1,'flow::Vector']]], - ['getall_2',['GetAll',['../class_trie.html#a2662953bc5ae29a49d5298133f7222bc',1,'Trie']]], - ['getmaxindex_3',['GetMaxIndex',['../class_binomial_heap.html#ad802b7ceeca544218be749b786dc6ade',1,'BinomialHeap']]], - ['getpredecessors_4',['GetPredecessors',['../class_skip_list.html#ac23462bfed8dd4a68989c6ec371297d3',1,'SkipList']]], - ['getrandomnumber_5',['getRandomNumber',['../namespaceflow.html#ab90fae79ddd51259bfc55e73b295fcd9',1,'flow']]], - ['getresource_6',['getResource',['../classflow_1_1_default_memory_resource.html#a01bea59a2f2d07da11856e060153a08f',1,'flow::DefaultMemoryResource']]] + ['getrandomnumber_2',['getRandomNumber',['../namespaceflow.html#ab90fae79ddd51259bfc55e73b295fcd9',1,'flow']]], + ['getresource_3',['getResource',['../classflow_1_1_default_memory_resource.html#a01bea59a2f2d07da11856e060153a08f',1,'flow::DefaultMemoryResource']]] ]; diff --git a/docs/search/functions_7.js b/docs/search/functions_7.js index edd18e9..5071316 100644 --- a/docs/search/functions_7.js +++ b/docs/search/functions_7.js @@ -1,9 +1,4 @@ var searchData= [ - ['insameset_0',['InSameSet',['../class_disjoint_set.html#aac911297a1592e5e25c63c72362e8b6e',1,'DisjointSet']]], - ['insert_1',['Insert',['../class_skip_list.html#a049048bd0ead2ae94cc39d5a1d3ca9db',1,'SkipList']]], - ['insert_2',['insert',['../classflow_1_1_vector.html#afc9e7deb83d7e224959f1d0c2bcfb2b6',1,'flow::Vector::insert(iterator pos, const T &value)'],['../classflow_1_1_vector.html#a7b99f7d13471a841f4b0bbe7b7e81f00',1,'flow::Vector::insert(iterator pos, T &&value)'],['../classflow_1_1_vector.html#ac33ba3bee9a3d91ec7233e5ed5767695',1,'flow::Vector::insert(iterator pos, std::size_t count, const T &value)'],['../classflow_1_1_vector.html#a022a327a5db05b8c23158aa44aa642ea',1,'flow::Vector::insert(iterator pos, It first, It last)'],['../classflow_1_1_vector.html#ac98171a9ca91d6e2b7c77f2b531b7ca1',1,'flow::Vector::insert(iterator pos, std::initializer_list< T > list)']]], - ['integeriterator_3',['IntegerIterator',['../class_integer_iterator.html#a147eb9f8d334a90a87789ddc8fa8752a',1,'IntegerIterator']]], - ['integrate_4',['Integrate',['../class_p_s_d_a.html#a10f6155ec60ca70b906b4cd5e2bd6810',1,'PSDA']]], - ['iteratorimpl_5',['IteratorImpl',['../class_linked_list_1_1_iterator_impl.html#a798daf5a28ddc9952e20a0ed5c306974',1,'LinkedList::IteratorImpl::IteratorImpl()'],['../class_skip_list_1_1_iterator_impl.html#a494f3d41a62b132fe122db34b60dd258',1,'SkipList::IteratorImpl::IteratorImpl()']]] + ['insert_0',['insert',['../classflow_1_1_vector.html#afc9e7deb83d7e224959f1d0c2bcfb2b6',1,'flow::Vector::insert(iterator pos, const T &value)'],['../classflow_1_1_vector.html#a7b99f7d13471a841f4b0bbe7b7e81f00',1,'flow::Vector::insert(iterator pos, T &&value)'],['../classflow_1_1_vector.html#ac33ba3bee9a3d91ec7233e5ed5767695',1,'flow::Vector::insert(iterator pos, std::size_t count, const T &value)'],['../classflow_1_1_vector.html#a022a327a5db05b8c23158aa44aa642ea',1,'flow::Vector::insert(iterator pos, It first, It last)'],['../classflow_1_1_vector.html#ac98171a9ca91d6e2b7c77f2b531b7ca1',1,'flow::Vector::insert(iterator pos, std::initializer_list< T > list)']]] ]; diff --git a/docs/search/functions_8.js b/docs/search/functions_8.js index 58ac85a..320e136 100644 --- a/docs/search/functions_8.js +++ b/docs/search/functions_8.js @@ -1,4 +1,11 @@ var searchData= [ - ['key_0',['Key',['../struct_skip_list_1_1_tower.html#ad0867cde3875f0d23afc85679e821c13',1,'SkipList::Tower']]] + ['operator_21_3d_0',['operator!=',['../flow__vector_8h.html#a74b1b9f01e1911a3186769679f74c377',1,'flow_vector.h']]], + ['operator_28_29_1',['operator()',['../structflow_1_1_vector_growth_strategy_1_1_golden_expand.html#a4b046f830b42446928087c119aa2cb50',1,'flow::VectorGrowthStrategy::GoldenExpand::operator()()'],['../structflow_1_1_vector_growth_strategy_1_1_double_expand.html#a9345ba72ca5c6f7c920b8280ec756380',1,'flow::VectorGrowthStrategy::DoubleExpand::operator()()'],['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a1acd32de5883dfaab0b738124ff471db',1,'flow::VectorGrowthStrategy::FibonacciExpand::operator()()']]], + ['operator_2a_2',['operator*',['../classflow_1_1_counted_value_view_iterator.html#a15cd12e7b60ac56f657362dda2c5dc68',1,'flow::CountedValueViewIterator']]], + ['operator_2b_2b_3',['operator++',['../classflow_1_1_counted_value_view_iterator.html#afd00e1df6549e44a2429e929d8bdf909',1,'flow::CountedValueViewIterator::operator++()'],['../classflow_1_1_counted_value_view_iterator.html#a7fd5897e27305768eaf068cbe4644de5',1,'flow::CountedValueViewIterator::operator++(int)']]], + ['operator_2d_3e_4',['operator->',['../classflow_1_1_counted_value_view_iterator.html#a634a2db73627fcbd4fee77e1a3c2375e',1,'flow::CountedValueViewIterator']]], + ['operator_3d_5',['operator=',['../classflow_1_1_concurrent_flex_queue.html#abeff8c5717fce2252e795c0eac78f218',1,'flow::ConcurrentFlexQueue::operator=(const ConcurrentFlexQueue &)=delete'],['../classflow_1_1_concurrent_flex_queue.html#ad4c753d4ac97a9d9f108a85c1deae03a',1,'flow::ConcurrentFlexQueue::operator=(ConcurrentFlexQueue &&)=delete'],['../classflow_1_1_concurrent_queue.html#a3f76748bdaf041ab31cf52b0faef44fe',1,'flow::ConcurrentQueue::operator=(const ConcurrentQueue &)=delete'],['../classflow_1_1_concurrent_queue.html#ab09b66803142e1105763c5887ec1c546',1,'flow::ConcurrentQueue::operator=(ConcurrentQueue &&)=delete'],['../classflow_1_1_debug_class.html#a306b6c316e11e3d9d7fb1adf140a98df',1,'flow::DebugClass::operator=(const DebugClass &rhs)'],['../classflow_1_1_debug_class.html#a04f020eccd10fcb93503add61ba461db',1,'flow::DebugClass::operator=(DebugClass &&rhs) noexcept'],['../classflow_1_1_vector.html#a60a7fdd5aa4be9e4abd7b01a351c35e4',1,'flow::Vector::operator=()']]], + ['operator_3d_3d_6',['operator==',['../flow__vector_8h.html#af06ef3cc2293dbd659cdeb3ef04b94ba',1,'flow_vector.h']]], + ['operator_5b_5d_7',['operator[]',['../classflow_1_1_vector.html#a7c61fc01669f8da61d0f9c23513666de',1,'flow::Vector::operator[](std::size_t i) noexcept'],['../classflow_1_1_vector.html#aa43b28b69455eac2404894fd3b0d6c6b',1,'flow::Vector::operator[](std::size_t i) const noexcept']]] ]; diff --git a/docs/search/functions_9.js b/docs/search/functions_9.js index 93d82d5..9cf034d 100644 --- a/docs/search/functions_9.js +++ b/docs/search/functions_9.js @@ -1,6 +1,9 @@ var searchData= [ - ['lazyincrement_0',['LazyIncrement',['../class_p_s_d_a.html#ab3d0b223ce8489d3099a651a681106ec',1,'PSDA']]], - ['leftchild_1',['LeftChild',['../class_binary_heap.html#a55145df41fa1560e95dcfd1fb20e9242',1,'BinaryHeap']]], - ['linkedlist_2',['LinkedList',['../class_linked_list.html#a3c20fcfec867e867f541061a09fc640c',1,'LinkedList::LinkedList()'],['../class_linked_list.html#acd3c8669a409385fc5818d0c832bfacf',1,'LinkedList::LinkedList(const LinkedList &rhs)'],['../class_linked_list.html#aa39542757ae3cc7dc9121a8b073f2b17',1,'LinkedList::LinkedList(LinkedList &&rhs) noexcept']]] + ['pointerdistance_0',['pointerDistance',['../namespaceflow.html#a4cdb6701097d19bfe56dc9b98d0ab18d',1,'flow']]], + ['polymorphicallocator_1',['PolymorphicAllocator',['../classflow_1_1_polymorphic_allocator.html#a61ce18be7ea581a5281a5bceb32917ff',1,'flow::PolymorphicAllocator::PolymorphicAllocator()'],['../classflow_1_1_polymorphic_allocator.html#abdb1a1785d0e9ee4baaf5ee819dcb29e',1,'flow::PolymorphicAllocator::PolymorphicAllocator(MemoryResource &resource)'],['../classflow_1_1_polymorphic_allocator.html#aaa09cc96471e180791aa70167fd8112e',1,'flow::PolymorphicAllocator::PolymorphicAllocator(const PolymorphicAllocator< U > &allocator) noexcept']]], + ['poolmemoryresource_2',['PoolMemoryResource',['../classflow_1_1_pool_memory_resource.html#a3ac35916ea439a181138f26c8ad158e1',1,'flow::PoolMemoryResource']]], + ['popback_3',['popBack',['../classflow_1_1_vector.html#ae39c634ffc7d4719734a727dd4e9eb02',1,'flow::Vector']]], + ['push_4',['push',['../classflow_1_1_concurrent_flex_queue.html#a7a81c9e4552bf82e2acd32c2e4b0f081',1,'flow::ConcurrentFlexQueue::push()'],['../classflow_1_1_concurrent_queue.html#a8afd8f92a60a59cf6c42da30a6eb2a0e',1,'flow::ConcurrentQueue::push()']]], + ['pushback_5',['pushBack',['../classflow_1_1_vector.html#a49e7b072f9b5c0a2c7e977e92ea79260',1,'flow::Vector::pushBack(const T &value)'],['../classflow_1_1_vector.html#a7b62dc6983a3b84ac1ee151821f93e92',1,'flow::Vector::pushBack(T &&value)']]] ]; diff --git a/docs/search/functions_a.js b/docs/search/functions_a.js index c5b81bc..e2a9d56 100644 --- a/docs/search/functions_a.js +++ b/docs/search/functions_a.js @@ -1,9 +1,10 @@ var searchData= [ - ['main_0',['main',['../entry_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'entry.cpp']]], - ['max_1',['Max',['../class_a_v_l_tree.html#a39c7f288a34e23d1cbf854d3ac1fc772',1,'AVLTree::Max()'],['../class_a_v_l_tree.html#ac3c055504c2005a4828a6b69b4dfdc5d',1,'AVLTree::Max() const'],['../class_a_v_l_tree_1_1_node.html#a44c7df7f7266a5890f64331be132a132',1,'AVLTree::Node::Max()'],['../class_a_v_l_tree_1_1_node.html#a9ad16c4dc3a754805ae70daf8c642d66',1,'AVLTree::Node::Max() const']]], - ['merge_2',['Merge',['../class_binomial_heap.html#a1097dead10fc94dd970164cd93a289c2',1,'BinomialHeap::Merge()'],['../class_random_meldable_heap.html#ad81605b7e0207ed2c100cac1a3fa8147',1,'RandomMeldableHeap::Merge(RandomMeldableHeap &&heap)']]], - ['mergeroots_3',['MergeRoots',['../class_random_meldable_heap.html#ad6b8dd660fd2d7815b48f51284ef7053',1,'RandomMeldableHeap']]], - ['mergetoheight_4',['MergeToHeight',['../class_binomial_heap.html#af6cf13de0597a9e105917c103e550b99',1,'BinomialHeap']]], - ['min_5',['Min',['../class_a_v_l_tree.html#a37e65b817abac7590be80774fde5240f',1,'AVLTree::Min()'],['../class_a_v_l_tree.html#ac2c3730cb6c8b0d25e005d502b7db87a',1,'AVLTree::Min() const'],['../class_a_v_l_tree_1_1_node.html#a766ba90bb3159ce3d2eca69a18eefa02',1,'AVLTree::Node::Min()'],['../class_a_v_l_tree_1_1_node.html#ad3b552c2b070041ac2c8f7674a221317',1,'AVLTree::Node::Min() const']]] + ['record_0',['record',['../classflow_1_1_timer.html#a1e1fdbe90de75ff50c147a965b756f2b',1,'flow::Timer']]], + ['relocatebuffer_1',['relocateBuffer',['../classflow_1_1_vector.html#aad83e0ac5232072e914bd75e4b116473',1,'flow::Vector']]], + ['relocatebufferwithholes_2',['relocateBufferWithHoles',['../classflow_1_1_vector.html#a53fca75839ead5d5a63aa334effc2663',1,'flow::Vector']]], + ['reserve_3',['reserve',['../classflow_1_1_vector.html#afa87bdfe245b4b06339eea38ce140ebb',1,'flow::Vector']]], + ['reset_4',['reset',['../classflow_1_1_timer.html#a74b4619eeb69ef54d750bcb91aa837fe',1,'flow::Timer']]], + ['resize_5',['resize',['../classflow_1_1_vector.html#abe9e6c30c45760900e713664e3c7ee95',1,'flow::Vector::resize(std::size_t size)'],['../classflow_1_1_vector.html#a956bdadf66a3cf83543fdb4880a7ed30',1,'flow::Vector::resize(std::size_t size, const T &value)']]], + ['resizeimp_6',['resizeImp',['../classflow_1_1_vector.html#aa28bafb52ffd5943f74f969f3970700d',1,'flow::Vector']]] ]; diff --git a/docs/search/functions_b.js b/docs/search/functions_b.js index 2e575da..8af1f99 100644 --- a/docs/search/functions_b.js +++ b/docs/search/functions_b.js @@ -1,4 +1,6 @@ var searchData= [ - ['node_0',['Node',['../class_a_v_l_tree_1_1_node.html#a2ed796882625cd894f1f027dff9154ef',1,'AVLTree::Node::Node(const T &key)'],['../class_a_v_l_tree_1_1_node.html#af3effc374eabb48b4ce328762783a587',1,'AVLTree::Node::Node(T &&key)'],['../class_a_v_l_tree_1_1_node.html#a73419bde4797518d972af6ee65e0c32a',1,'AVLTree::Node::Node(const Node &rhs)'],['../class_a_v_l_tree_1_1_node.html#a4c497e92bae58262637f137298dc9842',1,'AVLTree::Node::Node(Node &&rhs) noexcept'],['../class_linked_list_1_1_node.html#a3f4761392369dabbaaeba48c4761d371',1,'LinkedList::Node::Node()'],['../struct_random_meldable_heap_1_1_node.html#af096c21cc83e5e7214ae6eadc39c3ac4',1,'RandomMeldableHeap::Node::Node(T &&val)'],['../struct_random_meldable_heap_1_1_node.html#aefe2d59c7563a763415268bf1ee29c9e',1,'RandomMeldableHeap::Node::Node(const Node &)=delete'],['../struct_random_meldable_heap_1_1_node.html#afaaac34fda2ccc06f20bcf49d591fd53',1,'RandomMeldableHeap::Node::Node(Node &&)=delete'],['../struct_skip_list_1_1_node.html#ade37757eb1ac96054e9658270c08951d',1,'SkipList::Node::Node()'],['../class_trie_1_1_node.html#a70a940cce0f7a9828063f0fc39d8d8a7',1,'Trie::Node::Node()']]] + ['shuffle_0',['shuffle',['../namespaceflow.html#a69464bd65a1f1f8786cf92a34e4d9497',1,'flow']]], + ['size_1',['size',['../classflow_1_1_concurrent_queue.html#ad62cf85a47644dbbb06268bdc68988bc',1,'flow::ConcurrentQueue::size()'],['../classflow_1_1_timer.html#a0bd09e9dc2f660a4e8b3393dd06dbf64',1,'flow::Timer::size()'],['../classflow_1_1_tuple.html#ac21246e9ba10eac47b3ef6370535214f',1,'flow::Tuple::size()'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a6fa5e57287bdb5c2bfbaf12333816cec',1,'flow::Tuple< T, Ts... >::size()'],['../classflow_1_1_vector.html#a174ef01cedf42bda75a148f1e665506e',1,'flow::Vector::size()']]], + ['stackmemoryresource_2',['StackMemoryResource',['../classflow_1_1_stack_memory_resource.html#a993576cf99976c5cb4c07581dcf89e7a',1,'flow::StackMemoryResource']]] ]; diff --git a/docs/search/functions_c.js b/docs/search/functions_c.js index d5c660b..bb40b12 100644 --- a/docs/search/functions_c.js +++ b/docs/search/functions_c.js @@ -1,19 +1,8 @@ var searchData= [ - ['operator_21_3d_0',['operator!=',['../class_linked_list_1_1_iterator_impl.html#a9c87113bf420b320048bd9b761887052',1,'LinkedList::IteratorImpl::operator!=()'],['../class_skip_list_1_1_iterator_impl.html#ad638955b109f8a7f3220dd1f06cda062',1,'SkipList::IteratorImpl::operator!=()'],['../flow__vector_8h.html#a74b1b9f01e1911a3186769679f74c377',1,'operator!=(const flow::Vector< T > &lhs, const flow::Vector< T > &rhs) noexcept: flow_vector.h'],['../_integer_iterator_8h.html#a2d01915418a019c865bc1ca859a4a729',1,'operator!=(const IntegerIterator< T > &lhs, const IntegerIterator< T > &rhs): IntegerIterator.h']]], - ['operator_28_29_1',['operator()',['../structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html#acbb84e8c5667496a47fb51bb7bdbb1d7',1,'std::hash< pair< T, T > >::operator()()'],['../structflow_1_1_vector_growth_strategy_1_1_golden_expand.html#a4b046f830b42446928087c119aa2cb50',1,'flow::VectorGrowthStrategy::GoldenExpand::operator()()'],['../structflow_1_1_vector_growth_strategy_1_1_double_expand.html#a9345ba72ca5c6f7c920b8280ec756380',1,'flow::VectorGrowthStrategy::DoubleExpand::operator()()'],['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a1acd32de5883dfaab0b738124ff471db',1,'flow::VectorGrowthStrategy::FibonacciExpand::operator()()']]], - ['operator_2a_2',['operator*',['../classflow_1_1_counted_value_view_iterator.html#a15cd12e7b60ac56f657362dda2c5dc68',1,'flow::CountedValueViewIterator::operator*()'],['../class_integer_iterator.html#ad3e6b69858c98fe2a2e04e0575b481b4',1,'IntegerIterator::operator*()'],['../class_linked_list_1_1_iterator_impl.html#a52d0dfdd7d999cce2000320e3e0aa44a',1,'LinkedList::IteratorImpl::operator*()'],['../class_skip_list_1_1_iterator_impl.html#ada7dd87c088aee472ec3e228b90560c2',1,'SkipList::IteratorImpl::operator*()']]], - ['operator_2b_3',['operator+',['../_integer_iterator_8h.html#ae17acb20b08400f477465027001fadfd',1,'operator+(IntegerIterator< T > lhs, typename IntegerIterator< T >::difference_type n): IntegerIterator.h'],['../_integer_iterator_8h.html#a1ebc1ff765720e19d58d1c76e97ac834',1,'operator+(typename IntegerIterator< T >::difference_type n, IntegerIterator< T > rhs): IntegerIterator.h']]], - ['operator_2b_2b_4',['operator++',['../classflow_1_1_counted_value_view_iterator.html#afd00e1df6549e44a2429e929d8bdf909',1,'flow::CountedValueViewIterator::operator++()'],['../classflow_1_1_counted_value_view_iterator.html#a7fd5897e27305768eaf068cbe4644de5',1,'flow::CountedValueViewIterator::operator++(int)'],['../class_integer_iterator.html#a75e0aac6228d2e4acebf653b94e3f2e2',1,'IntegerIterator::operator++()'],['../class_integer_iterator.html#af5a8a753ac1ef0d22eafd5384e172aca',1,'IntegerIterator::operator++(int)'],['../class_linked_list_1_1_iterator_impl.html#a519f13b57f0f47636bcea306d8f1f51d',1,'LinkedList::IteratorImpl::operator++()'],['../class_linked_list_1_1_iterator_impl.html#a60234f5c744fecc464785d6e7b852e06',1,'LinkedList::IteratorImpl::operator++(int)'],['../class_skip_list_1_1_iterator_impl.html#ac3dd0bbc5bdd50c18d2b5d0014f650e9',1,'SkipList::IteratorImpl::operator++()']]], - ['operator_2b_3d_5',['operator+=',['../class_integer_iterator.html#adb6bf4e91e801469e355eedd73edcd5b',1,'IntegerIterator']]], - ['operator_2d_6',['operator-',['../class_integer_iterator.html#ad144e11bdff37af189854f96ff4d84f0',1,'IntegerIterator::operator-()'],['../_integer_iterator_8h.html#a9b8dbd59313ef9521037921be6a46f6c',1,'operator-(): IntegerIterator.h']]], - ['operator_2d_2d_7',['operator--',['../class_integer_iterator.html#a7a8d92400ab4d6e8837ea4917af8776d',1,'IntegerIterator::operator--()'],['../class_integer_iterator.html#a19b066cbce0584921a01988046766473',1,'IntegerIterator::operator--(int)']]], - ['operator_2d_3d_8',['operator-=',['../_integer_iterator_8h.html#a1f445326bfda08a05374bc6cc126d1b3',1,'IntegerIterator.h']]], - ['operator_2d_3e_9',['operator->',['../classflow_1_1_counted_value_view_iterator.html#a634a2db73627fcbd4fee77e1a3c2375e',1,'flow::CountedValueViewIterator::operator->()'],['../class_integer_iterator.html#aab52fa0c33c14b89e2904fe5cb4b6124',1,'IntegerIterator::operator->()']]], - ['operator_3c_3d_10',['operator<=',['../_integer_iterator_8h.html#a567b077d8273c4b7b6e1625b067b7a3f',1,'IntegerIterator.h']]], - ['operator_3d_11',['operator=',['../class_a_v_l_tree.html#a92b9e7b782f91913bd03d951a73343c2',1,'AVLTree::operator=()'],['../class_a_v_l_tree_1_1_node.html#ad34a7131e40f8a8184437a528eefc728',1,'AVLTree::Node::operator=(const Node &rhs)=delete'],['../class_a_v_l_tree_1_1_node.html#a543a84901066684f6895ecf42f3dca65',1,'AVLTree::Node::operator=(Node &&rhs)=delete'],['../class_binomial_heap_1_1_flag_tree.html#a3d6af13c7eda6f5f2ca6d86e75653278',1,'BinomialHeap::FlagTree::operator=(const FlagTree &rhs)=delete'],['../class_binomial_heap_1_1_flag_tree.html#a5a2cf64fe8ed9b7f1e565a1a483a5ed8',1,'BinomialHeap::FlagTree::operator=(FlagTree &&rhs)=delete'],['../class_binomial_heap.html#ab9d1451ae73b2e8e4e0ec7f45cdc73e2',1,'BinomialHeap::operator=()'],['../classflow_1_1_concurrent_flex_queue.html#abeff8c5717fce2252e795c0eac78f218',1,'flow::ConcurrentFlexQueue::operator=(const ConcurrentFlexQueue &)=delete'],['../classflow_1_1_concurrent_flex_queue.html#ad4c753d4ac97a9d9f108a85c1deae03a',1,'flow::ConcurrentFlexQueue::operator=(ConcurrentFlexQueue &&)=delete'],['../classflow_1_1_concurrent_queue.html#a3f76748bdaf041ab31cf52b0faef44fe',1,'flow::ConcurrentQueue::operator=(const ConcurrentQueue &)=delete'],['../classflow_1_1_concurrent_queue.html#ab09b66803142e1105763c5887ec1c546',1,'flow::ConcurrentQueue::operator=(ConcurrentQueue &&)=delete'],['../classflow_1_1_debug_class.html#a306b6c316e11e3d9d7fb1adf140a98df',1,'flow::DebugClass::operator=(const DebugClass &rhs)'],['../classflow_1_1_debug_class.html#a04f020eccd10fcb93503add61ba461db',1,'flow::DebugClass::operator=(DebugClass &&rhs) noexcept'],['../classflow_1_1_vector.html#a60a7fdd5aa4be9e4abd7b01a351c35e4',1,'flow::Vector::operator=()'],['../class_linked_list.html#ae9033aad0e352ceeff848c17d3095d40',1,'LinkedList::operator=()'],['../struct_random_meldable_heap_1_1_node.html#a136a7758d3d171d495f04fed09d097a7',1,'RandomMeldableHeap::Node::operator=(const Node &)=delete'],['../struct_random_meldable_heap_1_1_node.html#a0ad0a7fa003f5e6a25f05692ec1c4b58',1,'RandomMeldableHeap::Node::operator=(Node &&)=delete'],['../class_random_meldable_heap.html#a0f7f5ea6016f84f7ec42e4b1a68f88a1',1,'RandomMeldableHeap::operator=(const RandomMeldableHeap &)=delete'],['../class_random_meldable_heap.html#a69726729670940452a1552426369f999',1,'RandomMeldableHeap::operator=(RandomMeldableHeap &&)=delete'],['../class_skip_list.html#abdf618ba429ef69b0a5ffacd2e7cb029',1,'SkipList::operator=(const SkipList &other)=delete'],['../class_skip_list.html#a0f70befb4ab19c4aae234633828305a5',1,'SkipList::operator=(SkipList &&other) noexcept']]], - ['operator_3d_3d_12',['operator==',['../class_linked_list_1_1_iterator_impl.html#a8ff0a3e936ef626ea6a3435dcfed496c',1,'LinkedList::IteratorImpl::operator==()'],['../class_skip_list_1_1_iterator_impl.html#a86c3a76b1ed67707f3805e7378bcfc26',1,'SkipList::IteratorImpl::operator==()'],['../flow__vector_8h.html#af06ef3cc2293dbd659cdeb3ef04b94ba',1,'operator==(const flow::Vector< T > &lhs, const flow::Vector< T > &rhs) noexcept: flow_vector.h']]], - ['operator_3e_13',['operator>',['../_integer_iterator_8h.html#a307d23867c9739936366ebffa5b201b6',1,'IntegerIterator.h']]], - ['operator_3e_3d_14',['operator>=',['../_integer_iterator_8h.html#ac3c013959186634bbd449e96dc5b2154',1,'IntegerIterator.h']]], - ['operator_5b_5d_15',['operator[]',['../class_disjoint_set.html#a8a21e0b3cfc09af9675bf57335ff56a9',1,'DisjointSet::operator[](int setID)'],['../class_disjoint_set.html#aa824dddc2e76d3e47865546e5eae0746',1,'DisjointSet::operator[](int setID) const'],['../classflow_1_1_vector.html#a7c61fc01669f8da61d0f9c23513666de',1,'flow::Vector::operator[](std::size_t i) noexcept'],['../classflow_1_1_vector.html#aa43b28b69455eac2404894fd3b0d6c6b',1,'flow::Vector::operator[](std::size_t i) const noexcept'],['../class_integer_iterator.html#af29083bd8accd9511b721eb141d69531',1,'IntegerIterator::operator[]()'],['../class_p_s_d_a.html#a774785a0c0c3e180bd4d9f7c56952c15',1,'PSDA::operator[](int r)'],['../class_p_s_d_a.html#a17ddffb789aa120ea2634e2ba17efc21',1,'PSDA::operator[](int r) const']]] + ['timer_0',['Timer',['../classflow_1_1_timer.html#a84fb288a95562d7511d226ebe6ad6f8e',1,'flow::Timer']]], + ['tostring_1',['toString',['../classflow_1_1_timer.html#a491df8664619dd62baf9e1eac1170d96',1,'flow::Timer']]], + ['tryfront_2',['tryFront',['../classflow_1_1_concurrent_flex_queue.html#ac45ab0b7ea0f605549619a7acf41e4b7',1,'flow::ConcurrentFlexQueue::tryFront()'],['../classflow_1_1_concurrent_queue.html#a28100c215fb8bd848e8311f5f8165bb2',1,'flow::ConcurrentQueue::tryFront()']]], + ['trypop_3',['tryPop',['../classflow_1_1_concurrent_flex_queue.html#a625000dfe4ec5396867921d8cf686f64',1,'flow::ConcurrentFlexQueue::tryPop()'],['../classflow_1_1_concurrent_queue.html#a5c0d191969f644b6146ffb547f07e19f',1,'flow::ConcurrentQueue::tryPop()']]], + ['tuple_4',['Tuple',['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a55b886793da978c41864c41132402df2',1,'flow::Tuple< T, Ts... >::Tuple()'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#a7f60fa146191162adc0fa354fb1238cc',1,'flow::Tuple< T, Ts... >::Tuple(Arg1 &&value, Args2 &&... values)'],['../namespaceflow.html#aaf246f21a7d66e18117ff22ba5c737fd',1,'flow::Tuple()']]] ]; diff --git a/docs/search/functions_d.js b/docs/search/functions_d.js index 155cd7c..d097c3a 100644 --- a/docs/search/functions_d.js +++ b/docs/search/functions_d.js @@ -1,21 +1,12 @@ var searchData= [ - ['parent_0',['Parent',['../class_binary_heap.html#a7c5588c7b6657784922b9c43ed90d25a',1,'BinaryHeap']]], - ['pointerdistance_1',['pointerDistance',['../namespaceflow.html#a4cdb6701097d19bfe56dc9b98d0ab18d',1,'flow']]], - ['pointquery_2',['PointQuery',['../class_segment_tree.html#a872ede0fa9c7d692a206259b9adedca2',1,'SegmentTree']]], - ['pointupdate_3',['PointUpdate',['../class_segment_tree.html#aa7e7a3bfed9f3dfe76ad6ce4615d2b0f',1,'SegmentTree']]], - ['polymorphicallocator_4',['PolymorphicAllocator',['../classflow_1_1_polymorphic_allocator.html#a61ce18be7ea581a5281a5bceb32917ff',1,'flow::PolymorphicAllocator::PolymorphicAllocator()'],['../classflow_1_1_polymorphic_allocator.html#abdb1a1785d0e9ee4baaf5ee819dcb29e',1,'flow::PolymorphicAllocator::PolymorphicAllocator(MemoryResource &resource)'],['../classflow_1_1_polymorphic_allocator.html#aaa09cc96471e180791aa70167fd8112e',1,'flow::PolymorphicAllocator::PolymorphicAllocator(const PolymorphicAllocator< U > &allocator) noexcept']]], - ['poolmemoryresource_5',['PoolMemoryResource',['../classflow_1_1_pool_memory_resource.html#a3ac35916ea439a181138f26c8ad158e1',1,'flow::PoolMemoryResource']]], - ['pop_6',['Pop',['../class_binary_heap.html#a68b86a0f8e20eb80a6c2c9db164c2dde',1,'BinaryHeap::Pop()'],['../class_binomial_heap.html#a0e2216caa0911e6a81178d2fe7e0b911',1,'BinomialHeap::Pop()'],['../class_random_meldable_heap.html#a7c3844082f0d4022d04e320190d0d579',1,'RandomMeldableHeap::Pop()']]], - ['popback_7',['popBack',['../classflow_1_1_vector.html#ae39c634ffc7d4719734a727dd4e9eb02',1,'flow::Vector']]], - ['popcount_8',['popCount',['../entry_8cpp.html#a307ecdbe3be2ca5ba5217f1450d35bde',1,'entry.cpp']]], - ['popfront_9',['PopFront',['../class_linked_list.html#a47e06d0bacd1230e4ebe0bc0692be3b9',1,'LinkedList']]], - ['pow2_10',['Pow2',['../class_sparse_table.html#a13b34b60970ef48e919b76c24de4845d',1,'SparseTable']]], - ['print_11',['Print',['../class_a_v_l_tree.html#a8857cce6390ce1613f55259ddff5123a',1,'AVLTree::Print()'],['../class_a_v_l_tree_1_1_node.html#aa88d4f148b11fac9578d85287afc9b4a',1,'AVLTree::Node::Print()'],['../class_segment_tree.html#ac31ed2db84d473746e43d797329abff7',1,'SegmentTree::Print()'],['../class_skip_list.html#ae3db55a74bebba283371d6a07eeba4e4',1,'SkipList::Print()'],['../class_sparse_table.html#a03fb9a33783e5a9963d7a6bf12a53db8',1,'SparseTable::Print()']]], - ['psda_12',['PSDA',['../class_p_s_d_a.html#a99cb238eee847f981dc1809429796383',1,'PSDA']]], - ['push_13',['Push',['../class_a_v_l_tree.html#a15b2fe8be18597bbae8bb399f33f8860',1,'AVLTree::Push()'],['../class_a_v_l_tree_1_1_node.html#adcc4d5d6e68be88a4a8ac19a16a5d2da',1,'AVLTree::Node::Push()'],['../class_binary_heap.html#a3953761fb767627406e06d9860ab06c6',1,'BinaryHeap::Push()'],['../class_binomial_heap.html#acc21f9b8203f26b3bdfaac56d90cad6c',1,'BinomialHeap::Push()'],['../class_random_meldable_heap.html#a703a2b494544e9f724f531b8ef980b4d',1,'RandomMeldableHeap::Push()'],['../class_trie.html#a104fc9742f008835573d540fb989eea1',1,'Trie::Push()']]], - ['push_14',['push',['../classflow_1_1_concurrent_flex_queue.html#a7a81c9e4552bf82e2acd32c2e4b0f081',1,'flow::ConcurrentFlexQueue::push()'],['../classflow_1_1_concurrent_queue.html#a8afd8f92a60a59cf6c42da30a6eb2a0e',1,'flow::ConcurrentQueue::push()']]], - ['pushback_15',['PushBack',['../class_disjoint_set.html#a3918cd82b9662d3455906cb9f5b90a36',1,'DisjointSet::PushBack(const T &val)'],['../class_disjoint_set.html#ae3535f0c54db9f48de22750448dbf6e2',1,'DisjointSet::PushBack(T &&val)'],['../class_linked_list.html#a5a1d0c44971b9c32d0afadeaabaa693a',1,'LinkedList::PushBack()']]], - ['pushback_16',['pushBack',['../classflow_1_1_vector.html#a49e7b072f9b5c0a2c7e977e92ea79260',1,'flow::Vector::pushBack(const T &value)'],['../classflow_1_1_vector.html#a7b62dc6983a3b84ac1ee151821f93e92',1,'flow::Vector::pushBack(T &&value)']]], - ['pushfront_17',['PushFront',['../class_linked_list.html#ae9e2c29ef6df899ca26d6076870a7076',1,'LinkedList']]] + ['uninitializedemplace_0',['uninitializedEmplace',['../namespaceflow.html#a003a0f5de60743211f4a12ad692ea545',1,'flow']]], + ['uninitializedemplacen_1',['uninitializedEmplaceN',['../namespaceflow.html#ae91210e00bd937af8781ad61d96bb7af',1,'flow']]], + ['uninitializedfill_2',['uninitializedFill',['../namespaceflow.html#ac44af902cb4c10b49fa9f5992daa6c92',1,'flow']]], + ['uninitializedfilln_3',['uninitializedFillN',['../namespaceflow.html#a5991193d2c2c3220704b7ffe43284798',1,'flow']]], + ['uninitializedforward_4',['uninitializedForward',['../namespaceflow.html#a7cbf79d9d81ea0bf923173bf94d18282',1,'flow']]], + ['uninitializedforwardn_5',['uninitializedForwardN',['../namespaceflow.html#a5f5545b19674be10035741dc55ab7805',1,'flow']]], + ['uninitializedmove_6',['uninitializedMove',['../namespaceflow.html#a51e3de912b53f5b8d08f6167efae5d43',1,'flow']]], + ['uninitializedmoven_7',['uninitializedMoveN',['../namespaceflow.html#a1110956ca4c95ee5c42c1e988dab6ecd',1,'flow']]], + ['updatebuffer_8',['updateBuffer',['../classflow_1_1_vector.html#ab9a6c86d36489ee0b22dcc7ffadba93b',1,'flow::Vector']]] ]; diff --git a/docs/search/functions_e.js b/docs/search/functions_e.js index eb29afc..882d142 100644 --- a/docs/search/functions_e.js +++ b/docs/search/functions_e.js @@ -1,4 +1,4 @@ var searchData= [ - ['query_0',['Query',['../class_p_s_d_a.html#a9ba86ff26f27e9c6d5d94b1f0cff9d0c',1,'PSDA::Query()'],['../class_sparse_table.html#af477d026d12d824c070f86c12d36473c',1,'SparseTable::Query()']]] + ['vector_0',['Vector',['../classflow_1_1_vector.html#af0f1a455c67e5f7a9d10849ed88b7559',1,'flow::Vector::Vector() noexcept'],['../classflow_1_1_vector.html#ab2a7b99b11f7bb0a30f1586ea1d178bf',1,'flow::Vector::Vector(const allocator_type &allocator)'],['../classflow_1_1_vector.html#a5daa11faad80d18ed87c7e0f409b0645',1,'flow::Vector::Vector(const Vector &rhs)'],['../classflow_1_1_vector.html#aebbcc7115c8718581e35b4702247907d',1,'flow::Vector::Vector(const Vector &rhs, const allocator_type &allocator)'],['../classflow_1_1_vector.html#a1b81dfaab65161f7a66038bffabc7248',1,'flow::Vector::Vector(Vector &&rhs) noexcept'],['../classflow_1_1_vector.html#a411e4c3e8586db8943dfce5c3d7340a6',1,'flow::Vector::Vector(Vector &&rhs, const allocator_type &allocator)'],['../classflow_1_1_vector.html#abb3aa43549b77168fb56371086ec4447',1,'flow::Vector::Vector(It first, It last, const allocator_type &allocator={})'],['../classflow_1_1_vector.html#ae0c4ade36741c6f196021349b5485526',1,'flow::Vector::Vector(std::initializer_list< T > list, const allocator_type &allocator={})'],['../classflow_1_1_vector.html#a67fd714b4b2af6bda5df8b7f1d152869',1,'flow::Vector::Vector(std::size_t count, const allocator_type &allocator={})'],['../classflow_1_1_vector.html#a9153f6768f8c3b6aa92c6d8f9538722f',1,'flow::Vector::Vector(std::size_t count, const T &value, const allocator_type &allocator={})']]] ]; diff --git a/docs/search/functions_f.js b/docs/search/functions_f.js index 76e63d7..37d2db8 100644 --- a/docs/search/functions_f.js +++ b/docs/search/functions_f.js @@ -1,20 +1,4 @@ var searchData= [ - ['randommeldableheap_0',['RandomMeldableHeap',['../class_random_meldable_heap.html#a626f88023a14956c01f5a9e395254442',1,'RandomMeldableHeap::RandomMeldableHeap()'],['../class_random_meldable_heap.html#a2b0c5fb315ea87e918f6485b5715ec70',1,'RandomMeldableHeap::RandomMeldableHeap(const RandomMeldableHeap &)=delete'],['../class_random_meldable_heap.html#afda39cf3e42f6dde1ac0891c67bd4a60',1,'RandomMeldableHeap::RandomMeldableHeap(RandomMeldableHeap &&heap)']]], - ['rangequery_1',['RangeQuery',['../class_segment_tree.html#acb52b501869d10a7c744680d20c05fa1',1,'SegmentTree']]], - ['rangeupdate_2',['RangeUpdate',['../class_segment_tree.html#a4455133bc3dfdd31e81da3c516717726',1,'SegmentTree']]], - ['record_3',['record',['../classflow_1_1_timer.html#a1e1fdbe90de75ff50c147a965b756f2b',1,'flow::Timer']]], - ['relocatebuffer_4',['relocateBuffer',['../classflow_1_1_vector.html#aad83e0ac5232072e914bd75e4b116473',1,'flow::Vector']]], - ['relocatebufferwithholes_5',['relocateBufferWithHoles',['../classflow_1_1_vector.html#a53fca75839ead5d5a63aa334effc2663',1,'flow::Vector']]], - ['reserve_6',['Reserve',['../class_disjoint_set.html#ad76eefdcd819f2c2393ea057d0090f18',1,'DisjointSet']]], - ['reserve_7',['reserve',['../classflow_1_1_vector.html#afa87bdfe245b4b06339eea38ce140ebb',1,'flow::Vector']]], - ['reset_8',['reset',['../classflow_1_1_timer.html#a74b4619eeb69ef54d750bcb91aa837fe',1,'flow::Timer']]], - ['resize_9',['Resize',['../class_disjoint_set.html#ab55ff25ae5a2213d9e1790be7cec2c59',1,'DisjointSet']]], - ['resize_10',['resize',['../classflow_1_1_vector.html#abe9e6c30c45760900e713664e3c7ee95',1,'flow::Vector::resize(std::size_t size)'],['../classflow_1_1_vector.html#a956bdadf66a3cf83543fdb4880a7ed30',1,'flow::Vector::resize(std::size_t size, const T &value)']]], - ['resizeimp_11',['resizeImp',['../classflow_1_1_vector.html#aa28bafb52ffd5943f74f969f3970700d',1,'flow::Vector']]], - ['rightchild_12',['RightChild',['../class_binary_heap.html#ac05dfe457e3d6917472e6b232497eab4',1,'BinaryHeap']]], - ['rotateleftleft_13',['RotateLeftLeft',['../class_a_v_l_tree_1_1_node.html#aba9397879c44718fd4e675adde9d15a5',1,'AVLTree::Node']]], - ['rotateleftright_14',['RotateLeftRight',['../class_a_v_l_tree_1_1_node.html#ad3e8551ae2758fe2b0ec68c4a0c44d0b',1,'AVLTree::Node']]], - ['rotaterightleft_15',['RotateRightLeft',['../class_a_v_l_tree_1_1_node.html#a5d7f8148075ff0b7115e3e8ecdf2ca82',1,'AVLTree::Node']]], - ['rotaterightright_16',['RotateRightRight',['../class_a_v_l_tree_1_1_node.html#aea120a79cec52d18874becf5699636aa',1,'AVLTree::Node']]] + ['waitpop_0',['waitPop',['../classflow_1_1_concurrent_flex_queue.html#a9695c97533ad20970414839cbb147374',1,'flow::ConcurrentFlexQueue::waitPop()'],['../classflow_1_1_concurrent_queue.html#a0bf4edf07e01dc7ac12f2277f71230ef',1,'flow::ConcurrentQueue::waitPop()']]] ]; diff --git a/docs/search/namespaces_0.js b/docs/search/namespaces_0.js index 1d3653e..13b8e0f 100644 --- a/docs/search/namespaces_0.js +++ b/docs/search/namespaces_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['benchmark_0',['benchmark',['../namespacebenchmark.html',1,'']]] + ['flow_0',['flow',['../namespaceflow.html',1,'']]] ]; diff --git a/docs/search/namespaces_1.js b/docs/search/namespaces_1.js deleted file mode 100644 index 13b8e0f..0000000 --- a/docs/search/namespaces_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['flow_0',['flow',['../namespaceflow.html',1,'']]] -]; diff --git a/docs/search/namespaces_2.js b/docs/search/namespaces_2.js deleted file mode 100644 index 06d08d8..0000000 --- a/docs/search/namespaces_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['std_0',['std',['../namespacestd.html',1,'']]] -]; diff --git a/docs/search/related_0.js b/docs/search/related_0.js index a919f98..118931a 100644 --- a/docs/search/related_0.js +++ b/docs/search/related_0.js @@ -1,4 +1,6 @@ var searchData= [ - ['binomialheap_0',['BinomialHeap',['../class_binomial_heap_1_1_flag_tree.html#adb3c0687f1af3f2b8d59c2ff7ec01807',1,'BinomialHeap::FlagTree']]] + ['operator_21_3d_0',['operator!=',['../classflow_1_1_counted_value_view_iterator.html#ab5abdaf11e4149bbc1cbbdf620845ef9',1,'flow::CountedValueViewIterator::operator!=()'],['../classflow_1_1_polymorphic_allocator.html#aef1689a9b79f3750119e25fabf20f3f8',1,'flow::PolymorphicAllocator::operator!=()']]], + ['operator_3c_3c_1',['operator<<',['../classflow_1_1_debug_class.html#ac9ebd40c457de9d9aad379e360f3e66f',1,'flow::DebugClass']]], + ['operator_3d_3d_2',['operator==',['../classflow_1_1_counted_value_view_iterator.html#ad74bbd8d67a9bf77887a1825d158a94b',1,'flow::CountedValueViewIterator::operator==()'],['../classflow_1_1_polymorphic_allocator.html#a6bc365874bc82309e83d3d2dd28fb5eb',1,'flow::PolymorphicAllocator::operator==()']]] ]; diff --git a/docs/search/related_1.js b/docs/search/related_1.js index e2ede1e..26ee273 100644 --- a/docs/search/related_1.js +++ b/docs/search/related_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['linkedlist_0',['LinkedList',['../class_linked_list_1_1_node.html#af71fad9f4990e232af55c73aeddb3823',1,'LinkedList::Node::LinkedList()'],['../class_linked_list_1_1_iterator_impl.html#af71fad9f4990e232af55c73aeddb3823',1,'LinkedList::IteratorImpl::LinkedList()']]] + ['polymorphicallocator_0',['PolymorphicAllocator',['../classflow_1_1_polymorphic_allocator.html#a9de9cf20311e8ddb8e9c9128157f4884',1,'flow::PolymorphicAllocator']]] ]; diff --git a/docs/search/related_2.js b/docs/search/related_2.js index b8d78e4..b3e3111 100644 --- a/docs/search/related_2.js +++ b/docs/search/related_2.js @@ -1,7 +1,4 @@ var searchData= [ - ['operator_21_3d_0',['operator!=',['../classflow_1_1_counted_value_view_iterator.html#ab5abdaf11e4149bbc1cbbdf620845ef9',1,'flow::CountedValueViewIterator::operator!=()'],['../classflow_1_1_polymorphic_allocator.html#aef1689a9b79f3750119e25fabf20f3f8',1,'flow::PolymorphicAllocator::operator!=()']]], - ['operator_3c_1',['operator<',['../class_integer_iterator.html#a26dbc105db0ed68c0446e2e612f7f2b8',1,'IntegerIterator']]], - ['operator_3c_3c_2',['operator<<',['../classflow_1_1_debug_class.html#ac9ebd40c457de9d9aad379e360f3e66f',1,'flow::DebugClass']]], - ['operator_3d_3d_3',['operator==',['../classflow_1_1_counted_value_view_iterator.html#ad74bbd8d67a9bf77887a1825d158a94b',1,'flow::CountedValueViewIterator::operator==()'],['../classflow_1_1_polymorphic_allocator.html#a6bc365874bc82309e83d3d2dd28fb5eb',1,'flow::PolymorphicAllocator::operator==()'],['../class_integer_iterator.html#adbc509a5a113d7c505ebed8b9814dca2',1,'IntegerIterator::operator==()']]] + ['swap_0',['swap',['../classflow_1_1_vector.html#acc30803f60627ed546fa47629ef134c1',1,'flow::Vector']]] ]; diff --git a/docs/search/related_3.js b/docs/search/related_3.js deleted file mode 100644 index 26ee273..0000000 --- a/docs/search/related_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['polymorphicallocator_0',['PolymorphicAllocator',['../classflow_1_1_polymorphic_allocator.html#a9de9cf20311e8ddb8e9c9128157f4884',1,'flow::PolymorphicAllocator']]] -]; diff --git a/docs/search/related_4.js b/docs/search/related_4.js deleted file mode 100644 index 8e2fb65..0000000 --- a/docs/search/related_4.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['skiplist_0',['SkipList',['../class_skip_list_1_1_iterator_impl.html#ac126981346d56d95dbdb4f443365265b',1,'SkipList::IteratorImpl']]], - ['swap_1',['swap',['../class_a_v_l_tree.html#a214f70a9ddeb840f55088f7578411adf',1,'AVLTree::swap()'],['../class_binomial_heap.html#a471ccced6b886f7d18948a6840536106',1,'BinomialHeap::swap()'],['../classflow_1_1_vector.html#acc30803f60627ed546fa47629ef134c1',1,'flow::Vector::swap()'],['../class_integer_iterator.html#a9ad91a48d41fa01eba25a31d98db5a8e',1,'IntegerIterator::swap()'],['../class_linked_list.html#a33c26e7e39ec33a37404c620ca73484f',1,'LinkedList::swap()']]] -]; diff --git a/docs/search/searchdata.js b/docs/search/searchdata.js index 4ef5026..53b5172 100644 --- a/docs/search/searchdata.js +++ b/docs/search/searchdata.js @@ -1,15 +1,14 @@ var indexSectionsWithContent = { - 0: "_abcdefghiklmnopqrstuvw~", - 1: "abcdfghilmnprstv", - 2: "bfs", - 3: "abdefilprst", - 4: "abcdefgiklmnopqrstuvw~", - 5: "_abcdghiklmnopqrstv", - 6: "abcdfikprstuv", - 7: "blops", - 8: "ciu", - 9: "g" + 0: "abcdefghimnopqrstuvw~", + 1: "acdfghmnpstv", + 2: "f", + 3: "f", + 4: "abcdefgioprstuvw~", + 5: "abcghimnoqrstv", + 6: "abcdiprstv", + 7: "ops", + 8: "g" }; var indexSectionNames = @@ -22,8 +21,7 @@ var indexSectionNames = 5: "variables", 6: "typedefs", 7: "related", - 8: "defines", - 9: "concepts" + 8: "concepts" }; var indexSectionLabels = @@ -36,7 +34,6 @@ var indexSectionLabels = 5: "Variables", 6: "Typedefs", 7: "Friends", - 8: "Macros", - 9: "Concepts" + 8: "Concepts" }; diff --git a/docs/search/typedefs_2.js b/docs/search/typedefs_2.js index ff3dea1..9e2e24b 100644 --- a/docs/search/typedefs_2.js +++ b/docs/search/typedefs_2.js @@ -2,6 +2,5 @@ var searchData= [ ['const_5fiterator_0',['const_iterator',['../classflow_1_1_vector.html#aa4f0dcb2f767deb46994373b482b6a18',1,'flow::Vector']]], ['const_5fpointer_1',['const_pointer',['../classflow_1_1_vector.html#a90e6c66561997c8e87dcf45565b6b444',1,'flow::Vector']]], - ['const_5freference_2',['const_reference',['../classflow_1_1_vector.html#ac10202bb1cc96d8801447779c18d19d2',1,'flow::Vector']]], - ['constiterator_3',['ConstIterator',['../class_linked_list.html#a2b79f60b98c95e481ab2f5e6b407e120',1,'LinkedList::ConstIterator'],['../class_skip_list.html#af16211f5bd5c42c443adeade271720b7',1,'SkipList::ConstIterator']]] + ['const_5freference_2',['const_reference',['../classflow_1_1_vector.html#ac10202bb1cc96d8801447779c18d19d2',1,'flow::Vector']]] ]; diff --git a/docs/search/typedefs_3.js b/docs/search/typedefs_3.js index 9d8eda4..f986004 100644 --- a/docs/search/typedefs_3.js +++ b/docs/search/typedefs_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['difference_5ftype_0',['difference_type',['../classflow_1_1_counted_value_view_iterator.html#ab15d7850ec1d51e9c23b298d79009207',1,'flow::CountedValueViewIterator::difference_type'],['../classflow_1_1_vector.html#ad698ac46b7cd873095875b41509e0a3c',1,'flow::Vector::difference_type'],['../class_integer_iterator.html#a4dc267c256b624c84a6f5922994ba7dc',1,'IntegerIterator::difference_type']]] + ['difference_5ftype_0',['difference_type',['../classflow_1_1_counted_value_view_iterator.html#ab15d7850ec1d51e9c23b298d79009207',1,'flow::CountedValueViewIterator::difference_type'],['../classflow_1_1_vector.html#ad698ac46b7cd873095875b41509e0a3c',1,'flow::Vector::difference_type']]] ]; diff --git a/docs/search/typedefs_4.js b/docs/search/typedefs_4.js index 09e0d46..65a542f 100644 --- a/docs/search/typedefs_4.js +++ b/docs/search/typedefs_4.js @@ -1,5 +1,5 @@ var searchData= [ - ['f32_0',['f32',['../entry_8cpp.html#ad34d88453d37b65a09797bad37f2f527',1,'entry.cpp']]], - ['f64_1',['f64',['../entry_8cpp.html#abc2f107791bd7c1d49ecf0f168c085a3',1,'entry.cpp']]] + ['iterator_0',['iterator',['../classflow_1_1_vector.html#a3133e96d4479ecd0534588a8df0b5eb7',1,'flow::Vector']]], + ['iterator_5fcategory_1',['iterator_category',['../classflow_1_1_counted_value_view_iterator.html#ae3c6ce089aca7af55dbd0ea85d083a0b',1,'flow::CountedValueViewIterator']]] ]; diff --git a/docs/search/typedefs_5.js b/docs/search/typedefs_5.js index b3718ba..5221a36 100644 --- a/docs/search/typedefs_5.js +++ b/docs/search/typedefs_5.js @@ -1,10 +1,4 @@ var searchData= [ - ['i16_0',['i16',['../entry_8cpp.html#aa9061c03e78b5c69a2e90542f956b1b9',1,'entry.cpp']]], - ['i32_1',['i32',['../entry_8cpp.html#aec4a1429cc91fb7ff41599b263c348cc',1,'entry.cpp']]], - ['i64_2',['i64',['../entry_8cpp.html#ae72e52134285dbd83ca4227ec77394a2',1,'entry.cpp']]], - ['i8_3',['i8',['../entry_8cpp.html#a090e14ab721404d80f4404634d5c79cc',1,'entry.cpp']]], - ['iterator_4',['Iterator',['../class_linked_list.html#a90b9243c46e324903cf010de237e5611',1,'LinkedList::Iterator'],['../class_skip_list.html#a42bc1096d9969553bc1995ed143aff13',1,'SkipList::Iterator']]], - ['iterator_5',['iterator',['../classflow_1_1_vector.html#a3133e96d4479ecd0534588a8df0b5eb7',1,'flow::Vector']]], - ['iterator_5fcategory_6',['iterator_category',['../classflow_1_1_counted_value_view_iterator.html#ae3c6ce089aca7af55dbd0ea85d083a0b',1,'flow::CountedValueViewIterator::iterator_category'],['../class_integer_iterator.html#a288069233a58cf1a1be18c36bab66df9',1,'IntegerIterator::iterator_category']]] + ['pointer_0',['pointer',['../classflow_1_1_counted_value_view_iterator.html#a46c830285785216a842c7cb504b56e72',1,'flow::CountedValueViewIterator::pointer'],['../classflow_1_1_vector.html#adc242dbb463beb99e19cb80f9e67e2b0',1,'flow::Vector::pointer']]] ]; diff --git a/docs/search/typedefs_6.js b/docs/search/typedefs_6.js index 6376c01..c4decd9 100644 --- a/docs/search/typedefs_6.js +++ b/docs/search/typedefs_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['keyvaluetype_0',['KeyValueType',['../class_skip_list.html#acbb87b31d514f4ca1613e1521cc56585',1,'SkipList']]] + ['reference_0',['reference',['../classflow_1_1_counted_value_view_iterator.html#a4fffa537ac2693dd8f3258b909575de9',1,'flow::CountedValueViewIterator::reference'],['../classflow_1_1_vector.html#abc2b6c908cb60802eab99fdf9f25b14f',1,'flow::Vector::reference']]] ]; diff --git a/docs/search/typedefs_7.js b/docs/search/typedefs_7.js index e3db4ac..b5db9a2 100644 --- a/docs/search/typedefs_7.js +++ b/docs/search/typedefs_7.js @@ -1,7 +1,4 @@ var searchData= [ - ['pi32_0',['pi32',['../entry_8cpp.html#a7f659c0035c3d1439ff60d68ad7692b9',1,'entry.cpp']]], - ['pi64_1',['pi64',['../entry_8cpp.html#a6e18372eace65469d9b4c96861b23e08',1,'entry.cpp']]], - ['pointer_2',['pointer',['../classflow_1_1_counted_value_view_iterator.html#a46c830285785216a842c7cb504b56e72',1,'flow::CountedValueViewIterator::pointer'],['../classflow_1_1_vector.html#adc242dbb463beb99e19cb80f9e67e2b0',1,'flow::Vector::pointer'],['../class_integer_iterator.html#ae939f25463bcf5397e6762a80b1ab6e9',1,'IntegerIterator::pointer']]], - ['pu64_3',['pu64',['../entry_8cpp.html#af50a13c91da0494684407e754257804d',1,'entry.cpp']]] + ['size_5ftype_0',['size_type',['../classflow_1_1_vector.html#a2181ecd90ff7fce1ff9c8876d8d05b3b',1,'flow::Vector']]] ]; diff --git a/docs/search/typedefs_8.js b/docs/search/typedefs_8.js index b88b78c..70326c2 100644 --- a/docs/search/typedefs_8.js +++ b/docs/search/typedefs_8.js @@ -1,4 +1,4 @@ var searchData= [ - ['reference_0',['reference',['../classflow_1_1_counted_value_view_iterator.html#a4fffa537ac2693dd8f3258b909575de9',1,'flow::CountedValueViewIterator::reference'],['../classflow_1_1_vector.html#abc2b6c908cb60802eab99fdf9f25b14f',1,'flow::Vector::reference'],['../class_integer_iterator.html#a533093c61bc3127614384692e672a60d',1,'IntegerIterator::reference']]] + ['timepoint_0',['TimePoint',['../classflow_1_1_timer.html#aaab2494b84d8f0522aa888c52675b60f',1,'flow::Timer']]] ]; diff --git a/docs/search/typedefs_9.js b/docs/search/typedefs_9.js index b5db9a2..f7daef4 100644 --- a/docs/search/typedefs_9.js +++ b/docs/search/typedefs_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['size_5ftype_0',['size_type',['../classflow_1_1_vector.html#a2181ecd90ff7fce1ff9c8876d8d05b3b',1,'flow::Vector']]] + ['value_5ftype_0',['value_type',['../classflow_1_1_counted_value_view_iterator.html#acaef28f35bd304c4e561f6ec4aea2d00',1,'flow::CountedValueViewIterator::value_type'],['../classflow_1_1_polymorphic_allocator.html#a9856518e727c58c747d28b25701bd8c1',1,'flow::PolymorphicAllocator::value_type'],['../classflow_1_1_vector.html#ad2d841f6f75875ad349b649648c9528b',1,'flow::Vector::value_type']]] ]; diff --git a/docs/search/typedefs_a.js b/docs/search/typedefs_a.js deleted file mode 100644 index 70326c2..0000000 --- a/docs/search/typedefs_a.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['timepoint_0',['TimePoint',['../classflow_1_1_timer.html#aaab2494b84d8f0522aa888c52675b60f',1,'flow::Timer']]] -]; diff --git a/docs/search/typedefs_b.js b/docs/search/typedefs_b.js deleted file mode 100644 index ada35c3..0000000 --- a/docs/search/typedefs_b.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['u16_0',['u16',['../entry_8cpp.html#a917e58b0692c2df778a27350534cbfe7',1,'entry.cpp']]], - ['u32_1',['u32',['../entry_8cpp.html#a65cf28726f89e62ccf2f1354bc2716df',1,'entry.cpp']]], - ['u64_2',['u64',['../entry_8cpp.html#a66e1d499241ccae9a18a20a1f4f0590d',1,'entry.cpp']]], - ['u8_3',['u8',['../entry_8cpp.html#a254d32383658e016368673396e7afc1b',1,'entry.cpp']]] -]; diff --git a/docs/search/typedefs_c.js b/docs/search/typedefs_c.js deleted file mode 100644 index b57398c..0000000 --- a/docs/search/typedefs_c.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['value_5ftype_0',['value_type',['../classflow_1_1_counted_value_view_iterator.html#acaef28f35bd304c4e561f6ec4aea2d00',1,'flow::CountedValueViewIterator::value_type'],['../classflow_1_1_polymorphic_allocator.html#a9856518e727c58c747d28b25701bd8c1',1,'flow::PolymorphicAllocator::value_type'],['../classflow_1_1_vector.html#ad2d841f6f75875ad349b649648c9528b',1,'flow::Vector::value_type'],['../class_integer_iterator.html#a8f5f76834019bda2c2f3222f80ac0200',1,'IntegerIterator::value_type']]] -]; diff --git a/docs/search/variables_0.js b/docs/search/variables_0.js index 831235a..9bcda6d 100644 --- a/docs/search/variables_0.js +++ b/docs/search/variables_0.js @@ -1,16 +1,4 @@ var searchData= [ - ['_5f_0',['_',['../entry_8cpp.html#ac09fa47991b07a86112d75ab38c702a2',1,'entry.cpp']]], - ['_5fback_1',['_back',['../class_linked_list.html#a076ece933cdbe7fac882c033b3d72047',1,'LinkedList']]], - ['_5fdata_2',['_data',['../class_binary_heap.html#ada01307e0a8c533621e1d67301721a52',1,'BinaryHeap::_data'],['../class_binomial_heap_1_1_flag_tree.html#a4c72c3a1d0da747536683a945d9689b4',1,'BinomialHeap::FlagTree::_data'],['../class_linked_list_1_1_node.html#a55d55ce4a1941ee648ba6889014ba0e4',1,'LinkedList::Node::_data'],['../class_p_s_d_a.html#a08176d6b45638c9f0fba1c732125b7f0',1,'PSDA::_data'],['../class_sparse_table.html#a4b4ddbdcbadc9111cb6774fb5aa7138c',1,'SparseTable::_data']]], - ['_5ffront_3',['_front',['../class_linked_list.html#a15fbf380d5e1990a6fbf30d311dd8113',1,'LinkedList']]], - ['_5fkeyvalue_4',['_keyValue',['../struct_skip_list_1_1_tower.html#a938e2decb2fdb7c8425d5da4e9248f37',1,'SkipList::Tower']]], - ['_5fleft_5',['_left',['../class_binomial_heap_1_1_flag_tree.html#a71eb330d4c27115b28abfebbe1788349',1,'BinomialHeap::FlagTree']]], - ['_5fnext_6',['_next',['../class_linked_list_1_1_node.html#a84a7f4dc11345f753cdb7547b0437852',1,'LinkedList::Node::_next'],['../struct_skip_list_1_1_node.html#a2d108d51b7fadd47defbeff0fa99919d',1,'SkipList::Node::_next']]], - ['_5fnodes_7',['_nodes',['../struct_skip_list_1_1_tower.html#a183a6b57fb0ad76d9f365b9920bf77a3',1,'SkipList::Tower']]], - ['_5fright_8',['_right',['../class_binomial_heap_1_1_flag_tree.html#a8b4e11d69103b08bcdf97042e0b97938',1,'BinomialHeap::FlagTree']]], - ['_5froot_9',['_root',['../class_skip_list.html#a30db5634b1bda0964c31c6db4f0e4a3d',1,'SkipList']]], - ['_5fsize_10',['_size',['../class_a_v_l_tree.html#a2f05e0a5381c3760cd6372f87e9740fb',1,'AVLTree::_size'],['../class_binomial_heap.html#aa25bc3c594252d3dfcf88062154abe41',1,'BinomialHeap::_size'],['../class_linked_list.html#a144c8a50d337d77b726e9ac10463199c',1,'LinkedList::_size'],['../class_random_meldable_heap.html#a9d2871890447dfff9b911bb69fd48b74',1,'RandomMeldableHeap::_size']]], - ['_5ftrees_11',['_trees',['../class_binomial_heap.html#a8fff9b5c749e1a4207dad31aaa66d613',1,'BinomialHeap']]], - ['_5fvalue_12',['_value',['../class_integer_iterator.html#ae2530e64d82ae3023a172a71904052f0',1,'IntegerIterator']]] + ['allocator_5f_0',['allocator_',['../classflow_1_1_vector.html#ad06c3b5cb971e7dbf7cdba5be93f7f06',1,'flow::Vector']]] ]; diff --git a/docs/search/variables_1.js b/docs/search/variables_1.js index 9bcda6d..d3f0daf 100644 --- a/docs/search/variables_1.js +++ b/docs/search/variables_1.js @@ -1,4 +1,8 @@ var searchData= [ - ['allocator_5f_0',['allocator_',['../classflow_1_1_vector.html#ad06c3b5cb971e7dbf7cdba5be93f7f06',1,'flow::Vector']]] + ['begin_5f_0',['begin_',['../classflow_1_1_timer.html#acbd02d5581f7c9944d26b2af920de561',1,'flow::Timer']]], + ['blockalignment_5f_1',['blockAlignment_',['../classflow_1_1_pool_memory_resource.html#a78edca92b66c6501c24f699bb13090ab',1,'flow::PoolMemoryResource']]], + ['blocked_5f_2',['blocked_',['../classflow_1_1_concurrent_flex_queue.html#af0130ab4a2ff9034c8dd97fbee1fc968',1,'flow::ConcurrentFlexQueue::blocked_'],['../classflow_1_1_concurrent_queue.html#ae41447f6c7b2caafcbfce2533219ad0c',1,'flow::ConcurrentQueue::blocked_']]], + ['blocksize_5f_3',['blockSize_',['../classflow_1_1_pool_memory_resource.html#ac14d17a1ae812d2f72140249a05f32be',1,'flow::PoolMemoryResource']]], + ['buffer_5f_4',['buffer_',['../classflow_1_1_arena_memory_resource.html#a2d283fc7e546c911ffa7869a23671ad8',1,'flow::ArenaMemoryResource::buffer_'],['../classflow_1_1_stack_memory_resource.html#a2f4289d48c9ac450dc8f2f44f5c0ef25',1,'flow::StackMemoryResource::buffer_'],['../classflow_1_1_vector.html#a597edff02196a283944224a5464c62a0',1,'flow::Vector::buffer_']]] ]; diff --git a/docs/search/variables_10.js b/docs/search/variables_10.js deleted file mode 100644 index 3fe74b5..0000000 --- a/docs/search/variables_10.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['sets_5f_0',['sets_',['../class_disjoint_set.html#a614a37acdf7dcdd6b8e38786e9eddb58',1,'DisjointSet']]], - ['size_5f_1',['size_',['../classflow_1_1_vector.html#a6205cfde685f45023d7f26941997a3ee',1,'flow::Vector']]] -]; diff --git a/docs/search/variables_11.js b/docs/search/variables_11.js deleted file mode 100644 index faf9e2f..0000000 --- a/docs/search/variables_11.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['tail_5f_0',['tail_',['../classflow_1_1_concurrent_flex_queue.html#a40652e3d0f4e7d94a31c1538599ddfe6',1,'flow::ConcurrentFlexQueue']]], - ['tailmux_5f_1',['tailMux_',['../classflow_1_1_concurrent_flex_queue.html#a547f5e0441bc2eb9420b3880c239d22e',1,'flow::ConcurrentFlexQueue']]], - ['timepoints_5f_2',['timepoints_',['../classflow_1_1_timer.html#a561f3b246b164cafaa2e7e8e9e99d230',1,'flow::Timer']]], - ['tower_3',['tower',['../class_skip_list_1_1_iterator_impl.html#a314bb1dc8b3e57380fc6c684164c960e',1,'SkipList::IteratorImpl']]], - ['tree_5f_4',['tree_',['../class_segment_tree.html#a0d3df3fccc12b274e96439b6992b4c35',1,'SegmentTree']]] -]; diff --git a/docs/search/variables_12.js b/docs/search/variables_12.js deleted file mode 100644 index 01f49c7..0000000 --- a/docs/search/variables_12.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['val_5f_0',['val_',['../struct_random_meldable_heap_1_1_node.html#af5ca5a8516677e96e6d7282d7778b9c8',1,'RandomMeldableHeap::Node']]], - ['value_1',['value',['../structflow_1_1_concurrent_flex_queue_1_1_node.html#aaa0bd7f3414ed819e8af4e71e1fb99f1',1,'flow::ConcurrentFlexQueue::Node']]], - ['value_5f_2',['value_',['../classflow_1_1_counted_value_view_iterator.html#afe83d60be27bae44aeaf8df0b1daf17a',1,'flow::CountedValueViewIterator::value_'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#ae7bb027da9f28e7ea61c06ba37d322ab',1,'flow::Tuple< T, Ts... >::value_']]] -]; diff --git a/docs/search/variables_2.js b/docs/search/variables_2.js index 95b65a8..68e27bd 100644 --- a/docs/search/variables_2.js +++ b/docs/search/variables_2.js @@ -1,9 +1,7 @@ var searchData= [ - ['balance_5ffactor_5f_0',['balance_factor_',['../class_a_v_l_tree_1_1_node.html#a1da64d7cfc1dc9962513832073fa9177',1,'AVLTree::Node']]], - ['begin_5f_1',['begin_',['../classflow_1_1_timer.html#acbd02d5581f7c9944d26b2af920de561',1,'flow::Timer']]], - ['blockalignment_5f_2',['blockAlignment_',['../classflow_1_1_pool_memory_resource.html#a78edca92b66c6501c24f699bb13090ab',1,'flow::PoolMemoryResource']]], - ['blocked_5f_3',['blocked_',['../classflow_1_1_concurrent_flex_queue.html#af0130ab4a2ff9034c8dd97fbee1fc968',1,'flow::ConcurrentFlexQueue::blocked_'],['../classflow_1_1_concurrent_queue.html#ae41447f6c7b2caafcbfce2533219ad0c',1,'flow::ConcurrentQueue::blocked_']]], - ['blocksize_5f_4',['blockSize_',['../classflow_1_1_pool_memory_resource.html#ac14d17a1ae812d2f72140249a05f32be',1,'flow::PoolMemoryResource']]], - ['buffer_5f_5',['buffer_',['../classflow_1_1_arena_memory_resource.html#a2d283fc7e546c911ffa7869a23671ad8',1,'flow::ArenaMemoryResource::buffer_'],['../classflow_1_1_stack_memory_resource.html#a2f4289d48c9ac450dc8f2f44f5c0ef25',1,'flow::StackMemoryResource::buffer_'],['../classflow_1_1_vector.html#a597edff02196a283944224a5464c62a0',1,'flow::Vector::buffer_']]] + ['capacity_5f_0',['capacity_',['../classflow_1_1_arena_memory_resource.html#a7ce070e3a7a006cb5a48223788109ec8',1,'flow::ArenaMemoryResource::capacity_'],['../classflow_1_1_stack_memory_resource.html#ad4add4a5c15fafb57478f030146d4e91',1,'flow::StackMemoryResource::capacity_'],['../classflow_1_1_vector.html#ac2b41594b3b91f858c9c429ef98f4ae0',1,'flow::Vector::capacity_']]], + ['copies_5f_1',['copies_',['../classflow_1_1_debug_class.html#a741bd5a98db4e7cae036ac8148fdf0df',1,'flow::DebugClass']]], + ['copycounter_5f_2',['copyCounter_',['../classflow_1_1_debug_class.html#ae52bd2c39871159b4c0f89aca547c2a7',1,'flow::DebugClass']]], + ['count_5f_3',['count_',['../classflow_1_1_counted_value_view_iterator.html#afa83583c08318439349f6b901aee9b78',1,'flow::CountedValueViewIterator']]] ]; diff --git a/docs/search/variables_3.js b/docs/search/variables_3.js index 39711da..235ba66 100644 --- a/docs/search/variables_3.js +++ b/docs/search/variables_3.js @@ -1,9 +1,5 @@ var searchData= [ - ['capacity_5f_0',['capacity_',['../classflow_1_1_arena_memory_resource.html#a7ce070e3a7a006cb5a48223788109ec8',1,'flow::ArenaMemoryResource::capacity_'],['../classflow_1_1_stack_memory_resource.html#ad4add4a5c15fafb57478f030146d4e91',1,'flow::StackMemoryResource::capacity_'],['../classflow_1_1_vector.html#ac2b41594b3b91f858c9c429ef98f4ae0',1,'flow::Vector::capacity_']]], - ['child_5f_1',['child_',['../class_trie_1_1_node.html#a5d6bcd5a59d9ddd60924c8694925cf1b',1,'Trie::Node']]], - ['comp_2',['comp',['../class_skip_list.html#ad107b551a4abbdd19c796aa268192d7f',1,'SkipList']]], - ['copies_5f_3',['copies_',['../classflow_1_1_debug_class.html#a741bd5a98db4e7cae036ac8148fdf0df',1,'flow::DebugClass']]], - ['copycounter_5f_4',['copyCounter_',['../classflow_1_1_debug_class.html#ae52bd2c39871159b4c0f89aca547c2a7',1,'flow::DebugClass']]], - ['count_5f_5',['count_',['../classflow_1_1_counted_value_view_iterator.html#afa83583c08318439349f6b901aee9b78',1,'flow::CountedValueViewIterator']]] + ['globalid_0',['globalId',['../classflow_1_1_debug_class.html#aa914f20c66eb15c818bbe0fb2df89b9e',1,'flow::DebugClass']]], + ['growthstrategy_5f_1',['growthStrategy_',['../classflow_1_1_vector.html#a6194e8a003c84766b0e07ab59129fd60',1,'flow::Vector']]] ]; diff --git a/docs/search/variables_4.js b/docs/search/variables_4.js index 8773b2d..815650d 100644 --- a/docs/search/variables_4.js +++ b/docs/search/variables_4.js @@ -1,5 +1,5 @@ var searchData= [ - ['data_0',['data',['../struct_disjoint_set_1_1_set.html#a79a8aaa8f02f5c36405cf5dd1cc9d114',1,'DisjointSet::Set']]], - ['dis_1',['dis',['../class_random_meldable_heap.html#a2c150211e88d08d139abcc899849c615',1,'RandomMeldableHeap']]] + ['head_5f_0',['head_',['../classflow_1_1_concurrent_flex_queue.html#a1165f772dc6966274d0cdc8f3fcb562c',1,'flow::ConcurrentFlexQueue::head_'],['../classflow_1_1_pool_memory_resource.html#a06a3832bb9d9708ee001638ad8690c65',1,'flow::PoolMemoryResource::head_']]], + ['headmux_5f_1',['headMux_',['../classflow_1_1_concurrent_flex_queue.html#ab888996320d668f06c398d2e886278bc',1,'flow::ConcurrentFlexQueue']]] ]; diff --git a/docs/search/variables_5.js b/docs/search/variables_5.js index 235ba66..3d2fad5 100644 --- a/docs/search/variables_5.js +++ b/docs/search/variables_5.js @@ -1,5 +1,4 @@ var searchData= [ - ['globalid_0',['globalId',['../classflow_1_1_debug_class.html#aa914f20c66eb15c818bbe0fb2df89b9e',1,'flow::DebugClass']]], - ['growthstrategy_5f_1',['growthStrategy_',['../classflow_1_1_vector.html#a6194e8a003c84766b0e07ab59129fd60',1,'flow::Vector']]] + ['id_5f_0',['id_',['../classflow_1_1_debug_class.html#ac375c9dca9062cebadebc94198dc1996',1,'flow::DebugClass']]] ]; diff --git a/docs/search/variables_6.js b/docs/search/variables_6.js index 8b30267..052c3b2 100644 --- a/docs/search/variables_6.js +++ b/docs/search/variables_6.js @@ -1,6 +1,4 @@ var searchData= [ - ['head_5f_0',['head_',['../classflow_1_1_concurrent_flex_queue.html#a1165f772dc6966274d0cdc8f3fcb562c',1,'flow::ConcurrentFlexQueue::head_'],['../classflow_1_1_pool_memory_resource.html#a06a3832bb9d9708ee001638ad8690c65',1,'flow::PoolMemoryResource::head_']]], - ['headmux_5f_1',['headMux_',['../classflow_1_1_concurrent_flex_queue.html#ab888996320d668f06c398d2e886278bc',1,'flow::ConcurrentFlexQueue']]], - ['height_5f_2',['height_',['../class_a_v_l_tree_1_1_node.html#a6bbd64aa1a0493812ea898bb132ee975',1,'AVLTree::Node']]] + ['mux_5f_0',['mux_',['../classflow_1_1_concurrent_queue.html#a3f443bd583da922327024612530e33ea',1,'flow::ConcurrentQueue']]] ]; diff --git a/docs/search/variables_7.js b/docs/search/variables_7.js index 9c4bb13..520de8d 100644 --- a/docs/search/variables_7.js +++ b/docs/search/variables_7.js @@ -1,5 +1,6 @@ var searchData= [ - ['id_5f_0',['id_',['../classflow_1_1_debug_class.html#ac375c9dca9062cebadebc94198dc1996',1,'flow::DebugClass']]], - ['is_5fend_5f_1',['is_end_',['../class_trie_1_1_node.html#a7a3e7fccbb0c2f098da866a2f4517e57',1,'Trie::Node']]] + ['n1_0',['n1',['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a4afa8328128602deb9ea79a34a2e4590',1,'flow::VectorGrowthStrategy::FibonacciExpand']]], + ['n2_1',['n2',['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a5991646915b6f3701053d41556394e06',1,'flow::VectorGrowthStrategy::FibonacciExpand']]], + ['next_2',['next',['../structflow_1_1_concurrent_flex_queue_1_1_node.html#aee6686d5a1482935fc4397adfdc54721',1,'flow::ConcurrentFlexQueue::Node::next'],['../structflow_1_1_pool_memory_resource_1_1_header.html#ae67fd9d5f52747e2b0670519f971aa72',1,'flow::PoolMemoryResource::Header::next']]] ]; diff --git a/docs/search/variables_8.js b/docs/search/variables_8.js index 220c435..e1999af 100644 --- a/docs/search/variables_8.js +++ b/docs/search/variables_8.js @@ -1,9 +1,4 @@ var searchData= [ - ['kdx_0',['kDx',['../entry_8cpp.html#a7b694a75ff447e1f9de4c034dd6f6c45',1,'entry.cpp']]], - ['kdy_1',['kDy',['../entry_8cpp.html#a72aa87788a81217aa01baec3274ab9ea',1,'entry.cpp']]], - ['key_5f_2',['key_',['../class_a_v_l_tree_1_1_node.html#a08e132ea53e44650f1008270e55eadca',1,'AVLTree::Node']]], - ['kmod_3',['kMod',['../entry_8cpp.html#a7bd47470ea83b5e8ffd35364a4cc6089',1,'entry.cpp']]], - ['kpi_4',['kPI',['../entry_8cpp.html#a53d416bb2597358966c72d41c768caa8',1,'entry.cpp']]], - ['kprimes_5',['kPrimes',['../entry_8cpp.html#acffcbd3ff75ad5ede4ed67cfac03e397',1,'entry.cpp']]] + ['oldbuffer_0',['oldBuffer',['../structflow_1_1_stack_memory_resource_1_1_header.html#af7da697f584166308e1383ffd1970e91',1,'flow::StackMemoryResource::Header']]] ]; diff --git a/docs/search/variables_9.js b/docs/search/variables_9.js index 0a2075e..57bd0e7 100644 --- a/docs/search/variables_9.js +++ b/docs/search/variables_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['left_5f_0',['left_',['../class_a_v_l_tree_1_1_node.html#a10d0c2a63153624ca13f299a0563debd',1,'AVLTree::Node::left_'],['../struct_random_meldable_heap_1_1_node.html#a8ecf0ab2baa2478971ee84c5a64f0332',1,'RandomMeldableHeap::Node::left_']]] + ['queue_5f_0',['queue_',['../classflow_1_1_concurrent_queue.html#ac343336ca09c2e09f85c0f17addc1010',1,'flow::ConcurrentQueue']]] ]; diff --git a/docs/search/variables_a.js b/docs/search/variables_a.js index 052c3b2..10c4cb5 100644 --- a/docs/search/variables_a.js +++ b/docs/search/variables_a.js @@ -1,4 +1,4 @@ var searchData= [ - ['mux_5f_0',['mux_',['../classflow_1_1_concurrent_queue.html#a3f443bd583da922327024612530e33ea',1,'flow::ConcurrentQueue']]] + ['resource_5f_0',['resource_',['../classflow_1_1_polymorphic_allocator.html#a15d7aac64ac85004897b094b38ca73bd',1,'flow::PolymorphicAllocator']]] ]; diff --git a/docs/search/variables_b.js b/docs/search/variables_b.js index 46ac568..8bcdb01 100644 --- a/docs/search/variables_b.js +++ b/docs/search/variables_b.js @@ -1,7 +1,4 @@ var searchData= [ - ['n1_0',['n1',['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a4afa8328128602deb9ea79a34a2e4590',1,'flow::VectorGrowthStrategy::FibonacciExpand']]], - ['n2_1',['n2',['../structflow_1_1_vector_growth_strategy_1_1_fibonacci_expand.html#a5991646915b6f3701053d41556394e06',1,'flow::VectorGrowthStrategy::FibonacciExpand']]], - ['next_2',['next',['../structflow_1_1_concurrent_flex_queue_1_1_node.html#aee6686d5a1482935fc4397adfdc54721',1,'flow::ConcurrentFlexQueue::Node::next'],['../structflow_1_1_pool_memory_resource_1_1_header.html#ae67fd9d5f52747e2b0670519f971aa72',1,'flow::PoolMemoryResource::Header::next']]], - ['node_5f_3',['node_',['../class_linked_list_1_1_iterator_impl.html#a8f601c8fff3763ccb9ef86c9ddf472ea',1,'LinkedList::IteratorImpl']]] + ['size_5f_0',['size_',['../classflow_1_1_vector.html#a6205cfde685f45023d7f26941997a3ee',1,'flow::Vector']]] ]; diff --git a/docs/search/variables_c.js b/docs/search/variables_c.js index e1999af..c52f022 100644 --- a/docs/search/variables_c.js +++ b/docs/search/variables_c.js @@ -1,4 +1,6 @@ var searchData= [ - ['oldbuffer_0',['oldBuffer',['../structflow_1_1_stack_memory_resource_1_1_header.html#af7da697f584166308e1383ffd1970e91',1,'flow::StackMemoryResource::Header']]] + ['tail_5f_0',['tail_',['../classflow_1_1_concurrent_flex_queue.html#a40652e3d0f4e7d94a31c1538599ddfe6',1,'flow::ConcurrentFlexQueue']]], + ['tailmux_5f_1',['tailMux_',['../classflow_1_1_concurrent_flex_queue.html#a547f5e0441bc2eb9420b3880c239d22e',1,'flow::ConcurrentFlexQueue']]], + ['timepoints_5f_2',['timepoints_',['../classflow_1_1_timer.html#a561f3b246b164cafaa2e7e8e9e99d230',1,'flow::Timer']]] ]; diff --git a/docs/search/variables_d.js b/docs/search/variables_d.js index 5018f7b..af86099 100644 --- a/docs/search/variables_d.js +++ b/docs/search/variables_d.js @@ -1,4 +1,5 @@ var searchData= [ - ['parent_0',['parent',['../struct_disjoint_set_1_1_set.html#abd6835245742febe661bf66089e9f72b',1,'DisjointSet::Set']]] + ['value_0',['value',['../structflow_1_1_concurrent_flex_queue_1_1_node.html#aaa0bd7f3414ed819e8af4e71e1fb99f1',1,'flow::ConcurrentFlexQueue::Node']]], + ['value_5f_1',['value_',['../classflow_1_1_counted_value_view_iterator.html#afe83d60be27bae44aeaf8df0b1daf17a',1,'flow::CountedValueViewIterator::value_'],['../classflow_1_1_tuple_3_01_t_00_01_ts_8_8_8_01_4.html#ae7bb027da9f28e7ea61c06ba37d322ab',1,'flow::Tuple< T, Ts... >::value_']]] ]; diff --git a/docs/search/variables_e.js b/docs/search/variables_e.js deleted file mode 100644 index 57bd0e7..0000000 --- a/docs/search/variables_e.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['queue_5f_0',['queue_',['../classflow_1_1_concurrent_queue.html#ac343336ca09c2e09f85c0f17addc1010',1,'flow::ConcurrentQueue']]] -]; diff --git a/docs/search/variables_f.js b/docs/search/variables_f.js deleted file mode 100644 index c90c0bd..0000000 --- a/docs/search/variables_f.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['rank_0',['rank',['../struct_disjoint_set_1_1_set.html#a1fc19bf3f8e8d2c857535aa9431aee02',1,'DisjointSet::Set']]], - ['rd_1',['rd',['../class_random_meldable_heap.html#ac37595274c6b3411f04d8d036897802a',1,'RandomMeldableHeap']]], - ['resource_5f_2',['resource_',['../classflow_1_1_polymorphic_allocator.html#a15d7aac64ac85004897b094b38ca73bd',1,'flow::PolymorphicAllocator']]], - ['right_5f_3',['right_',['../class_a_v_l_tree_1_1_node.html#aaf41210fa129c3927ed9a5e6a9b1f7c6',1,'AVLTree::Node::right_'],['../struct_random_meldable_heap_1_1_node.html#a6eb0c3207a4cd936a18585e46a33a14c',1,'RandomMeldableHeap::Node::right_']]], - ['root_5f_4',['root_',['../class_a_v_l_tree.html#aaf0aba7baf43d7b839f247904c12da25',1,'AVLTree::root_'],['../class_random_meldable_heap.html#a7de71ae18404036c7cc348464ea25f5f',1,'RandomMeldableHeap::root_'],['../class_trie.html#a03d741ca549f30e7f5889ccaa6b083bd',1,'Trie::root_']]] -]; diff --git a/docs/struct_disjoint_set_1_1_set-members.html b/docs/struct_disjoint_set_1_1_set-members.html deleted file mode 100644 index 0971452..0000000 --- a/docs/struct_disjoint_set_1_1_set-members.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
        -
        - - - - - - -
        -
        Flow -
        -
        Documentation for the Flow C++ Library
        -
        -
        - - - - - - - - -
        -
        - -
        -
        -
        - -
        -
        - -
        -
        - - -
        -
        -
        -
        -
        -
        Loading...
        -
        Searching...
        -
        No Matches
        -
        -
        -
        -
        - -
        -
        DisjointSet< T >::Set Member List
        -
        -
        - -

        This is the complete list of members for DisjointSet< T >::Set, including all inherited members.

        - - - - -
        dataDisjointSet< T >::Set
        parentDisjointSet< T >::Set
        rankDisjointSet< T >::Set
        -
        -
        - - - - diff --git a/docs/struct_disjoint_set_1_1_set.html b/docs/struct_disjoint_set_1_1_set.html deleted file mode 100644 index 526303e..0000000 --- a/docs/struct_disjoint_set_1_1_set.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -Flow: DisjointSet< T >::Set Struct Reference - - - - - - - - - - - - - - -
        -
        - - - - - - -
        -
        Flow -
        -
        Documentation for the Flow C++ Library
        -
        -
        - - - - - - - - -
        -
        - -
        -
        -
        - -
        -
        - -
        -
        - - -
        -
        -
        -
        -
        -
        Loading...
        -
        Searching...
        -
        No Matches
        -
        -
        -
        -
        - -
        -
        DisjointSet< T >::Set Struct Reference
        -
        -
        - - - - - -

        -Public Attributes

        int parent
        int rank
        data
        -

        Detailed Description

        -
        template<typename T>
        -struct DisjointSet< T >::Set
        -

        Definition at line 7 of file DisjointSet.h.

        -

        Member Data Documentation

        - -

        ◆ data

        - -
        -
        -
        -template<typename T>
        - - - - -
        T DisjointSet< T >::Set::data
        -
        - -

        Definition at line 11 of file DisjointSet.h.

        - -
        -
        - -

        ◆ parent

        - -
        -
        -
        -template<typename T>
        - - - - -
        int DisjointSet< T >::Set::parent
        -
        - -

        Definition at line 9 of file DisjointSet.h.

        - -

        Referenced by DisjointSet< T >::Find().

        - -
        -
        - -

        ◆ rank

        - -
        -
        -
        -template<typename T>
        - - - - -
        int DisjointSet< T >::Set::rank
        -
        - -

        Definition at line 10 of file DisjointSet.h.

        - -
        -
        -
        The documentation for this struct was generated from the following file: -
        -
        - -
        - - - - diff --git a/docs/struct_disjoint_set_1_1_set.js b/docs/struct_disjoint_set_1_1_set.js deleted file mode 100644 index 61a37a2..0000000 --- a/docs/struct_disjoint_set_1_1_set.js +++ /dev/null @@ -1,6 +0,0 @@ -var struct_disjoint_set_1_1_set = -[ - [ "data", "struct_disjoint_set_1_1_set.html#a79a8aaa8f02f5c36405cf5dd1cc9d114", null ], - [ "parent", "struct_disjoint_set_1_1_set.html#abd6835245742febe661bf66089e9f72b", null ], - [ "rank", "struct_disjoint_set_1_1_set.html#a1fc19bf3f8e8d2c857535aa9431aee02", null ] -]; \ No newline at end of file diff --git a/docs/struct_random_meldable_heap_1_1_node-members.html b/docs/struct_random_meldable_heap_1_1_node-members.html deleted file mode 100644 index 3fcaf1d..0000000 --- a/docs/struct_random_meldable_heap_1_1_node-members.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
        -
        - - - - - - -
        -
        Flow -
        -
        Documentation for the Flow C++ Library
        -
        -
        - - - - - - - - -
        -
        - -
        -
        -
        - -
        -
        - -
        -
        - - -
        -
        -
        -
        -
        -
        Loading...
        -
        Searching...
        -
        No Matches
        -
        -
        -
        -
        - -
        -
        RandomMeldableHeap< T, Predicate >::Node Member List
        -
        - -
        -
        - - - - diff --git a/docs/struct_random_meldable_heap_1_1_node.html b/docs/struct_random_meldable_heap_1_1_node.html deleted file mode 100644 index 6c8b6ce..0000000 --- a/docs/struct_random_meldable_heap_1_1_node.html +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - -Flow: RandomMeldableHeap< T, Predicate >::Node Struct Reference - - - - - - - - - - - - - - -
        -
        - - - - - - -
        -
        Flow -
        -
        Documentation for the Flow C++ Library
        -
        -
        - - - - - - - - -
        -
        - -
        -
        -
        - -
        -
        - -
        -
        - - -
        -
        -
        -
        -
        -
        Loading...
        -
        Searching...
        -
        No Matches
        -
        -
        -
        -
        - -
        -
        RandomMeldableHeap< T, Predicate >::Node Struct Reference
        -
        -
        - - - - - - - - -

        -Public Member Functions

         Node (T &&val)
         Node (const Node &)=delete
         Node (Node &&)=delete
        Nodeoperator= (const Node &)=delete
        Nodeoperator= (Node &&)=delete
         ~Node ()
        - - - - -

        -Public Attributes

        val_
        Nodeleft_
        Noderight_
        -

        Detailed Description

        -
        template<typename T, typename Predicate = std::greater<T>>
        -struct RandomMeldableHeap< T, Predicate >::Node
        -

        Definition at line 9 of file RandomMeldableHeap.h.

        -

        Constructor & Destructor Documentation

        - -

        ◆ Node() [1/3]

        - -
        -
        -
        -template<typename T, typename Predicate = std::greater<T>>
        - - - - - -
        - - - - - - - -
        RandomMeldableHeap< T, Predicate >::Node::Node (T && val)
        -
        -inline
        -
        -
        - -

        ◆ Node() [2/3]

        - -
        -
        -
        -template<typename T, typename Predicate = std::greater<T>>
        - - - - - -
        - - - - - - - -
        RandomMeldableHeap< T, Predicate >::Node::Node (const Node & )
        -
        -delete
        -
        - -

        References Node().

        - -
        -
        - -

        ◆ Node() [3/3]

        - -
        -
        -
        -template<typename T, typename Predicate = std::greater<T>>
        - - - - - -
        - - - - - - - -
        RandomMeldableHeap< T, Predicate >::Node::Node (Node && )
        -
        -delete
        -
        - -

        References Node().

        - -
        -
        - -

        ◆ ~Node()

        - -
        -
        -
        -template<typename T, typename Predicate = std::greater<T>>
        - - - - - -
        - - - - - - - -
        RandomMeldableHeap< T, Predicate >::Node::~Node ()
        -
        -inline
        -
        - -

        Definition at line 19 of file RandomMeldableHeap.h.

        -
        19 {
        -
        20 delete left_;
        -
        21 delete right_;
        -
        22 }
        -
        -

        References left_, and right_.

        - -
        -
        -

        Member Function Documentation

        - -

        ◆ operator=() [1/2]

        - -
        -
        -
        -template<typename T, typename Predicate = std::greater<T>>
        - - - - - -
        - - - - - - - -
        Node & RandomMeldableHeap< T, Predicate >::Node::operator= (const Node & )
        -
        -delete
        -
        - -

        References Node().

        - -
        -
        - -

        ◆ operator=() [2/2]

        - -
        -
        -
        -template<typename T, typename Predicate = std::greater<T>>
        - - - - - -
        - - - - - - - -
        Node & RandomMeldableHeap< T, Predicate >::Node::operator= (Node && )
        -
        -delete
        -
        - -

        References Node().

        - -
        -
        -

        Member Data Documentation

        - -

        ◆ left_

        - -
        -
        -
        -template<typename T, typename Predicate = std::greater<T>>
        - - - - -
        Node* RandomMeldableHeap< T, Predicate >::Node::left_
        -
        -
        - -

        ◆ right_

        - -
        -
        -
        -template<typename T, typename Predicate = std::greater<T>>
        - - - - -
        Node* RandomMeldableHeap< T, Predicate >::Node::right_
        -
        -
        - -

        ◆ val_

        - -
        -
        -
        -template<typename T, typename Predicate = std::greater<T>>
        - - - - -
        T RandomMeldableHeap< T, Predicate >::Node::val_
        -
        - -

        Definition at line 10 of file RandomMeldableHeap.h.

        - -

        Referenced by RandomMeldableHeap< T, Predicate >::MergeRoots(), and Node().

        - -
        -
        -
        The documentation for this struct was generated from the following file: -
        -
        - -
        - - - - diff --git a/docs/struct_random_meldable_heap_1_1_node.js b/docs/struct_random_meldable_heap_1_1_node.js deleted file mode 100644 index fc295cc..0000000 --- a/docs/struct_random_meldable_heap_1_1_node.js +++ /dev/null @@ -1,12 +0,0 @@ -var struct_random_meldable_heap_1_1_node = -[ - [ "Node", "struct_random_meldable_heap_1_1_node.html#af096c21cc83e5e7214ae6eadc39c3ac4", null ], - [ "Node", "struct_random_meldable_heap_1_1_node.html#aefe2d59c7563a763415268bf1ee29c9e", null ], - [ "Node", "struct_random_meldable_heap_1_1_node.html#afaaac34fda2ccc06f20bcf49d591fd53", null ], - [ "~Node", "struct_random_meldable_heap_1_1_node.html#adf1fd57b99e9e5d2ac67a5b0579ccf65", null ], - [ "operator=", "struct_random_meldable_heap_1_1_node.html#a136a7758d3d171d495f04fed09d097a7", null ], - [ "operator=", "struct_random_meldable_heap_1_1_node.html#a0ad0a7fa003f5e6a25f05692ec1c4b58", null ], - [ "left_", "struct_random_meldable_heap_1_1_node.html#a8ecf0ab2baa2478971ee84c5a64f0332", null ], - [ "right_", "struct_random_meldable_heap_1_1_node.html#a6eb0c3207a4cd936a18585e46a33a14c", null ], - [ "val_", "struct_random_meldable_heap_1_1_node.html#af5ca5a8516677e96e6d7282d7778b9c8", null ] -]; \ No newline at end of file diff --git a/docs/struct_skip_list_1_1_node-members.html b/docs/struct_skip_list_1_1_node-members.html deleted file mode 100644 index dcf3ab6..0000000 --- a/docs/struct_skip_list_1_1_node-members.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
        -
        - - - - - - -
        -
        Flow -
        -
        Documentation for the Flow C++ Library
        -
        -
        - - - - - - - - -
        -
        - -
        -
        -
        - -
        -
        - -
        -
        - - -
        -
        -
        -
        -
        -
        Loading...
        -
        Searching...
        -
        No Matches
        -
        -
        -
        -
        - -
        -
        SkipList< KeyType, ValueType, Predicate >::Node Member List
        -
        - -
        -
        - - - - diff --git a/docs/struct_skip_list_1_1_node.html b/docs/struct_skip_list_1_1_node.html deleted file mode 100644 index a53e156..0000000 --- a/docs/struct_skip_list_1_1_node.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -Flow: SkipList< KeyType, ValueType, Predicate >::Node Struct Reference - - - - - - - - - - - - - - -
        -
        - - - - - - -
        -
        Flow -
        -
        Documentation for the Flow C++ Library
        -
        -
        - - - - - - - - -
        -
        - -
        -
        -
        - -
        -
        - -
        -
        - - -
        -
        -
        -
        -
        -
        Loading...
        -
        Searching...
        -
        No Matches
        -
        -
        -
        -
        - -
        -
        SkipList< KeyType, ValueType, Predicate >::Node Struct Reference
        -
        -
        - - - -

        -Public Member Functions

         Node ()
        - - -

        -Public Attributes

        Tower_next
        -

        Detailed Description

        -
        template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
        -struct SkipList< KeyType, ValueType, Predicate >::Node
        -

        Definition at line 17 of file SkipList.h.

        -

        Constructor & Destructor Documentation

        - -

        ◆ Node()

        - -
        -
        -
        -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
        - - - - - -
        - - - - - - - -
        SkipList< KeyType, ValueType, Predicate >::Node::Node ()
        -
        -inline
        -
        - -

        Definition at line 19 of file SkipList.h.

        -
        19: _next(nullptr) {}
        -
        Tower * _next
        Definition SkipList.h:18
        -
        -

        References _next.

        - -
        -
        -

        Member Data Documentation

        - -

        ◆ _next

        - -
        -
        -
        -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
        - - - - -
        Tower* SkipList< KeyType, ValueType, Predicate >::Node::_next
        -
        -
        -
        The documentation for this struct was generated from the following file: -
        -
        - -
        - - - - diff --git a/docs/struct_skip_list_1_1_node.js b/docs/struct_skip_list_1_1_node.js deleted file mode 100644 index 2d2ae97..0000000 --- a/docs/struct_skip_list_1_1_node.js +++ /dev/null @@ -1,5 +0,0 @@ -var struct_skip_list_1_1_node = -[ - [ "Node", "struct_skip_list_1_1_node.html#ade37757eb1ac96054e9658270c08951d", null ], - [ "_next", "struct_skip_list_1_1_node.html#a2d108d51b7fadd47defbeff0fa99919d", null ] -]; \ No newline at end of file diff --git a/docs/struct_skip_list_1_1_tower-members.html b/docs/struct_skip_list_1_1_tower-members.html deleted file mode 100644 index a2b1f93..0000000 --- a/docs/struct_skip_list_1_1_tower-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
        -
        - - - - - - -
        -
        Flow -
        -
        Documentation for the Flow C++ Library
        -
        -
        - - - - - - - - -
        -
        - -
        -
        -
        - -
        -
        - -
        -
        - - -
        -
        -
        -
        -
        -
        Loading...
        -
        Searching...
        -
        No Matches
        -
        -
        -
        -
        - -
        -
        SkipList< KeyType, ValueType, Predicate >::Tower Member List
        -
        - -
        -
        - - - - diff --git a/docs/struct_skip_list_1_1_tower.html b/docs/struct_skip_list_1_1_tower.html deleted file mode 100644 index ff2cd04..0000000 --- a/docs/struct_skip_list_1_1_tower.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -Flow: SkipList< KeyType, ValueType, Predicate >::Tower Struct Reference - - - - - - - - - - - - - - -
        -
        - - - - - - -
        -
        Flow -
        -
        Documentation for the Flow C++ Library
        -
        -
        - - - - - - - - -
        -
        - -
        -
        -
        - -
        -
        - -
        -
        - - -
        -
        -
        -
        -
        -
        Loading...
        -
        Searching...
        -
        No Matches
        -
        -
        -
        -
        - -
        -
        SkipList< KeyType, ValueType, Predicate >::Tower Struct Reference
        -
        -
        - - - - - - -

        -Public Member Functions

         Tower ()
         Tower (const KeyValueType &keyValue)
        const KeyType & Key ()
        ValueType & Value ()
        - - - -

        -Public Attributes

        std::optional< KeyValueType_keyValue
        std::vector< Node_nodes
        -

        Detailed Description

        -
        template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
        -struct SkipList< KeyType, ValueType, Predicate >::Tower
        -

        Definition at line 22 of file SkipList.h.

        -

        Constructor & Destructor Documentation

        - -

        ◆ Tower() [1/2]

        - -
        -
        -
        -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
        - - - - - -
        - - - - - - - -
        SkipList< KeyType, ValueType, Predicate >::Tower::Tower ()
        -
        -inline
        -
        - -

        Definition at line 26 of file SkipList.h.

        -
        26: _keyValue(), _nodes(1) {}
        -
        std::vector< Node > _nodes
        Definition SkipList.h:24
        -
        std::optional< KeyValueType > _keyValue
        Definition SkipList.h:23
        -
        -

        References _keyValue, and _nodes.

        - -
        -
        - -

        ◆ Tower() [2/2]

        - -
        -
        -
        -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
        - - - - - -
        - - - - - - - -
        SkipList< KeyType, ValueType, Predicate >::Tower::Tower (const KeyValueType & keyValue)
        -
        -inline
        -
        - -

        Definition at line 28 of file SkipList.h.

        -
        - -
        30 static std::bernoulli_distribution dist(1.0 / 2.71828182846); // 1/e
        -
        31 int size = 1;
        -
        32 while (dist(engine)) {
        -
        33 ++size;
        -
        34 }
        -
        35 _nodes.resize(size);
        -
        36 }
        - -
        -

        References _keyValue, and _nodes.

        - -
        -
        -

        Member Function Documentation

        - -

        ◆ Key()

        - -
        -
        -
        -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
        - - - - - -
        - - - - - - - -
        const KeyType & SkipList< KeyType, ValueType, Predicate >::Tower::Key ()
        -
        -inline
        -
        -
        - -

        ◆ Value()

        - -
        -
        -
        -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
        - - - - - -
        - - - - - - - -
        ValueType & SkipList< KeyType, ValueType, Predicate >::Tower::Value ()
        -
        -inline
        -
        - -

        Definition at line 42 of file SkipList.h.

        -
        42 {
        -
        43 return _keyValue->second;
        -
        44 }
        -
        -

        References _keyValue.

        - -
        -
        -

        Member Data Documentation

        - -

        ◆ _keyValue

        - -
        -
        -
        -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
        - - - - -
        std::optional<KeyValueType> SkipList< KeyType, ValueType, Predicate >::Tower::_keyValue
        -
        - -

        Definition at line 23 of file SkipList.h.

        - -

        Referenced by Key(), Tower(), Tower(), and Value().

        - -
        -
        - -

        ◆ _nodes

        - -
        -
        -
        -template<typename KeyType, typename ValueType, typename Predicate = std::less<KeyType>>
        - - - - -
        std::vector<Node> SkipList< KeyType, ValueType, Predicate >::Tower::_nodes
        -
        -
        -
        The documentation for this struct was generated from the following file: -
        -
        - -
        - - - - diff --git a/docs/struct_skip_list_1_1_tower.js b/docs/struct_skip_list_1_1_tower.js deleted file mode 100644 index 51265ac..0000000 --- a/docs/struct_skip_list_1_1_tower.js +++ /dev/null @@ -1,9 +0,0 @@ -var struct_skip_list_1_1_tower = -[ - [ "Tower", "struct_skip_list_1_1_tower.html#a0b4838f8410826497e68ef128132f772", null ], - [ "Tower", "struct_skip_list_1_1_tower.html#ad6095deae4ec4d2a3165989b19c620bc", null ], - [ "Key", "struct_skip_list_1_1_tower.html#ad0867cde3875f0d23afc85679e821c13", null ], - [ "Value", "struct_skip_list_1_1_tower.html#aad2c7f8597035157f30c9b1495c1cc50", null ], - [ "_keyValue", "struct_skip_list_1_1_tower.html#a938e2decb2fdb7c8425d5da4e9248f37", null ], - [ "_nodes", "struct_skip_list_1_1_tower.html#a183a6b57fb0ad76d9f365b9920bf77a3", null ] -]; \ No newline at end of file diff --git a/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4-members.html b/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4-members.html deleted file mode 100644 index 345058d..0000000 --- a/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Flow: Member List - - - - - - - - - - - - - - -
        -
        - - - - - - -
        -
        Flow -
        -
        Documentation for the Flow C++ Library
        -
        -
        - - - - - - - - -
        -
        - -
        -
        -
        - -
        -
        - -
        -
        - - -
        -
        -
        -
        -
        -
        Loading...
        -
        Searching...
        -
        No Matches
        -
        -
        -
        -
        - -
        -
        std::hash< pair< T, T > > Member List
        -
        -
        - -

        This is the complete list of members for std::hash< pair< T, T > >, including all inherited members.

        - - -
        operator()(const pair< T, T > &p) conststd::hash< pair< T, T > >inline
        -
        -
        - - - - diff --git a/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html b/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html deleted file mode 100644 index 703decd..0000000 --- a/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - -Flow: std::hash< pair< T, T > > Struct Template Reference - - - - - - - - - - - - - - -
        -
        - - - - - - -
        -
        Flow -
        -
        Documentation for the Flow C++ Library
        -
        -
        - - - - - - - - -
        -
        - -
        -
        -
        - -
        -
        - -
        -
        - - -
        -
        -
        -
        -
        -
        Loading...
        -
        Searching...
        -
        No Matches
        -
        -
        -
        -
        - -
        -
        std::hash< pair< T, T > > Struct Template Reference
        -
        -
        - - - -

        -Public Member Functions

        std::enable_if_t< std::is_same_v< T, int >||std::is_same_v< T, i32 >||std::is_same_v< T, u32 >, std::size_t > operator() (const pair< T, T > &p) const
        -

        Detailed Description

        -
        template<typename T>
        -struct std::hash< pair< T, T > >
        -

        Definition at line 80 of file entry.cpp.

        -

        Member Function Documentation

        - -

        ◆ operator()()

        - -
        -
        -
        -template<typename T>
        - - - - - -
        - - - - - - - -
        std::enable_if_t< std::is_same_v< T, int >||std::is_same_v< T, i32 >||std::is_same_v< T, u32 >, std::size_t > std::hash< pair< T, T > >::operator() (const pair< T, T > & p) const
        -
        -inline
        -
        - -

        Definition at line 82 of file entry.cpp.

        -
        82 {
        -
        83 return std::hash<T>{}(p.first) ^ (std::hash<T>{}(p.second) << 1);
        -
        84 }
        -
        -
        -
        -
        The documentation for this struct was generated from the following file: -
        -
        - -
        - - - - diff --git a/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.js b/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.js deleted file mode 100644 index 7609abd..0000000 --- a/docs/structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4 = -[ - [ "operator()", "structstd_1_1hash_3_01pair_3_01_t_00_01_t_01_4_01_4.html#acbb84e8c5667496a47fb51bb7bdbb1d7", null ] -]; \ No newline at end of file