From c498cfa5cfd6408b465e45409987467b47b2b73d Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Wed, 14 Dec 2022 10:12:03 -0500 Subject: Fixed uncopyable word class --- lib/word.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib/word.cpp') diff --git a/lib/word.cpp b/lib/word.cpp index 60657ba..2fccb9f 100644 --- a/lib/word.cpp +++ b/lib/word.cpp @@ -44,7 +44,7 @@ namespace verbly { return field::joinThroughWhere(object::word, "lemma_id", object::form, "lemmas_forms", "form_id", "category", static_cast(category)); } - word::word(const database& db, hatkirby::row row) : db_(db), valid_(true) + word::word(const database& db, hatkirby::row row) : db_(&db), valid_(true) { id_ = mpark::get(row[0]); @@ -104,7 +104,12 @@ namespace verbly { void word::initializeForm(inflection infl) const { - forms_[infl] = db_.forms(form::words(infl) %= *this, verbly::form::id, -1).all(); + if (!db_) + { + throw std::domain_error("Database not present"); + } + + forms_[infl] = db_->forms(form::words(infl) %= *this, verbly::form::id, -1).all(); } filter word::synonyms_field::operator%=(filter joinCondition) const -- cgit 1.4.1