-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathString.h
More file actions
32 lines (27 loc) · 717 Bytes
/
String.h
File metadata and controls
32 lines (27 loc) · 717 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once
#include <cstddef>
#include <stdint.h>
class String
{
public:
String();
String(const char* str);
String(const String& str);
String(String&& str) noexcept;
String(const String& str, size_t pos, size_t len);
~String();
String& operator= (const char* str);
String& operator= (String&& str) noexcept;
char& operator[] (std::size_t pos);
bool operator< (String& str);
bool operator== (String& str);
friend std::ostream& operator<< (std::ostream&, String& str);
String& insert(std::size_t pos, const char* str);
int compare(const String& str);
size_t find(const String& str, size_t pos) const;
private:
std::size_t size;
std::size_t capacity;
char* pointer;
void swap(String& right);
};