60 :
_err{nvs_entry_find(
61 NVS_DEFAULT_PART_NAME, namespace_name, NVS_TYPE_ANY, &
_it)} {}
69 nvs_entry_info_t info;
70 nvs_entry_info(
_it, &info);
96 static_assert(std::input_iterator<Iterator>);
103 esp_err_t
erase(std::string
const& key);
107 Base(
char const* namespace_name, nvs_open_mode_t open_mode);
110 std::string
getBlob(std::string
const& key)
const;
111 esp_err_t
setBlob(std::string
const& key, std::string_view str);
113 uint8_t
getU8(std::string
const& key)
const;
114 esp_err_t
setU8(std::string
const& key, uint8_t value);
116 uint8_t
getU16(std::string
const& key)
const;
117 esp_err_t
setU16(std::string
const& key, uint16_t value);
128 static_assert(
sizeof(std::string) ==
sizeof(std::string::pointer) +
129 sizeof(std::string::size_type) +
131 static_assert(NVS_KEY_NAME_MAX_SIZE <= 15uz + 1uz);
NVS base.
Definition base.hpp:41
esp_err_t setBlob(std::string const &key, std::string_view str)
Set blob value for given key.
Definition base.cpp:96
esp_err_t eraseAll()
Erase all key-value pairs in a namespace.
Definition base.cpp:66
uint8_t getU16(std::string const &key) const
Get uint16_t value for given key.
Definition base.cpp:135
auto end() const
Definition base.hpp:100
Base(char const *namespace_name, nvs_open_mode_t open_mode)
Ctor.
Definition base.cpp:34
esp_err_t setU16(std::string const &key, uint16_t value)
Set uint16_t value for given key.
Definition base.cpp:152
esp_err_t setU8(std::string const &key, uint8_t value)
Set uint8_t value for given key.
Definition base.cpp:124
nvs_handle_t _handle
Opaque pointer type representing non-volatile storage handle.
Definition base.hpp:137
esp_err_t erase(std::string const &key)
Erase key-value pair with given key name.
Definition base.cpp:55
char const * _namespace_name
Store namespace name (mainly for iterator)
Definition base.hpp:134
auto cbegin() const
Definition base.hpp:99
std::string getBlob(std::string const &key) const
Get blob value for given key.
Definition base.cpp:76
uint8_t getU8(std::string const &key) const
Get uint8_t value for given key.
Definition base.cpp:107
~Base()
Dtor.
Definition base.cpp:44
bool _commit_pending
Flag to indicate commit pending.
Definition base.hpp:140
auto begin() const
Definition base.hpp:98
auto cend() const
Definition base.hpp:101
Definition accessories.cpp:27
Wrapper around C-style NVS iterators
Definition base.hpp:48
void operator++(int)
Definition base.hpp:79
reference operator*() const
Definition base.hpp:68
std::input_iterator_tag iterator_category
Definition base.hpp:52
friend constexpr bool operator==(Iterator const &lhs, Sentinel)
Equality comparison.
Definition base.hpp:87
std::ptrdiff_t difference_type
Definition base.hpp:50
esp_err_t _err
Definition base.hpp:93
~Iterator()
Dtor.
Definition base.hpp:66
Iterator(char const *namespace_name)
Ctor.
Definition base.hpp:59
value_type reference
Definition base.hpp:51
Iterator & operator++()
Definition base.hpp:74
nvs_entry_info_t value_type
Definition base.hpp:49
nvs_iterator_t _it
Definition base.hpp:92
Sentinel type for Iterator.
Definition base.hpp:44