MostlyHarmless 0.0.1
Loading...
Searching...
No Matches
mostlyharmless_DatabaseState.h File Reference
#include <mostly_harmless/mostlyharmless_Concepts.h>
#include <mostly_harmless/utils/mostlyharmless_Macros.h>
#include <sqlite3.h>
#include <fmt/core.h>
#include <string>
#include <filesystem>
#include <variant>

Go to the source code of this file.

Namespaces

namespace  mostly_harmless
 The top-level namespace, contains all things plugin-related.
namespace  mostly_harmless::data
 Contains classes and functions related to data management.

Typedefs

using mostly_harmless::data::DatabaseValueVariant = std::variant<std::string, bool, int, float, double>
 A std::variant containing all types satisfying the DatabaseStorageType concept.

Functions

 mostly_harmless::data::DatabaseState (const DatabaseState &)=delete
 mostly_harmless::data::DatabaseState (DatabaseState &&other) noexcept
DatabaseState & mostly_harmless::data::operator= (const DatabaseState &)=delete
DatabaseState & mostly_harmless::data::operator= (DatabaseState &&other) noexcept
static auto mostly_harmless::data::tryCreate (const std::filesystem::path &location, const std::vector< std::pair< std::string, DatabaseValueVariant > > &initialValues) -> std::optional< DatabaseState >
 mostly_harmless::data::~DatabaseState () noexcept
template<DatabaseStorageType T>
auto mostly_harmless::data::set (std::string_view name, const T &toSet) -> void
template<DatabaseStorageType T>
auto mostly_harmless::data::get (std::string_view name) -> std::optional< T >
auto mostly_harmless::data::duplicate () const -> std::optional< DatabaseState >