From e0964bbc4f66e7d193abd249213c9cf762fd0294 Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 30 Dec 2020 15:37:39 +0800 Subject: import(life): ... --- works/life/cpp-practicum/Record.hpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 works/life/cpp-practicum/Record.hpp (limited to 'works/life/cpp-practicum/Record.hpp') diff --git a/works/life/cpp-practicum/Record.hpp b/works/life/cpp-practicum/Record.hpp new file mode 100644 index 0000000..e39e626 --- /dev/null +++ b/works/life/cpp-practicum/Record.hpp @@ -0,0 +1,36 @@ +#pragma once +#include "Base.hpp" + +#include "Book.hpp" +#include "Vendor.hpp" + +#include +#include +#include + +class Record final { +public: + Record(); + + CRU_DEFAULT_COPY(Record); + CRU_DEFAULT_MOVE(Record); + + ~Record() = default; + +public: + void WriteTo(QFile file); + void ReadFrom(QFile file); + + const std::vector &GetBooks() const { return books_; } + const std::vector &GetVendors() const { return vendors_; } + + // TODO: Implementation + std::optional FindBookByIsbn(std::u16string_view isbn); + + // TODO: Implementation + void RemoveBookByIsbn(std::u16string_view isbn); + +private: + std::vector books_; + std::vector vendors_; +}; -- cgit v1.2.3