Mercurial > minori
view include/core/anime_db.h @ 187:9613d72b097e
*: multiple performance improvements
like marking `static const` when it makes sense...
date: change old stupid heap-based method to a structure which should
make copying the thing actually make a copy.
also many performance-based changes, like removing the std::tie
dependency and forward-declaring nlohmann json
*: replace every instance of QString::fromUtf8 to Strings::ToQString.
the main difference is that our function will always convert exactly
what is in the string, while some other times it would only convert
up to the nearest NUL byte
| author | Paper <mrpapersonic@gmail.com> |
|---|---|
| date | Wed, 06 Dec 2023 13:43:54 -0500 |
| parents | 122fad646f81 |
| children | 862d0d8619f6 |
line wrap: on
line source
#ifndef __core__anime_db_h #define __core__anime_db_h #include "core/anime.h" #include "json/json_fwd.hpp" #include <string> #include <unordered_map> namespace Anime { class Database { public: std::unordered_map<int, Anime> items; size_t GetTotalAnimeAmount(); size_t GetTotalEpisodeAmount(); size_t GetTotalWatchedAmount(); size_t GetTotalPlannedAmount(); double GetAverageScore(); double GetScoreDeviation(); size_t GetListsAnimeAmount(ListStatus status); int GetAnimeFromTitle(const std::string& title); bool GetDatabaseAsJSON(nlohmann::json& json); bool SaveDatabaseToDisk(); bool ParseDatabaseJSON(const nlohmann::json& json); bool LoadDatabaseFromDisk(); }; extern Database db; } // namespace Anime #endif // __core__anime_db_h
