I don't understand want exactly you need from me. Can you please elaborate?
We have to submit templatedDLList.h, record.cpp and library.cpp. Record.cpp and Library.cpp are empty. Please I need this asap. We are also provided with library-main.cpp and main.cpp if you need any of these please let me know.
Part 2.0 (20 points): Implementation of a class Record 1. Declare a class Record for keeping information about a book. Declare class members for a book: title, author's name, 13-digit ISBN, publishing year, and edition number.] Declare them (a) title (b) author (c) ISBN (d) year (e) edition 2. Outside the class define (a) input operator>> to enter the record from the input file Book.txt. (b) output operator #include
class Library { public: // Searches for a title in the database and returns vector of matching records std::vector search(std::string title); //Imports records from a file. Does not im duplicates. // Return the number of records added to the database int import_database (std::string filename); // Exports the current database to a file //Return the number of records exported int export_database (std::string filename); void print_database(); //add record to database, avoid complete duplicates bool add_record (Record book) ; //Deletes a record from the database void remove_record (Record book); // Prompts user for yes or no and returns choice Y or N char prompt_yes_no(); //Given a vector of menu options returns index of choice int prompt_menu (std::vector<:string>); // Prompts user for a new record Record prompt_record(); //Prompt for a valid title std::string prompt_title(); // Prompt for a valid string std::string prompt_string(std::string prompt); private: std::vector> book_db = vector #include Eclass Record { private: //member variables public: //accessor/mutator functions }; // Stream operators std::istream& operator>>(std::istream& is, Record& rec); std::ostream& operator #include using namespace std; template class DLList; // class declaration // doubly linked list node template Estruct DLListNode { T obj; DLListNode *prev, *next; // constructor DLListNode (Te = T(), DLListNode *p = nullptr, DLListNode *n = nullptr); }; // doubly linked list class template class DLList { private: DLListNode header, trailer; public: DLList();// default constructor DLList (const DLList& dll); // copy constructor DLList (DLList&& dll); // move constructor // doubly linked list class template class DLList { private: DLListNode header, trailer; public: DLList();// default constructor DLList (const DLList& dll); // copy constructor DLList (DLList&& dll); // move constructor ~DLList(); // destructor DLList& operator= (const DLList& dll); // copy assignment operator DLList& operator=(DLList&& dll); // move assignment operator // return the pointer to the first node DLListNode *first_node () const { return header.next; } // return the pointer to the trailer const DLListNode *after_last_node() const { return &trailer; } // return if the list is empty bool is_empty() const { return header.next &trailer; } T first() const; // return the first object T last() const; // return the last object void insert_first (T obj); // insert to the first node T remove_first(); // remove the first node void insert_last (T obj); // insert to the last node T remove_last(); // remove the last node void insert_after (DLListNode &p, T obj); void insert before (DLListNode &p, T obj); T remove_after (DLListNode &p); T remove before (DLListNode &p); == }; // output operator template ostream& operator& dll); #endif // This is TDLList-main.cpp file // test of the DLList class #include #include #include "TemplatedDLList.h"|| using namespace std; int main() { // Construct a linked list with header & trailer cout dll; cout dl12 (dll); cout dll3; dll3 dll; cout *curr = dll.first_node(); while (curr->obj != 50) { curr = curr->next; } DLListNode int>& ref *curr; // Insert before cout 50; --i) { dll.insert_after (ref, i); } cout 50; --i) { dll.insert_after (ref, i); } cout origbll; for (int i=10; i movedll (move (origDll)); dll2 = move (origDll); return 0; } Part 2.0 (20 points): Implementation of a class Record 1. Declare a class Record for keeping information about a book. Declare class members for a book: title, author's name, 13-digit ISBN, publishing year, and edition number.] Declare them (a) title (b) author (c) ISBN (d) year (e) edition 2. Outside the class define (a) input operator>> to enter the record from the input file Book.txt. (b) output operator #include class Library { public: // Searches for a title in the database and returns vector of matching records std::vector search(std::string title); //Imports records from a file. Does not im duplicates. // Return the number of records added to the database int import_database (std::string filename); // Exports the current database to a file //Return the number of records exported int export_database (std::string filename); void print_database(); //add record to database, avoid complete duplicates bool add_record (Record book) ; //Deletes a record from the database void remove_record (Record book); // Prompts user for yes or no and returns choice Y or N char prompt_yes_no(); //Given a vector of menu options returns index of choice int prompt_menu (std::vector<:string>); // Prompts user for a new record Record prompt_record(); //Prompt for a valid title std::string prompt_title(); // Prompt for a valid string std::string prompt_string(std::string prompt); private: std::vector> book_db = vector #include Eclass Record { private: //member variables public: //accessor/mutator functions }; // Stream operators std::istream& operator>>(std::istream& is, Record& rec); std::ostream& operator #include using namespace std; template class DLList; // class declaration // doubly linked list node template Estruct DLListNode { T obj; DLListNode *prev, *next; // constructor DLListNode (Te = T(), DLListNode *p = nullptr, DLListNode *n = nullptr); }; // doubly linked list class template class DLList { private: DLListNode header, trailer; public: DLList();// default constructor DLList (const DLList& dll); // copy constructor DLList (DLList&& dll); // move constructor // doubly linked list class template class DLList { private: DLListNode header, trailer; public: DLList();// default constructor DLList (const DLList& dll); // copy constructor DLList (DLList&& dll); // move constructor ~DLList(); // destructor DLList& operator= (const DLList& dll); // copy assignment operator DLList& operator=(DLList&& dll); // move assignment operator // return the pointer to the first node DLListNode *first_node () const { return header.next; } // return the pointer to the trailer const DLListNode *after_last_node() const { return &trailer; } // return if the list is empty bool is_empty() const { return header.next &trailer; } T first() const; // return the first object T last() const; // return the last object void insert_first (T obj); // insert to the first node T remove_first(); // remove the first node void insert_last (T obj); // insert to the last node T remove_last(); // remove the last node void insert_after (DLListNode &p, T obj); void insert before (DLListNode &p, T obj); T remove_after (DLListNode &p); T remove before (DLListNode &p); == }; // output operator template ostream& operator& dll); #endif // This is TDLList-main.cpp file // test of the DLList class #include #include #include "TemplatedDLList.h"|| using namespace std; int main() { // Construct a linked list with header & trailer cout dll; cout dl12 (dll); cout dll3; dll3 dll; cout *curr = dll.first_node(); while (curr->obj != 50) { curr = curr->next; } DLListNode int>& ref *curr; // Insert before cout 50; --i) { dll.insert_after (ref, i); } cout 50; --i) { dll.insert_after (ref, i); } cout origbll; for (int i=10; i movedll (move (origDll)); dll2 = move (origDll); return 0; }