-// Distributed under the MIT license. Copyright (c) 2010, Ivan Vashchaev
-
-#ifndef BLOCK_ALLOCATOR_H
-#define BLOCK_ALLOCATOR_H
-
-class block_allocator
-{
-private:
- struct block
- {
- size_t size;
- size_t used;
- char *buffer;
- block *next;
- };
-
- block *m_head;
- size_t m_blocksize;
-
- block_allocator(const block_allocator &);
- block_allocator &operator=(block_allocator &);
-
-public:
- block_allocator(size_t blocksize);
- ~block_allocator();
-
- // exchange contents with rhs
- void swap(block_allocator &rhs);
-
- // allocate memory
- void *malloc(size_t size);
-
- // free all allocated blocks
- void free();
-};
-
-#endif
+// Distributed under the MIT license. Copyright (c) 2010, Ivan Vashchaev\r
+\r
+#ifndef BLOCK_ALLOCATOR_H\r
+#define BLOCK_ALLOCATOR_H\r
+\r
+class block_allocator\r
+{\r
+private:\r
+ struct block\r
+ {\r
+ size_t size;\r
+ size_t used;\r
+ char *buffer;\r
+ block *next;\r
+ };\r
+\r
+ block *m_head;\r
+ size_t m_blocksize;\r
+\r
+ block_allocator(const block_allocator &);\r
+ block_allocator &operator=(block_allocator &);\r
+\r
+public:\r
+ block_allocator(size_t blocksize);\r
+ ~block_allocator();\r
+\r
+ // exchange contents with rhs\r
+ void swap(block_allocator &rhs);\r
+\r
+ // allocate memory\r
+ void *malloc(size_t size);\r
+\r
+ // free all allocated blocks\r
+ void free();\r
+};\r
+\r
+#endif\r