summaryrefslogtreecommitdiff
path: root/src/database/track.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-09-26 13:36:07 +1000
committerjacqueline <me@jacqueline.id.au>2023-09-26 13:36:07 +1000
commit4d99d22e10a3cb2a421da1618c127128816613c9 (patch)
tree527490a466348e5cf40cf10a8f3768aa5be4e7c1 /src/database/track.cpp
parentf6d06421090f88094aba76b72b04d614f54efafa (diff)
downloadtangara-fw-4d99d22e10a3cb2a421da1618c127128816613c9.tar.gz
std::string -> std::pmr::string in psram
Diffstat (limited to 'src/database/track.cpp')
-rw-r--r--src/database/track.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/database/track.cpp b/src/database/track.cpp
index fa65261e..a3c7dc99 100644
--- a/src/database/track.cpp
+++ b/src/database/track.cpp
@@ -7,15 +7,16 @@
#include "track.hpp"
#include <komihash.h>
-#include "shared_string.h"
+
+#include "memory_resource.hpp"
namespace database {
-auto TrackTags::set(const Tag& key, const std::string& val) -> void {
+auto TrackTags::set(const Tag& key, const std::pmr::string& val) -> void {
tags_[key] = val;
}
-auto TrackTags::at(const Tag& key) const -> std::optional<shared_string> {
+auto TrackTags::at(const Tag& key) const -> std::optional<std::pmr::string> {
if (tags_.contains(key)) {
return tags_.at(key);
}
@@ -23,12 +24,13 @@ auto TrackTags::at(const Tag& key) const -> std::optional<shared_string> {
}
auto TrackTags::operator[](const Tag& key) const
- -> std::optional<shared_string> {
+ -> std::optional<std::pmr::string> {
return at(key);
}
-/* Helper function to update a komihash stream with a std::string. */
-auto HashString(komihash_stream_t* stream, const std::string& str) -> void {
+/* Helper function to update a komihash stream with a std::pmr::string. */
+auto HashString(komihash_stream_t* stream, const std::pmr::string& str)
+ -> void {
komihash_stream_update(stream, str.c_str(), str.length());
}
@@ -58,7 +60,7 @@ auto TrackData::Entomb() const -> TrackData {
return TrackData(id_, filepath_, tags_hash_, play_count_, true);
}
-auto TrackData::Exhume(const std::string& new_path) const -> TrackData {
+auto TrackData::Exhume(const std::pmr::string& new_path) const -> TrackData {
return TrackData(id_, new_path, tags_hash_, play_count_, false);
}
@@ -68,13 +70,13 @@ void swap(Track& first, Track& second) {
second = temp;
}
-auto Track::TitleOrFilename() const -> shared_string {
+auto Track::TitleOrFilename() const -> std::pmr::string {
auto title = tags().at(Tag::kTitle);
if (title) {
return *title;
}
auto start = data().filepath().find_last_of('/');
- if (start == std::string::npos) {
+ if (start == std::pmr::string::npos) {
return data().filepath();
}
return data().filepath().substr(start);