From 75e947fa0021547f460496d1c3aef5b61af4c669 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Sat, 31 Mar 2018 23:05:02 -0400 Subject: Migrated generator to hkutil --- generator/group.cpp | 59 ++++++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 28 deletions(-) (limited to 'generator/group.cpp') diff --git a/generator/group.cpp b/generator/group.cpp index 5b23578..1ffb9d9 100644 --- a/generator/group.cpp +++ b/generator/group.cpp @@ -1,10 +1,8 @@ #include "group.h" #include #include -#include "database.h" -#include "field.h" +#include #include "frame.h" -#include "../lib/util.h" namespace verbly { namespace generator { @@ -50,28 +48,26 @@ namespace verbly { return roles_.at(name); } - database& operator<<(database& db, const group& arg) + hatkirby::database& operator<<(hatkirby::database& db, const group& arg) { // Serialize each frame for (const frame& f : arg.getFrames()) { // First, serialize the group/frame relationship - { - std::list fields; - - fields.emplace_back("frame_id", f.getId()); - fields.emplace_back("group_id", arg.getId()); - fields.emplace_back("length", f.getLength()); - - db.insertIntoTable("frames", std::move(fields)); - } + db.insertIntoTable( + "frames", + { + { "frame_id", f.getId() }, + { "group_id", arg.getId() }, + { "length", f.getLength() } + }); // Then, serialize the frame parts in the context of the group for (int partIndex = 0; partIndex < f.getLength(); partIndex++) { const part& p = f[partIndex]; - std::list fields; + std::list fields; fields.emplace_back("part_id", p.getId()); fields.emplace_back("frame_id", f.getId()); fields.emplace_back("part_index", partIndex); @@ -92,23 +88,23 @@ namespace verbly { for (const std::string& s : partSelrestrs) { - std::list selrestrFields; - - selrestrFields.emplace_back("part_id", p.getId()); - selrestrFields.emplace_back("selrestr", s); - - db.insertIntoTable("selrestrs", std::move(selrestrFields)); + db.insertIntoTable( + "selrestrs", + { + { "part_id", p.getId() }, + { "selrestr", s } + }); } // Short interlude to serialize the synrestrs for (const std::string& s : p.getNounSynrestrs()) { - std::list synrestrFields; - - synrestrFields.emplace_back("part_id", p.getId()); - synrestrFields.emplace_back("synrestr", s); - - db.insertIntoTable("synrestrs", std::move(synrestrFields)); + db.insertIntoTable( + "synrestrs", + { + { "part_id", p.getId() }, + { "synrestr", s } + }); } break; @@ -117,10 +113,17 @@ namespace verbly { case part::type::preposition: { std::set setChoices = p.getPrepositionChoices(); - std::string serializedChoices = implode(std::begin(setChoices), std::end(setChoices), ","); + + std::string serializedChoices = + hatkirby::implode( + std::begin(setChoices), + std::end(setChoices), + ","); fields.emplace_back("prepositions", std::move(serializedChoices)); - fields.emplace_back("preposition_literality", p.isPrepositionLiteral() ? 1 : 0); + + fields.emplace_back("preposition_literality", + p.isPrepositionLiteral() ? 1 : 0); break; } -- cgit 1.4.1