-// 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
+// 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