From bf55ecaeb6849eab89fdb9bc5da51ff32dd1ea33 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Fri, 21 May 2021 08:43:43 +0100 Subject: Unpack row data into a vector or vector pair --- lib/row.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'lib/row.h') diff --git a/lib/row.h b/lib/row.h index ac2c135..4191644 100644 --- a/lib/row.h +++ b/lib/row.h @@ -6,15 +6,25 @@ #include namespace MyGrate { - class Row { + class Row : public std::vector { public: Row(const st_mariadb_rpl_rows_event &, const st_mariadb_rpl_table_map_event &); - void forEachField(const std::function & callback); + private: + friend class RowPair; + Row(const st_mariadb_rpl_rows_event &, const st_mariadb_rpl_table_map_event &, MyGrate::RawDataReader && md, + MyGrate::RawDataReader && data); + Row(const st_mariadb_rpl_rows_event &, const st_mariadb_rpl_table_map_event &, MyGrate::RawDataReader & md, + MyGrate::RawDataReader & data); + }; + + class RowPair : public std::pair { + public: + RowPair(const st_mariadb_rpl_rows_event &, const st_mariadb_rpl_table_map_event &); private: - const st_mariadb_rpl_rows_event & row; - const st_mariadb_rpl_table_map_event & tm; + RowPair(const st_mariadb_rpl_rows_event &, const st_mariadb_rpl_table_map_event &, + MyGrate::RawDataReader && md1, MyGrate::RawDataReader && md2, MyGrate::RawDataReader && data); }; } -- cgit v1.2.3