summaryrefslogtreecommitdiff
path: root/src/database
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-05-02 17:06:25 +1000
committerjacqueline <me@jacqueline.id.au>2024-05-02 17:06:25 +1000
commita231fd1c8afedbeb14b0bc77d76bad61db986059 (patch)
tree5cbb12f502445776072b691bdebcd0ef6ef54d12 /src/database
parentf852e447159757a92564327c6b114f929200b3a0 (diff)
downloadtangara-fw-a231fd1c8afedbeb14b0bc77d76bad61db986059.tar.gz
Replace cpp::span shim with std::span
Diffstat (limited to 'src/database')
-rw-r--r--src/database/CMakeLists.txt2
-rw-r--r--src/database/include/records.hpp2
-rw-r--r--src/database/include/track.hpp9
-rw-r--r--src/database/index.cpp10
-rw-r--r--src/database/records.cpp2
-rw-r--r--src/database/track.cpp8
6 files changed, 16 insertions, 17 deletions
diff --git a/src/database/CMakeLists.txt b/src/database/CMakeLists.txt
index 26c14815..248ca3d7 100644
--- a/src/database/CMakeLists.txt
+++ b/src/database/CMakeLists.txt
@@ -6,7 +6,7 @@ idf_component_register(
SRCS "env_esp.cpp" "database.cpp" "track.cpp" "records.cpp"
"file_gatherer.cpp" "tag_parser.cpp" "index.cpp"
INCLUDE_DIRS "include"
- REQUIRES "result" "span" "esp_psram" "fatfs" "libtags" "komihash" "cbor"
+ REQUIRES "result" "esp_psram" "fatfs" "libtags" "komihash" "cbor"
"tasks" "memory" "util" "tinyfsm" "events" "opusfile" "libcppbor")
target_compile_options(${COMPONENT_LIB} PRIVATE ${EXTRA_WARNINGS})
diff --git a/src/database/include/records.hpp b/src/database/include/records.hpp
index 87034059..3ca68fea 100644
--- a/src/database/include/records.hpp
+++ b/src/database/include/records.hpp
@@ -80,6 +80,6 @@ auto TrackIdToBytes(TrackId id) -> std::string;
* Converts a track id encoded via TrackIdToBytes back into a TrackId. May
* return nullopt if parsing fails.
*/
-auto BytesToTrackId(cpp::span<const char> bytes) -> std::optional<TrackId>;
+auto BytesToTrackId(std::span<const char> bytes) -> std::optional<TrackId>;
} // namespace database
diff --git a/src/database/include/track.hpp b/src/database/include/track.hpp
index 76b1c56e..b097ab52 100644
--- a/src/database/include/track.hpp
+++ b/src/database/include/track.hpp
@@ -6,12 +6,12 @@
#pragma once
-#include <stdint.h>
-#include <sys/_stdint.h>
+#include <cstdint>
#include <map>
#include <memory>
#include <optional>
+#include <span>
#include <string>
#include <unordered_map>
#include <utility>
@@ -19,7 +19,6 @@
#include "leveldb/db.h"
#include "memory_resource.hpp"
-#include "span.hpp"
namespace database {
@@ -62,7 +61,7 @@ enum class Tag {
using TagValue = std::variant<std::monostate,
std::pmr::string,
uint32_t,
- cpp::span<const std::pmr::string>>;
+ std::span<const std::pmr::string>>;
auto tagName(Tag) -> std::string;
auto tagHash(const TagValue&) -> uint64_t;
@@ -112,7 +111,7 @@ class TrackTags {
auto albumOrder() const -> uint32_t;
- auto genres() const -> cpp::span<const std::pmr::string>;
+ auto genres() const -> std::span<const std::pmr::string>;
auto genres(const std::string_view) -> void;
/*
diff --git a/src/database/index.cpp b/src/database/index.cpp
index 857fbcc5..328c3b43 100644
--- a/src/database/index.cpp
+++ b/src/database/index.cpp
@@ -61,11 +61,11 @@ class Indexer {
private:
auto handleLevel(const IndexKey::Header& header,
- cpp::span<const Tag> components) -> void;
+ std::span<const Tag> components) -> void;
auto handleItem(const IndexKey::Header& header,
std::variant<std::pmr::string, uint32_t> item,
- cpp::span<const Tag> components) -> void;
+ std::span<const Tag> components) -> void;
auto missing_value(Tag tag) -> TagValue {
switch (tag) {
@@ -111,7 +111,7 @@ auto Indexer::index() -> std::vector<std::pair<IndexKey, std::string>> {
}
auto Indexer::handleLevel(const IndexKey::Header& header,
- cpp::span<const Tag> components) -> void {
+ std::span<const Tag> components) -> void {
Tag component = components.front();
TagValue value = track_.tags().get(component);
if (std::holds_alternative<std::monostate>(value)) {
@@ -129,7 +129,7 @@ auto Indexer::handleLevel(const IndexKey::Header& header,
} else if constexpr (std::is_same_v<T, uint32_t>) {
handleItem(header, arg, components);
} else if constexpr (std::is_same_v<
- T, cpp::span<const std::pmr::string>>) {
+ T, std::span<const std::pmr::string>>) {
for (const auto& i : arg) {
handleItem(header, i, components);
}
@@ -140,7 +140,7 @@ auto Indexer::handleLevel(const IndexKey::Header& header,
auto Indexer::handleItem(const IndexKey::Header& header,
std::variant<std::pmr::string, uint32_t> item,
- cpp::span<const Tag> components) -> void {
+ std::span<const Tag> components) -> void {
IndexKey key{
.header = header,
.item = {},
diff --git a/src/database/records.cpp b/src/database/records.cpp
index a1efb568..b086be3b 100644
--- a/src/database/records.cpp
+++ b/src/database/records.cpp
@@ -248,7 +248,7 @@ auto TrackIdToBytes(TrackId id) -> std::string {
return cppbor::Uint{id}.toString();
}
-auto BytesToTrackId(cpp::span<const char> bytes) -> std::optional<TrackId> {
+auto BytesToTrackId(std::span<const char> bytes) -> std::optional<TrackId> {
auto [res, unused, err] = cppbor::parse(
reinterpret_cast<const uint8_t*>(bytes.data()), bytes.size());
if (!res || res->type() != cppbor::UINT) {
diff --git a/src/database/track.cpp b/src/database/track.cpp
index a2bd05d3..1b1442a1 100644
--- a/src/database/track.cpp
+++ b/src/database/track.cpp
@@ -9,6 +9,7 @@
#include <iomanip>
#include <iostream>
#include <memory_resource>
+#include <span>
#include <sstream>
#include <string>
@@ -16,7 +17,6 @@
#include "komihash.h"
#include "memory_resource.hpp"
-#include "span.hpp"
namespace database {
@@ -55,7 +55,7 @@ auto tagHash(const TagValue& t) -> uint64_t {
} else if constexpr (std::is_same_v<T, uint32_t>) {
return komihash(&arg, sizeof(arg), 0);
} else if constexpr (std::is_same_v<
- T, cpp::span<const std::pmr::string>>) {
+ T, std::span<const std::pmr::string>>) {
komihash_stream_t hash;
komihash_stream_init(&hash, 0);
for (const auto& i : arg) {
@@ -79,7 +79,7 @@ auto tagToString(const TagValue& val) -> std::string {
} else if constexpr (std::is_same_v<T, uint32_t>) {
return std::to_string(arg);
} else if constexpr (std::is_same_v<
- T, cpp::span<const std::pmr::string>>) {
+ T, std::span<const std::pmr::string>>) {
std::ostringstream builder{};
for (const auto& str : arg) {
builder << std::string{str.data(), str.size()} << ",";
@@ -225,7 +225,7 @@ auto TrackTags::albumOrder() const -> uint32_t {
return (disc_.value_or(0) << 16) | track_.value_or(0);
}
-auto TrackTags::genres() const -> cpp::span<const std::pmr::string> {
+auto TrackTags::genres() const -> std::span<const std::pmr::string> {
return genres_;
}