| |
| <!DOCTYPE html> |
| |
| |
| <html lang="en" data-content_root="./" > |
| |
| <head> |
| <meta charset="utf-8" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Search - C++ Paimon</title> |
| |
| |
| |
| <script data-cfasync="false"> |
| document.documentElement.dataset.mode = localStorage.getItem("mode") || ""; |
| document.documentElement.dataset.theme = localStorage.getItem("theme") || ""; |
| </script> |
| <!-- |
| this give us a css class that will be invisible only if js is disabled |
| --> |
| <noscript> |
| <style> |
| .pst-js-only { display: none !important; } |
| |
| </style> |
| </noscript> |
| |
| <!-- Loaded before other Sphinx assets --> |
| <link href="_static/styles/theme.css?digest=90905a2f556bf617f1a9" rel="stylesheet" /> |
| <link href="_static/styles/pydata-sphinx-theme.css?digest=90905a2f556bf617f1a9" rel="stylesheet" /> |
| |
| <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=8f2a1f02" /> |
| <link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" /> |
| <link rel="stylesheet" type="text/css" href="_static/sphinx-design.min.css?v=95c83b7e" /> |
| <link rel="stylesheet" type="text/css" href="_static/theme_overrides.css?v=d7227091" /> |
| |
| <!-- So that users can add custom icons --> |
| <script defer src="_static/scripts/fontawesome.js?digest=90905a2f556bf617f1a9"></script> |
| <!-- Pre-loaded scripts that we'll load fully later --> |
| <link rel="preload" as="script" href="_static/scripts/bootstrap.js?digest=90905a2f556bf617f1a9" /> |
| <link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=90905a2f556bf617f1a9" /> |
| |
| <script src="_static/documentation_options.js?v=5929fcd5"></script> |
| <script src="_static/doctools.js?v=fd6eb6e6"></script> |
| <script src="_static/sphinx_highlight.js?v=6ffebe34"></script> |
| <script src="_static/clipboard.min.js?v=a7894cd8"></script> |
| <script src="_static/copybutton.js?v=3bb21c8c"></script> |
| <script src="_static/design-tabs.js?v=f930bc37"></script> |
| <script type="module">import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@11.12.1/dist/mermaid.esm.min.mjs"; |
| |
| |
| |
| const initStyles = () => { |
| const defaultStyle = document.createElement('style'); |
| defaultStyle.textContent = "pre.mermaid {\n /* Same as .mermaid-container > pre */\n display: block;\n width: 100%;\n}\n\npre.mermaid > svg {\n /* Same as .mermaid-container > pre > svg */\n height: 500px;\n width: 100%;\n max-width: 100% !important;\n}"; |
| document.head.appendChild(defaultStyle); |
| |
| const fullscreenStyle = document.createElement('style'); |
| fullscreenStyle.textContent = ".mermaid-container {\n position: relative;\n display: flex;\n flex-direction: row;\n width: 100%;\n}\n\n.mermaid-container > pre {\n display: block;\n width: 100%;\n}\n\n.mermaid-container > pre > svg {\n height: 500px;\n width: 100%;\n max-width: 100% !important;\n}\n\n.mermaid-fullscreen-btn {\n position: absolute;\n width: 28px;\n height: 28px;\n background: rgba(255, 255, 255, 0.95);\n border: 1px solid rgba(0, 0, 0, 0.3);\n border-radius: 4px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n font-size: 14px;\n line-height: 1;\n padding: 0;\n color: #333;\n}\n\n.mermaid-fullscreen-btn:hover {\n opacity: 100% !important;\n background: rgba(255, 255, 255, 1);\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);\n transform: scale(1.1);\n}\n\n.mermaid-fullscreen-btn.dark-theme {\n background: rgba(50, 50, 50, 0.95);\n border: 1px solid rgba(255, 255, 255, 0.3);\n color: #e0e0e0;\n}\n\n.mermaid-fullscreen-btn.dark-theme:hover {\n background: rgba(60, 60, 60, 1);\n box-shadow: 0 3px 10px rgba(255, 255, 255, 0.2);\n}\n\n.mermaid-fullscreen-modal {\n display: none;\n position: fixed !important;\n top: 0 !important;\n left: 0 !important;\n width: 95vw;\n height: 100vh;\n background: rgba(255, 255, 255, 0.98);\n z-index: 9999;\n padding: 20px;\n overflow: auto;\n}\n\n.mermaid-fullscreen-modal.dark-theme {\n background: rgba(0, 0, 0, 0.98);\n}\n\n.mermaid-fullscreen-modal.active {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.mermaid-container-fullscreen {\n position: relative;\n width: 95vw;\n height: 90vh;\n max-width: 95vw;\n max-height: 90vh;\n background: white;\n border-radius: 8px;\n padding: 20px;\n box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);\n overflow: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.mermaid-container-fullscreen.dark-theme {\n background: #1a1a1a;\n box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8);\n}\n\n.mermaid-container-fullscreen pre.mermaid {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.mermaid-container-fullscreen .mermaid svg {\n height: 100% !important;\n width: 100% !important;\n cursor: grab;\n}\n\n.mermaid-fullscreen-close {\n position: fixed !important;\n top: 20px !important;\n right: 20px !important;\n width: 40px;\n height: 40px;\n background: rgba(255, 255, 255, 0.95);\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 50%;\n cursor: pointer;\n z-index: 10000;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);\n transition: all 0.2s;\n font-size: 24px;\n line-height: 1;\n color: #333;\n}\n\n.mermaid-fullscreen-close:hover {\n background: white;\n box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);\n transform: scale(1.1);\n}\n\n.mermaid-fullscreen-close.dark-theme {\n background: rgba(50, 50, 50, 0.95);\n border: 1px solid rgba(255, 255, 255, 0.2);\n color: #e0e0e0;\n}\n\n.mermaid-fullscreen-close.dark-theme:hover {\n background: rgba(60, 60, 60, 1);\n box-shadow: 0 6px 16px rgba(255, 255, 255, 0.2);\n}\n\n.mermaid-fullscreen-modal .mermaid-fullscreen-btn {\n display: none !important;\n}"; |
| document.head.appendChild(fullscreenStyle); |
| } |
| |
| // Detect if page has dark background |
| const isDarkTheme = () => { |
| // We use a set of heuristics: |
| // 1. Check for common dark mode classes or attributes |
| // 2. Check computed background color brightness |
| if (document.documentElement.classList.contains('dark') || |
| document.documentElement.getAttribute('data-theme') === 'dark' || |
| document.body.classList.contains('dark') || |
| document.body.getAttribute('data-theme') === 'dark') { |
| // console.log("Dark theme detected via class/attribute"); |
| return true; |
| } |
| if (document.documentElement.classList.contains('light') || |
| document.documentElement.getAttribute('data-theme') === 'light' || |
| document.body.classList.contains('light') || |
| document.body.getAttribute('data-theme') === 'light') { |
| // console.log("Light theme detected via class/attribute"); |
| return false; |
| } |
| if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { |
| // console.log("Dark theme detected via prefers-color-scheme"); |
| return true; |
| } |
| const bgColor = window.getComputedStyle(document.body).backgroundColor; |
| const match = bgColor.match(/rgb\((\d+),\s*(\d+),\s*(\d+)/); |
| if (match) { |
| const r = parseInt(match[1]); |
| const g = parseInt(match[2]); |
| const b = parseInt(match[3]); |
| const brightness = (r * 299 + g * 587 + b * 114) / 1000; |
| // console.log("Background color brightness:", brightness); |
| return brightness < 128; |
| } |
| // console.log("No dark or light theme detected, defaulting to light theme"); |
| return false; |
| }; |
| |
| let darkTheme = isDarkTheme(); |
| let modal = null; |
| let modalContent = null; |
| let previousScrollOffset = [window.scrollX, window.scrollY]; |
| let _lazyObserver = null; |
| let _renderQueue = Promise.resolve(); |
| let closeModal = () => {}; |
| |
| document.addEventListener('keydown', (e) => { |
| if (e.key === 'Escape' && modal?.classList.contains('active')) { |
| closeModal(); |
| } |
| }); |
| |
| // Apply d3 zoom to each SVG. Idempotent: an SVG already wrapped is skipped, |
| // so this is safe to call both for the initial batch and for diagrams that |
| // render lazily once they become visible. |
| const addZoomToSvgs = (svgs) => { |
| svgs.each(function() { |
| if (this.getAttribute('data-zoom-applied') === 'true') return; |
| var svg = d3.select(this); |
| svg.html("<g class='wrapper'>" + svg.html() + "</g>"); |
| var inner = svg.select("g"); |
| var zoom = d3.zoom().on("zoom", function(event) { |
| inner.attr("transform", event.transform); |
| }); |
| svg.call(zoom); |
| this.setAttribute('data-zoom-applied', 'true'); |
| }); |
| }; |
| |
| const runMermaid = async (rerun) => { |
| console.log("Running mermaid diagrams, rerun =", rerun); |
| // clear all existing mermaid charts |
| let all_mermaids = document.querySelectorAll(".mermaid"); |
| |
| if (rerun) { |
| // Disconnect any previous lazy rendering observer |
| if (_lazyObserver) { |
| _lazyObserver.disconnect(); |
| _lazyObserver = null; |
| } |
| |
| all_mermaids.forEach((el) => { |
| el.removeAttribute('data-mermaid-deferred'); |
| el.removeAttribute('data-mermaid-render-failed'); |
| if(!el.hasAttribute("data-original-code")) { |
| // store original code |
| // console.log(`Storing original code for first run: `, el.innerHTML); |
| el.setAttribute('data-original-code', el.innerHTML); |
| } |
| if(el.getAttribute("data-processed") === "true") { |
| // remove and restore original |
| el.removeAttribute("data-processed"); |
| // console.log(`Restoring original code for re-run: `, el.getAttribute('data-original-code')); |
| el.innerHTML = el.getAttribute('data-original-code'); |
| } else { |
| // store original code |
| // console.log(`Storing original code for re-run: `, el.innerHTML); |
| el.setAttribute('data-original-code', el.innerHTML); |
| } |
| }); |
| |
| // Separate visible and hidden elements. Mermaid's layout engine measures |
| // text dimensions via the DOM, which fails for elements hidden by a parent |
| // (e.g., Reveal.js non-active slides, sphinx-design unopened tabs), |
| // producing broken SVGs. Render visible elements now, defer hidden ones. |
| const visible = []; |
| const hidden = []; |
| all_mermaids.forEach((el) => { |
| // offsetParent is null for display:none ancestors. |
| // getClientRects().length > 0 catches position:fixed elements |
| // (which also have null offsetParent but are still visible). |
| if (el.offsetParent !== null || el.getClientRects().length > 0) { |
| visible.push(el); |
| } else { |
| hidden.push(el); |
| el.setAttribute('data-mermaid-deferred', 'true'); |
| } |
| }); |
| |
| if (visible.length > 0) { |
| try { |
| await mermaid.run({ nodes: visible }); |
| } catch (e) { |
| console.error("Mermaid rendering failed:", e); |
| } |
| } |
| |
| // Lazily render hidden elements when they become visible. |
| // Uses a promise chain (_renderQueue) to serialize rendering, |
| // since IntersectionObserver may report multiple entries at once |
| // and mermaid.run() is not safe to call concurrently. |
| if (hidden.length > 0) { |
| if (typeof IntersectionObserver === 'undefined') { |
| console.warn("IntersectionObserver not available; hidden mermaid diagrams will not render."); |
| } else { |
| _renderQueue = Promise.resolve(); |
| _lazyObserver = new IntersectionObserver((entries) => { |
| for (const entry of entries) { |
| if (entry.isIntersecting && entry.target.getAttribute("data-processed") !== "true") { |
| _lazyObserver.unobserve(entry.target); |
| const el = entry.target; |
| _renderQueue = _renderQueue.then(async () => { |
| try { |
| await mermaid.run({ nodes: [el] }); |
| el.removeAttribute('data-mermaid-deferred'); |
| // Apply zoom to the now-rendered diagram, matching |
| // the decoration visible diagrams receive. |
| if (false) { |
| addZoomToSvgs(d3.selectAll("").select(function() { |
| return this.querySelector("svg"); |
| })); |
| } |
| } catch (e) { |
| console.error("Mermaid deferred rendering failed:", e); |
| el.removeAttribute('data-mermaid-deferred'); |
| el.setAttribute('data-mermaid-render-failed', 'true'); |
| } |
| }); |
| } |
| } |
| }); |
| hidden.forEach((el) => _lazyObserver.observe(el)); |
| } |
| } |
| } |
| |
| all_mermaids = document.querySelectorAll(".mermaid"); |
| // Exclude deferred (hidden) and render-failed elements from completion checks |
| const mermaids_active = document.querySelectorAll(".mermaid:not([data-mermaid-deferred]):not([data-mermaid-render-failed])"); |
| const mermaids_processed = document.querySelectorAll(".mermaid:not([data-mermaid-deferred]):not([data-mermaid-render-failed])[data-processed='true']"); |
| |
| if (false) { |
| const mermaids_to_add_zoom = 0 === -1 ? mermaids_active.length : 0; |
| if(mermaids_to_add_zoom > 0) { |
| var svgs = d3.selectAll("").select(function() { |
| return this.querySelector("svg"); |
| }); |
| // Wait until every active (visible) diagram has rendered. Deferred |
| // diagrams are excluded, so a fixed d3_node_count that counts a |
| // hidden diagram no longer loops forever waiting for its SVG. |
| if(mermaids_active.length !== mermaids_processed.length) { |
| setTimeout(() => runMermaid(false), 200); |
| return; |
| } |
| addZoomToSvgs(svgs); |
| } |
| } else if(mermaids_active.length !== mermaids_processed.length) { |
| // Wait for mermaid to process all diagrams |
| setTimeout(() => runMermaid(false), 200); |
| return; |
| } |
| |
| // Stop here if not adding fullscreen capability |
| if (!true) return; |
| |
| if (modal !== null ) { |
| // Destroy existing modal |
| modal.remove(); |
| modal = null; |
| modalContent = null; |
| } |
| |
| modal = document.createElement('div'); |
| modal.className = 'mermaid-fullscreen-modal' + (darkTheme ? ' dark-theme' : ''); |
| modal.setAttribute('role', 'dialog'); |
| modal.setAttribute('aria-modal', 'true'); |
| modal.setAttribute('aria-label', 'Fullscreen diagram viewer'); |
| modal.innerHTML = ` |
| <button class="mermaid-fullscreen-close${darkTheme ? ' dark-theme' : ''}" aria-label="Close fullscreen">✕</button> |
| <div class="mermaid-container-fullscreen${darkTheme ? ' dark-theme' : ''}"></div> |
| `; |
| document.body.appendChild(modal); |
| |
| modalContent = modal.querySelector('.mermaid-container-fullscreen'); |
| const closeBtn = modal.querySelector('.mermaid-fullscreen-close'); |
| |
| closeModal = () => { |
| modal.classList.remove('active'); |
| modalContent.innerHTML = ''; |
| document.body.style.overflow = '' |
| window.scrollTo({left: previousScrollOffset[0], top: previousScrollOffset[1], behavior: 'instant'}); |
| }; |
| |
| closeBtn.addEventListener('click', closeModal); |
| modal.addEventListener('click', (e) => { |
| if (e.target === modal) closeModal(); |
| }); |
| document.querySelectorAll('.mermaid').forEach((mermaidDiv) => { |
| if (mermaidDiv.parentNode.classList.contains('mermaid-container') || |
| mermaidDiv.closest('.mermaid-fullscreen-modal')) { |
| // Already processed, adjust button class if needed |
| const existingBtn = mermaidDiv.parentNode.querySelector('.mermaid-fullscreen-btn'); |
| if (existingBtn) { |
| existingBtn.className = 'mermaid-fullscreen-btn' + (darkTheme ? ' dark-theme' : ''); |
| } |
| return; |
| } |
| |
| const container = document.createElement('div'); |
| container.className = 'mermaid-container'; |
| mermaidDiv.parentNode.insertBefore(container, mermaidDiv); |
| container.appendChild(mermaidDiv); |
| |
| const fullscreenBtn = document.createElement('button'); |
| fullscreenBtn.className = 'mermaid-fullscreen-btn' + (darkTheme ? ' dark-theme' : ''); |
| fullscreenBtn.setAttribute('aria-label', 'View diagram in fullscreen'); |
| fullscreenBtn.textContent = "\u26f6"; |
| fullscreenBtn.style.opacity = "50%"; |
| |
| // Calculate dynamic position based on diagram's margin and padding |
| const diagramStyle = window.getComputedStyle(mermaidDiv); |
| const marginTop = parseFloat(diagramStyle.marginTop) || 0; |
| const marginRight = parseFloat(diagramStyle.marginRight) || 0; |
| const paddingTop = parseFloat(diagramStyle.paddingTop) || 0; |
| const paddingRight = parseFloat(diagramStyle.paddingRight) || 0; |
| fullscreenBtn.style.top = `${marginTop + paddingTop + 4}px`; |
| fullscreenBtn.style.right = `${marginRight + paddingRight + 4}px`; |
| |
| fullscreenBtn.addEventListener('click', () => { |
| previousScrollOffset = [window.scrollX, window.scrollY]; |
| const clone = mermaidDiv.cloneNode(true); |
| modalContent.innerHTML = ''; |
| modalContent.appendChild(clone); |
| |
| const svg = clone.querySelector('svg'); |
| if (svg) { |
| svg.removeAttribute('width'); |
| svg.removeAttribute('height'); |
| svg.style.width = '100%'; |
| svg.style.height = 'auto'; |
| svg.style.maxWidth = '100%'; |
| svg.style.display = 'block'; |
| |
| if (false) { |
| setTimeout(() => { |
| const g = svg.querySelector('g'); |
| if (g) { |
| var svgD3 = d3.select(svg); |
| svgD3.html("<g class='wrapper'>" + svgD3.html() + "</g>"); |
| var inner = svgD3.select("g"); |
| var zoom = d3.zoom().on("zoom", function(event) { |
| inner.attr("transform", event.transform); |
| }); |
| svgD3.call(zoom); |
| } |
| }, 100); |
| } |
| } |
| |
| modal.classList.add('active'); |
| document.body.style.overflow = 'hidden'; |
| }); |
| container.appendChild(fullscreenBtn); |
| }); |
| }; |
| |
| |
| |
| const load = async () => { |
| initStyles(); |
| |
| |
| await runMermaid(true); |
| |
| const reRunIfThemeChanges = async () => { |
| const newDarkTheme = isDarkTheme(); |
| if (newDarkTheme !== darkTheme) { |
| darkTheme = newDarkTheme; |
| console.log("Theme change detected, re-running mermaid with", darkTheme ? "dark" : "default", "theme"); |
| await mermaid.initialize( |
| {...{"startOnLoad": false}, |
| ...{ darkMode: darkTheme, theme: darkTheme ? "dark" : "default" }, |
| } |
| ); |
| await runMermaid(true); |
| } |
| }; |
| |
| // Update theme classes when theme changes |
| const themeObserver = new MutationObserver(reRunIfThemeChanges); |
| themeObserver.observe(document.documentElement, { |
| attributes: true, |
| attributeFilter: ['class', 'style', 'data-theme'] |
| }); |
| themeObserver.observe(document.body, { |
| attributes: true, |
| attributeFilter: ['class', 'style', 'data-theme'] |
| }); |
| }; |
| |
| |
| |
| |
| |
| console.log("Initializing mermaid with", darkTheme ? "dark" : "default", "theme"); |
| mermaid.initialize( |
| {...{"startOnLoad": false}, |
| ...{ darkMode: darkTheme, theme: darkTheme ? "dark" : "default" }, |
| } |
| ); |
| |
| window.addEventListener("load", load); |
| window.runMermaid = runMermaid;</script> |
| <script>DOCUMENTATION_OPTIONS.pagename = 'search';</script> |
| <script>DOCUMENTATION_OPTIONS.search_as_you_type = false;</script> |
| <script src="_static/searchtools.js"></script> |
| <script src="_static/language_data.js"></script> |
| <script src="searchindex.js"></script> |
| <link rel="index" title="Index" href="genindex.html" /> |
| <link rel="search" title="Search" href="#" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <meta name="docsearch:language" content="en"/> |
| <meta name="docsearch:version" content="0.2.3" /> |
| |
| |
| |
| </head> |
| <body data-default-mode=""> |
| |
| |
| <div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div> |
| |
| |
| <div id="pst-scroll-pixel-helper"></div> |
| |
| <button type="button" class="btn rounded-pill" id="pst-back-to-top"> |
| <i class="fa-solid fa-arrow-up"></i>Back to top</button> |
| |
| |
| |
| |
| <dialog id="pst-search-dialog"> |
| |
| <form class="bd-search d-flex align-items-center" |
| action="#" |
| method="get"> |
| <i class="fa-solid fa-magnifying-glass"></i> |
| <input type="search" |
| class="form-control" |
| name="q" |
| placeholder="Search the docs ..." |
| aria-label="Search the docs ..." |
| autocomplete="off" |
| autocorrect="off" |
| autocapitalize="off" |
| spellcheck="false"/> |
| <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span> |
| </form> |
| </dialog> |
| |
| <div class="pst-async-banner-revealer d-none"> |
| <aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside> |
| </div> |
| |
| |
| <header id="pst-header" class="bd-header navbar navbar-expand-lg bd-navbar d-print-none"> |
| <div class="bd-header__inner bd-page-width"> |
| <button class="pst-navbar-icon sidebar-toggle primary-toggle" aria-label="Site navigation"> |
| <span class="fa-solid fa-bars"></span> |
| </button> |
| |
| |
| <div class=" navbar-header-items__start"> |
| |
| <div class="navbar-item"> |
| |
| |
| |
| |
| |
| <a class="navbar-brand logo" href="index.html"> |
| |
| |
| |
| |
| |
| |
| <p class="title logo__title">Paimon C++</p> |
| |
| </a></div> |
| |
| </div> |
| |
| <div class=" navbar-header-items"> |
| |
| <div class="me-auto navbar-header-items__center"> |
| |
| <div class="navbar-item"> |
| <nav> |
| <ul class="bd-navbar-elements navbar-nav"> |
| |
| <li class="nav-item "> |
| <a class="nav-link nav-internal" href="getting_started.html"> |
| Getting Started |
| </a> |
| </li> |
| |
| |
| <li class="nav-item "> |
| <a class="nav-link nav-internal" href="user_guide.html"> |
| User Guide |
| </a> |
| </li> |
| |
| |
| <li class="nav-item "> |
| <a class="nav-link nav-internal" href="examples/index.html"> |
| Examples |
| </a> |
| </li> |
| |
| |
| <li class="nav-item "> |
| <a class="nav-link nav-internal" href="api.html"> |
| API Reference |
| </a> |
| </li> |
| |
| </ul> |
| </nav></div> |
| |
| </div> |
| |
| |
| <div class="navbar-header-items__end"> |
| |
| <div class="navbar-item navbar-persistent--container"> |
| |
| |
| <button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip"> |
| <i class="fa-solid fa-magnifying-glass"></i> |
| <span class="search-button__default-text">Search</span> |
| <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span> |
| </button> |
| </div> |
| |
| |
| <div class="navbar-item"> |
| |
| <div class="theme-switch-container dropdown pst-js-only" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Color mode"> |
| <button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button dropdown-toggle" aria-label="Color mode" data-bs-toggle="dropdown"> |
| <i class="theme-switch fa-solid fa-sun fa-lg fa-fw" data-mode="light" title="Light"></i> |
| <i class="theme-switch fa-solid fa-moon fa-lg fa-fw" data-mode="dark" title="Dark"></i> |
| <i class="theme-switch fa-solid fa-circle-half-stroke fa-lg fa-fw" data-mode="auto" title="System Settings"></i> |
| </button> |
| <ul class="dropdown-menu dropdown-menu-end"> |
| <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg fa-fw me-1"></i>System Settings</button></li> |
| <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="light"><i class="fa-solid fa-sun fa-lg fa-fw me-1"></i>Light</button></li> |
| <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="dark"><i class="fa-solid fa-moon fa-lg fa-fw me-1"></i>Dark</button></li> |
| </ul> |
| </div></div> |
| |
| <div class="navbar-item"><ul class="navbar-icon-links" |
| aria-label="Icon Links"> |
| <li class="nav-item"> |
| |
| |
| |
| |
| |
| |
| |
| |
| <a href="https://github.com/apache/paimon-cpp" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i><span class="visually-hidden">GitHub</span></a> |
| </li> |
| </ul></div> |
| |
| </div> |
| |
| </div> |
| |
| |
| <div class="navbar-persistent--mobile"> |
| |
| <button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip"> |
| <i class="fa-solid fa-magnifying-glass"></i> |
| <span class="search-button__default-text">Search</span> |
| <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span> |
| </button> |
| </div> |
| |
| |
| |
| </div> |
| |
| </header> |
| |
| |
| <div class="bd-container"> |
| <div class="bd-container__inner bd-page-width"> |
| |
| |
| |
| |
| |
| <dialog id="pst-primary-sidebar-modal"></dialog> |
| <div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar hide-on-wide"> |
| |
| |
| |
| <div class="sidebar-header-items sidebar-primary__section"> |
| |
| |
| <div class="sidebar-header-items__center"> |
| |
| |
| |
| <div class="navbar-item"> |
| <nav> |
| <ul class="bd-navbar-elements navbar-nav"> |
| |
| <li class="nav-item "> |
| <a class="nav-link nav-internal" href="getting_started.html"> |
| Getting Started |
| </a> |
| </li> |
| |
| |
| <li class="nav-item "> |
| <a class="nav-link nav-internal" href="user_guide.html"> |
| User Guide |
| </a> |
| </li> |
| |
| |
| <li class="nav-item "> |
| <a class="nav-link nav-internal" href="examples/index.html"> |
| Examples |
| </a> |
| </li> |
| |
| |
| <li class="nav-item "> |
| <a class="nav-link nav-internal" href="api.html"> |
| API Reference |
| </a> |
| </li> |
| |
| </ul> |
| </nav></div> |
| |
| |
| </div> |
| |
| |
| |
| <div class="sidebar-header-items__end"> |
| |
| <div class="navbar-item"> |
| |
| <div class="theme-switch-container dropdown pst-js-only" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Color mode"> |
| <button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button dropdown-toggle" aria-label="Color mode" data-bs-toggle="dropdown"> |
| <i class="theme-switch fa-solid fa-sun fa-lg fa-fw" data-mode="light" title="Light"></i> |
| <i class="theme-switch fa-solid fa-moon fa-lg fa-fw" data-mode="dark" title="Dark"></i> |
| <i class="theme-switch fa-solid fa-circle-half-stroke fa-lg fa-fw" data-mode="auto" title="System Settings"></i> |
| </button> |
| <ul class="dropdown-menu dropdown-menu-end"> |
| <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg fa-fw me-1"></i>System Settings</button></li> |
| <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="light"><i class="fa-solid fa-sun fa-lg fa-fw me-1"></i>Light</button></li> |
| <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="dark"><i class="fa-solid fa-moon fa-lg fa-fw me-1"></i>Dark</button></li> |
| </ul> |
| </div></div> |
| |
| <div class="navbar-item"><ul class="navbar-icon-links" |
| aria-label="Icon Links"> |
| <li class="nav-item"> |
| |
| |
| |
| |
| |
| |
| |
| |
| <a href="https://github.com/apache/paimon-cpp" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i><span class="visually-hidden">GitHub</span></a> |
| </li> |
| </ul></div> |
| |
| </div> |
| |
| </div> |
| |
| |
| <div class="sidebar-primary-items__end sidebar-primary__section"> |
| <div class="sidebar-primary-item"> |
| <div id="ethical-ad-placement" |
| class="flat" |
| data-ea-publisher="readthedocs" |
| data-ea-type="readthedocs-sidebar" |
| data-ea-manual="true"> |
| </div></div> |
| </div> |
| |
| |
| </div> |
| |
| <main id="main-content" class="bd-main" role="main"> |
| |
| |
| <div class="bd-content"> |
| <div class="bd-article-container"> |
| |
| <div class="bd-header-article d-print-none"></div> |
| |
| |
| <div class="bd-search-container"> |
| <h1>Search</h1> |
| <noscript> |
| <div class="admonition error"> |
| <p class="admonition-title">Error</p> |
| <p>Please activate JavaScript to enable the search functionality.</p> |
| </div> |
| </noscript> |
| |
| <form class="bd-search d-flex align-items-center" |
| action="#" |
| method="get"> |
| <i class="fa-solid fa-magnifying-glass"></i> |
| <input type="search" |
| class="form-control" |
| name="q" |
| placeholder="Search the docs ..." |
| aria-label="Search the docs ..." |
| autocomplete="off" |
| autocorrect="off" |
| autocapitalize="off" |
| spellcheck="false"/> |
| <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span> |
| </form> |
| <div id="search-results"></div> |
| </div> |
| <script> |
| // Activate the search field on page load |
| let searchInput = document.querySelector("form.bd-search input"); |
| if (searchInput) { |
| searchInput.focus(); |
| searchInput.select(); |
| console.log("[PST]: Set focus on search field."); |
| } |
| </script> |
| |
| |
| |
| |
| |
| <footer class="prev-next-footer d-print-none"> |
| |
| <div class="prev-next-area"> |
| </div> |
| </footer> |
| |
| </div> |
| |
| |
| |
| |
| </div> |
| <footer class="bd-footer-content"> |
| |
| </footer> |
| |
| </main> |
| </div> |
| </div> |
| |
| <!-- Scripts loaded after <body> so the DOM is not blocked --> |
| <script defer src="_static/scripts/bootstrap.js?digest=90905a2f556bf617f1a9"></script> |
| <script defer src="_static/scripts/pydata-sphinx-theme.js?digest=90905a2f556bf617f1a9"></script> |
| |
| <footer class="bd-footer"> |
| <div class="bd-footer__inner bd-page-width"> |
| |
| <div class="footer-items__start"> |
| |
| <div class="footer-item"> |
| |
| <p class="copyright"> |
| |
| © Copyright 2024-2026 Apache Software Foundation. |
| <br/> |
| |
| </p> |
| </div> |
| |
| <div class="footer-item"> |
| |
| <p class="sphinx-version"> |
| Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 9.1.0. |
| <br/> |
| </p> |
| </div> |
| |
| </div> |
| |
| |
| |
| <div class="footer-items__end"> |
| |
| <div class="footer-item"> |
| <p class="theme-version"> |
| <!-- # L10n: Setting the PST URL as an argument as this does not need to be localized --> |
| Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> 0.20.0. |
| </p></div> |
| |
| </div> |
| |
| </div> |
| |
| </footer> |
| </body> |
| </html> |