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

Declares Everett's file support. More...

#include <everett/crc32c.h>
#include <everett/mapped_file.h>
#include <everett/object_path.h>
#include <everett/policy.h>
#include <array>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <optional>
#include <span>
#include <stdexcept>
#include <string_view>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  everett::file_header< P >
 
struct  everett::file< P >
 

Namespaces

namespace  everett
 
namespace  everett::file_detail
 

Enumerations

enum class  everett::file_open_mode : std::uint8_t { everett::checked , everett::trusted }
 

Functions

std::uint64_t everett::file_detail::get (std::span< std::byte const > bytes, std::size_t at, unsigned width) noexcept
 
void everett::file_detail::put (std::span< std::byte > bytes, std::size_t at, unsigned width, std::uint64_t value) noexcept
 
std::string_view everett::file_detail::magic (file_kind kind)
 
template<class P >
std::uint64_t everett::file_detail::body_bytes (std::uint64_t extent) noexcept
 
template<class P >
std::uint64_t everett::file_detail::total_bytes (std::uint64_t extent)
 
template<class P >
void everett::file_detail::validate_metadata (file_header< P > const &header)
 
template<class P >
void everett::file_detail::validate_body (file_header< P > const &header, std::span< std::byte const > body)
 
std::uint32_t everett::file_detail::header_checksum (std::span< std::byte const > bytes)
 
template<class P >
file_header< P > everett::decode_file_header (std::span< std::byte const > bytes)
 
template<class P >
file_header< P > everett::validate_file (std::span< std::byte const > bytes)
 
template<class P >
std::array< std::byte, file_detail::header_bytes > everett::encode_file_header (file_header< P > const &header, std::uint32_t body_crc)
 
template<class P >
std::vector< std::byte > everett::encode_file (file_header< P > const &header, std::span< std::byte const > body)
 

Variables

constexpr std::size_t everett::file_detail::header_bytes = 96
 
constexpr std::uint16_t everett::file_detail::version = 1
 

Detailed Description

Declares Everett's file support.

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