19#ifndef CPPREALM_MANAGED_BINARY_HPP
20#define CPPREALM_MANAGED_BINARY_HPP
22#include <cpprealm/macros.hpp>
23#include <cpprealm/types.hpp>
33 using managed<std::vector<uint8_t>>::managed_base::operator=;
35 [[nodiscard]] std::vector<uint8_t> detach()
const;
36 [[nodiscard]]
operator std::vector<uint8_t>()
const;
38 std::vector<uint8_t> operator*()
const;
39 void push_back(uint8_t v);
40 uint8_t operator[](uint8_t idx)
const;
44 rbool operator==(
const std::vector<uint8_t>& rhs)
const noexcept;
45 rbool operator!=(
const std::vector<uint8_t>& rhs)
const noexcept;
53 template<
typename,
typename>
59 using managed<std::optional<std::vector<uint8_t>>>::managed_base::operator=;
61 [[nodiscard]] std::optional<std::vector<uint8_t>> detach()
const;
62 [[nodiscard]]
operator std::optional<std::vector<uint8_t>>()
const;
65 std::optional<std::vector<uint8_t>> operator*()
const;
66 void push_back(uint8_t v);
67 uint8_t operator[](uint8_t idx)
const;
71 std::reference_wrapper<managed<std::optional<std::vector<uint8_t>>>> m_parent;
72 friend struct managed<std::optional<std::vector<uint8_t>>>;
75 std::unique_ptr<box> operator->()
77 return std::make_unique<box>(
box(*
this));
79 [[nodiscard]]
box operator*() {
84 rbool operator==(
const std::optional<std::vector<uint8_t>>& rhs)
const noexcept;
85 rbool operator!=(
const std::optional<std::vector<uint8_t>>& rhs)
const noexcept;
93 template<
typename,
typename>
Definition: managed_dictionary.hpp:129
Definition: macros.hpp:286