FreeNOS
BubbleAllocator.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2009 Niek Linnenbank
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef __LIBALLOC_BUBBLEALLOCATOR_H
19 #define __LIBALLOC_BUBBLEALLOCATOR_H
20 
21 #include <Types.h>
22 #include "Allocator.h"
23 
35 class BubbleAllocator : public Allocator
36 {
37  public:
38 
44  BubbleAllocator(const Range range);
45 
51  virtual Size available() const;
52 
64  virtual Result allocate(Range & args);
65 
75  virtual Result release(const Address addr);
76 
77  private:
78 
81 };
82 
88 #endif /* __LIBALLOC_BUBBLEALLOCATOR_H */
BubbleAllocator::BubbleAllocator
BubbleAllocator(const Range range)
Class constructor.
Definition: BubbleAllocator.cpp:21
Types.h
BubbleAllocator::release
virtual Result release(const Address addr)
Release memory.
Definition: BubbleAllocator.cpp:47
Allocator.h
Allocator
Memory Allocator.
Definition: Allocator.h:46
Address
unsigned long Address
A memory address.
Definition: Types.h:131
BubbleAllocator::allocate
virtual Result allocate(Range &args)
Allocate memory.
Definition: BubbleAllocator.cpp:32
BubbleAllocator::available
virtual Size available() const
Get memory available.
Definition: BubbleAllocator.cpp:27
BubbleAllocator
Keeps growing allocated memory, and can't actually free memory (hence the name).
Definition: BubbleAllocator.h:35
Size
unsigned int Size
Any sane size indicator cannot go negative.
Definition: Types.h:128
BubbleAllocator::m_allocated
Size m_allocated
Number of bytes allocated.
Definition: BubbleAllocator.h:80
Allocator::Range
Describes a range of memory.
Definition: Allocator.h:65
Allocator::Result
Result
Allocation results.
Definition: Allocator.h:53