Website Summary Files Commits Branches @commit @diff @stats
path: root / src
diff options
context:
space:
mode:
Commit3e6a6dbdc00c2153bf3f256ce1c87466b88ec921 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-02 08:10:15 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-02 08:10:15 +0300
Fileseb9d0aff1cee3ed4211adb07601326d977b1af7a /src
FMI-OOP-P1_TicketSystem-3e6a6dbdc00c2153bf3f256ce1c87466b88ec921.tar
FMI-OOP-P1_TicketSystem-3e6a6dbdc00c2153bf3f256ce1c87466b88ec921.tar.gz
FMI-OOP-P1_TicketSystem-3e6a6dbdc00c2153bf3f256ce1c87466b88ec921.zip
Parent0c2bb64cfdd5edf3d7db9152883092f1d349ba84 (diff)
Autocommit at 02.05.2022 @ 08:10
2 files changed, 20 insertions, 2 deletions
-rw-r--r--src/List/List.cpp18
-rw-r--r--src/List/List.h4
diff --git a/src/List/List.cpp b/src/List/List.cpp
index bdb9b4a..a0d0849 100644
--- a/src/List/List.cpp
+++ b/src/List/List.cpp
@@ -62,6 +62,24 @@ const T& List<T>::operator[](unsigned index) const {
}
template <class T>
+std::istream& List<T>::read(std::istream& istr) {
+ istr.read((char*)&length, sizeof(length));
+ istr.read((char*)&count, sizeof(count));
+ delete[] elements;
+ elements = new T[length];
+
+ for (int i = 0; i < count; i++)
+ istr >> elements[i];
+
+ return istr;
+}
+
+template <class T>
+std::ostream& List<T>::write(std::ostream& ostr) const {
+ return ostr;
+}
+
+template <class T>
unsigned List<T>::get_length() const {
return length;
}
diff --git a/src/List/List.h b/src/List/List.h
index 0e7722c..377cbf0 100644
--- a/src/List/List.h
+++ b/src/List/List.h
@@ -21,8 +21,8 @@ public:
T& operator[](unsigned index);
const T& operator[](unsigned index) const;
- std::istream read(std::istream& istr);
- std::ostream write(std::istream& ostr);
+ std::istream& read(std::istream& istr);
+ std::ostream& write(std::ostream& ostr) const;
unsigned get_length() const;
unsigned get_count() const;