28 lines
No EOL
725 B
C++
28 lines
No EOL
725 B
C++
// Tóth Dániel Mátyás | IFPQYY | v1
|
|
#pragma once
|
|
class CMyString {
|
|
public:
|
|
CMyString();
|
|
CMyString(const char* psz);
|
|
CMyString(char ch, size_t repeat = 1);
|
|
CMyString(const CMyString& str);
|
|
~CMyString();
|
|
size_t size() const;
|
|
size_t capacity() const;
|
|
const char* c_str() const;
|
|
void clear();
|
|
char getat(size_t index) const;
|
|
void setat(size_t index, char ch);
|
|
void reserve(size_t newcapacity);
|
|
void erase(size_t pos, size_t count);
|
|
bool empty() const;
|
|
void display() const;
|
|
void shrink_to_fill();
|
|
void reverse();
|
|
void append(const char* psz, unsigned offset = 0, unsigned count = ~0);
|
|
CMyString& operator=(const CMyString& str);
|
|
private:
|
|
char* m_pchData;
|
|
size_t m_nDataLength;
|
|
size_t m_nAllocLength;
|
|
}; |