Everett
Loading...
Searching...
No Matches
Classes | Namespaces | Functions | Variables
cola_sections.h File Reference

Encodes two-target COLA routing in portable IX03 sections. More...

#include <everett/cola_index.h>
#include <everett/sections.h>
#include <array>
#include <bit>
#include <cstddef>
#include <cstdint>
#include <optional>
#include <span>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  everett::cola_section_detail::directory
 
struct  everett::encoded_cola_sections< P >
 
struct  everett::mapped_cola_index< P >
 

Namespaces

namespace  everett
 
namespace  everett::cola_section_detail
 

Functions

constexpr std::size_t everett::cola_section_detail::profile_slot (unsigned route) noexcept
 
constexpr std::size_t everett::cola_section_detail::rank_slot (unsigned route) noexcept
 
constexpr std::size_t everett::cola_section_detail::flags_slot (unsigned route) noexcept
 
constexpr std::size_t everett::cola_section_detail::cuts_slot (unsigned route) noexcept
 
std::span< std::byte const > everett::cola_section_detail::section (std::span< std::byte const > body, directory const &layout, std::size_t slot)
 
template<class P >
directory everett::cola_section_detail::parse (file_header< P > const &header, std::span< std::byte const > body)
 
template<class P >
profile_view< P, stream_role::borrowed > everett::cola_section_detail::profile (std::span< std::byte const > body, directory const &layout, unsigned route)
 
template<class P , class Native , class Main >
encoded_cola_sections< P > everett::encode_cola_sections (cola_index< P, Native, Main > const &source, object_id const &native_id, std::optional< blob_identity > main_id={}, std::optional< object_id > secondary_id={})
 
template<class P , class Native , class Main >
encoded_cola_sections< P > everett::encode_cola_sections (cola_index< P, Native, Main > const &&, object_id const &, std::optional< blob_identity >={}, std::optional< object_id >={})=delete
 

Variables

constexpr std::uint16_t everett::cola_section_detail::version = 3
 
constexpr std::size_t everett::cola_section_detail::section_count = 18
 
constexpr std::size_t everett::cola_section_detail::descriptor_offset = 160
 
constexpr std::size_t everett::cola_section_detail::directory_bytes = descriptor_offset + 16 * section_count
 

Detailed Description

Encodes two-target COLA routing in portable IX03 sections.

Author
Edward Kmett ekmet.nosp@m.t@gm.nosp@m.ail.c.nosp@m.om
SPDX-FileType: SOURCE
SPDX-FileCopyrightText: 2026 Edward Kmett <ekmett@gmail.com>
SPDX-License-Identifier: BSD-2-Clause OR Apache-2.0