emlabcpp
modern opinionated embedded C++ library
|
#include "../../algorithm.h"
#include "../../protocol/converter.h"
#include "../../result.h"
#include "./page.h"
#include <cstdint>
#include <optional>
#include <span>
Go to the source code of this file.
Classes | |
struct | emlabcpp::cfg::deser_res |
struct | emlabcpp::cfg::status |
struct | emlabcpp::cfg::read_iface |
struct | emlabcpp::cfg::iface_base |
struct | emlabcpp::cfg::locate_current_info |
struct | emlabcpp::cfg::locate_next_info |
struct | emlabcpp::cfg::update_iface |
struct | emlabcpp::cfg::load_iface |
Namespaces | |
emlabcpp | |
MIT License. | |
emlabcpp::cfg | |
MIT License. | |
Typedefs | |
template<typename T > | |
using | emlabcpp::cfg::opt = std::optional< T > |
Enumerations | |
enum class | emlabcpp::cfg::cell_kind : uint8_t { emlabcpp::cfg::SINGLE , emlabcpp::cfg::MULTI } |
enum class | emlabcpp::cfg::cache_res { emlabcpp::cfg::SEEN , emlabcpp::cfg::NOT_SEEN } |
enum class | emlabcpp::cfg::update_status_e : uint8_t { emlabcpp::cfg::SUCCESS = 0x00 , emlabcpp::cfg::FULL = 0x01 , emlabcpp::cfg::MISSING_PAGE = 0x02 , emlabcpp::cfg::SERIALIZE_VALUE_ERROR , emlabcpp::cfg::WRITE_ERROR , emlabcpp::cfg::READ_ERROR , emlabcpp::cfg::DESER_ERROR , emlabcpp::cfg::RESET_KEYS_ERROR , emlabcpp::cfg::CLEAR_ERROR , emlabcpp::cfg::LOCATE_FAILED_ERROR , emlabcpp::cfg::ON_KVAL_ERROR , emlabcpp::cfg::MEM_NOT_PAGE_MULTIPLY_ERROR } |
Functions | |
constexpr uint32_t | emlabcpp::cfg::closest_multiple_of (uint32_t x, uint32_t r) noexcept |
opt< cell_kind > | emlabcpp::cfg::ser_cell (uint32_t key, std::span< std::byte const > value, std::span< std::byte, cell_size > dest) |
opt< deser_res > | emlabcpp::cfg::deser_cell (std::span< std::byte, cell_size > c) |
opt< std::span< std::byte > > | emlabcpp::cfg::store_kval_impl (uint32_t key, std::byte *beg, std::byte *val_end, std::byte *end) |
template<typename T > | |
opt< std::span< std::byte > > | emlabcpp::cfg::store_val (T const &val, std::span< std::byte > buffer) |
opt< std::span< std::byte > > | emlabcpp::cfg::store_val (std::span< std::byte const > val, std::span< std::byte > buffer) |
template<typename T > | |
opt< T > | emlabcpp::cfg::get_val (std::span< std::byte const > data) |
bool | emlabcpp::cfg::is_free_cell (std::span< std::byte, cell_size > cell) |
locate_current_info | emlabcpp::cfg::locate_current_page (std::size_t mem_size, std::size_t page_size, read_iface &iface) |
locate_next_info | emlabcpp::cfg::locate_next_page (std::size_t mem_size, std::size_t page_size, read_iface &iface) |
bool | emlabcpp::cfg::decr_addr (std::size_t &addr, std::size_t n, std::size_t start_addr) |
std::span< std::byte > | emlabcpp::cfg::manifest_value (bool is_seq, auto &cell_val, std::size_t start_addr, auto &addr, auto &iface, auto &buffer) |
status | emlabcpp::cfg::store_key (std::size_t &addr, std::size_t end_addr, uint32_t key, update_iface &iface) |
status | emlabcpp::cfg::dump_unseen_keys (std::size_t addr, std::size_t end_addr, update_iface &iface) |
status | emlabcpp::cfg::update_stored_config (std::size_t start_addr, std::size_t end_addr, update_iface &iface) |
status | emlabcpp::cfg::update (std::size_t mem_size, std::size_t page_size, update_iface &iface) |
status | emlabcpp::cfg::load_stored_config (std::size_t start_addr, std::size_t end_addr, load_iface &iface) |
status | emlabcpp::cfg::load (std::size_t mem_size, std::size_t page_size, load_iface &iface) |
bool | emlabcpp::cfg::is_prefix_of_with_zeros (std::span< std::byte const > a, std::span< std::byte const > b) |
opt< std::size_t > | emlabcpp::cfg::pop_from_container (auto &cont) |
cache_res | emlabcpp::cfg::key_check_unseen_container (auto &cont, uint32_t key) |
Variables | |
static constexpr uint32_t | emlabcpp::cfg::key_mask = 0x7FFFFFFF |
static constexpr uint32_t | emlabcpp::cfg::sin_bit_mask = 0x80000000 |
struct emlabcpp::cfg::locate_current_info |
Class Members | ||
---|---|---|
size_t | addr | |
status | status |