Doubly Linked List v0.0.3
Loading...
Searching...
No Matches
app.hpp
1#ifndef APP_HPP
2#define APP_HPP
3
4#include <iostream>
5#include "../doubly_linked_list/doubly_linked_list.hpp"
6
9enum MenuOption {
10 INSERT_ITEM_AT_FRONT = 1,
11 INSERT_ITEM_AT_END,
12 INSERT_ITEM_AT_INDEX,
13
14 REMOVE_ITEM_FROM_FRONT,
15 REMOVE_ITEM_FROM_END,
16 REMOVE_ITEM_FROM_INDEX,
17 CLEAR_LIST,
18
19 DISPLAY_ALL_ITEMS,
20 DISPLAY_ALL_ITEMS_REVERSED,
21 DISPLAY_NEXT_ITEM_FROM_INDEX,
22 DISPLAY_PREVIOUS_ITEM_FROM_INDEX,
23
24 EXIT
25};
26
31std::istream& operator>>(std::istream& iStream, MenuOption& menuOption);
32
35class App {
36 static DoublyLinkedList doublyLinkedList;
37
38 App() = delete;
39 App(const App&) = delete;
40 App& operator=(const App&) = delete;
41
44 static int mainMenu();
45
46 // Funkcje obsługi wstawiania elementów
47
49 static void handleInsertItemAtFront();
50
52 static void handleInsertItemAtEnd();
53
55 static void handleInsertItemAtIndex();
56
57 // Funkcje obsługi usuwania elementów
58
60 static void handleRemoveItemFromFront();
61
63 static void handleRemoveItemFromEnd();
64
66 static void handleRemoveItemFromIndex();
67
68 // Funkcje obsługi wyświetlania elementów
69
71 static void handleDisplayAllItems();
72
74 static void handleDisplayAllItemsReversed();
75
77 static void handleDisplayNextItemFromIndex();
78
80 static void handleDisplayPreviousItemFromIndex();
81
82 // Inne operacje
83
85 static void handleClearList();
86
87 // Funkcja zakończenia działania aplikacji
88
91 static int handleExit();
92
93public:
97 static int run();
98};
99
100#endif /* APP_HPP */
Klasa reprezentująca aplikację obsługującą listę dwukierunkową. Umożliwia operacje takie jak dodawani...
Definition app.cpp:1
static int run()
Uruchamia aplikację. Wyświetla menu i pozwala użytkownikowi wykonywać operacje na liście.
Klasa reprezentująca listę dwukierunkową. Klasa umożliwia dodawanie, usuwanie oraz przeglądanie eleme...
Definition doubly_linked_list.cpp:1