diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-05-02 17:06:25 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-05-02 17:06:25 +1000 |
| commit | a231fd1c8afedbeb14b0bc77d76bad61db986059 (patch) | |
| tree | 5cbb12f502445776072b691bdebcd0ef6ef54d12 /src/database | |
| parent | f852e447159757a92564327c6b114f929200b3a0 (diff) | |
| download | tangara-fw-a231fd1c8afedbeb14b0bc77d76bad61db986059.tar.gz | |
Replace cpp::span shim with std::span
Diffstat (limited to 'src/database')
| -rw-r--r-- | src/database/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/database/include/records.hpp | 2 | ||||
| -rw-r--r-- | src/database/include/track.hpp | 9 | ||||
| -rw-r--r-- | src/database/index.cpp | 10 | ||||
| -rw-r--r-- | src/database/records.cpp | 2 | ||||
| -rw-r--r-- | src/database/track.cpp | 8 |
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_; } |
