From 38c17f093615a16a4b4ec6dc2b5d3edb5c1d3895 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Thu, 27 Sep 2018 21:40:52 -0400 Subject: More hkutil refactoring All database access goes through hatkirby::database now. verbly::token, verbly::statement::condition, and verbly::part have been converted to use mpark::variant now. verbly::binding has been deleted, and replaced with a mpark::variant typedef in statement.h. This means that the only remaining tagged union class is verbly::generator::part. refs #5 --- lib/database.h | 61 +++++++++++++++++++++++++++------------------------------- 1 file changed, 28 insertions(+), 33 deletions(-) (limited to 'lib/database.h') diff --git a/lib/database.h b/lib/database.h index efb54e1..83c4c1c 100644 --- a/lib/database.h +++ b/lib/database.h @@ -1,11 +1,10 @@ -#ifndef DATABASE_H_0B0A47D2 -#define DATABASE_H_0B0A47D2 +#ifndef DATABASE_H_0B0A47D1 +#define DATABASE_H_0B0A47D1 #include -#include #include -#include #include +#include #include "notion.h" #include "word.h" #include "frame.h" @@ -14,8 +13,6 @@ #include "pronunciation.h" #include "order.h" -struct sqlite3; - namespace verbly { template @@ -28,24 +25,6 @@ namespace verbly { explicit database(std::string path); - // Disable copying - - database(const database& other) = delete; - database& operator=(const database& other) = delete; - - // Move constructor and move assignment - - database(database&& other); - database& operator=(database&& other); - - // Swap - - friend void swap(database& first, database& second); - - // Destructor - - ~database(); - // Information int getMajorVersion() const @@ -60,17 +39,35 @@ namespace verbly { // Queries - query notions(filter where, order sortOrder = {}, int limit = 1) const; + query notions( + filter where, + order sortOrder = {}, + int limit = 1) const; - query words(filter where, order sortOrder = {}, int limit = 1) const; + query words( + filter where, + order sortOrder = {}, + int limit = 1) const; - query frames(filter where, order sortOrder = {}, int limit = 1) const; + query frames( + filter where, + order sortOrder = {}, + int limit = 1) const; - query parts(filter where, order sortOrder = {}, int limit = 1) const; + query parts( + filter where, + order sortOrder = {}, + int limit = 1) const; - query
forms(filter where, order sortOrder = {}, int limit = 1) const; + query forms( + filter where, + order sortOrder = {}, + int limit = 1) const; - query pronunciations(filter where, order sortOrder = {}, int limit = 1) const; + query pronunciations( + filter where, + order sortOrder = {}, + int limit = 1) const; std::set selrestrs(int partId) const; @@ -78,9 +75,7 @@ namespace verbly { private: - database() = default; - - sqlite3* ppdb_ = nullptr; + mutable hatkirby::database ppdb_; int major_; int minor_; -- cgit 1.4.1