Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Generic / String / String.h
diff options
context:
space:
mode:
Commita8388cfdc47386dcb61f1b5bb9190ce382bf3f1d (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-08 19:50:18 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-08 19:50:18 +0300
Files9c884826aaffc94664e9e053919336feccfbaeae /src/Generic/String/String.h
FMI-OOP-P1_TicketSystem-a8388cfdc47386dcb61f1b5bb9190ce382bf3f1d.tar
FMI-OOP-P1_TicketSystem-a8388cfdc47386dcb61f1b5bb9190ce382bf3f1d.tar.gz
FMI-OOP-P1_TicketSystem-a8388cfdc47386dcb61f1b5bb9190ce382bf3f1d.zip
Parentde678e3a54bdcb776edb43179ff39e02ffb15d8e (diff)
Fully documented generic classes
1 files changed, 17 insertions, 1 deletions
-rw-r--r--src/Generic/String/String.h18
diff --git a/src/Generic/String/String.h b/src/Generic/String/String.h
index 6a8b014..84fbe9c 100644
--- a/src/Generic/String/String.h
+++ b/src/Generic/String/String.h
@@ -1,6 +1,10 @@
#ifndef HEADER_STRING
#define HEADER_STRING
+/*! \file String.h
+ * \brief Stores declaration of class String
+ */
+
#include <istream>
#include <ostream>
@@ -12,12 +16,20 @@ class String {
void copyFrom(const String& other);
public:
+ //! The underlying array is allocated with length (+ 1) size
String(unsigned length);
+ //! Copies str
String(const char* str);
+ //! Returns internal C-style string
const char* get_cstr() const;
+ //! Returns number of characters in string
unsigned get_length() const;
+ //! Returns a character reference (from the underlying C-style string) at the given index
+ char& operator[](unsigned index);
+ //! Appends a C-style string
String& operator+=(const char* str);
+ //! Appends a number
String& operator+=(unsigned number);
String();
@@ -28,12 +40,16 @@ public:
String(String&& other);
String& operator=(String&& other);
+ //! Reads String from stream
void read(std::istream& istr);
+ //! Writes String to stream
void write(std::ostream& ostr) const;
+ //! Compares two strings
int compare(const String& other) const;
- char& operator[](unsigned index);
+ //! Reads String from stream with >> operator
friend std::istream& operator>>(std::istream& istr, String& event);
+ //! Writes String to stream with << operator
friend std::ostream& operator<<(std::ostream& ostr, const String& event);
};