aboutsummaryrefslogtreecommitdiff
path: root/week12/Exercise1/TextDocument.h
blob: cda1a32fd81e78b5f85ee0d306f0e7ece57d0eca (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once
#include <iostream>

class TextDocument {
	char* text;
	unsigned len;

	void free();
	void copyFrom(const TextDocument& other);

public:
	TextDocument();
	~TextDocument();
	TextDocument(const TextDocument& other);
	TextDocument& operator=(const TextDocument& other);
	TextDocument(TextDocument&& other);
	TextDocument& operator=(TextDocument&& other);

	friend std::ostream& operator<<(std::ostream& ostr, const TextDocument& other);
};