source: proiecte/swift/trunk/lib/hoard-371/src/processheap.h @ 176

Last change on this file since 176 was 176, checked in by (none), 14 years ago
  • imported repo from "guagal"
File size: 1.1 KB
Line 
1// -*- C++ -*-
2
3#ifndef _PROCESSHEAP_H_
4#define _PROCESSHEAP_H_
5
6#include <stdlib.h>
7
8#include "alignedsuperblockheap.h"
9#include "conformantheap.h"
10#include "emptyhoardmanager.h"
11#include "hoardmanager.h"
12#include "hoardsuperblock.h"
13
14namespace Hoard {
15
16  template <size_t SuperblockSize,
17            int EmptinessClasses,
18            class LockType,
19            class ThresholdClass>
20  class ProcessHeap :
21    public ConformantHeap<
22    HoardManager<AlignedSuperblockHeap<LockType, SuperblockSize>,
23                 EmptyHoardManager<HoardSuperblock<LockType, SuperblockSize, ProcessHeap<SuperblockSize, EmptinessClasses, LockType, ThresholdClass> > >,
24                 HoardSuperblock<LockType, SuperblockSize, ProcessHeap<SuperblockSize, EmptinessClasses, LockType, ThresholdClass> >,
25                 EmptinessClasses,
26                 LockType,
27                 ThresholdClass,
28                 ProcessHeap<SuperblockSize, EmptinessClasses, LockType, ThresholdClass> > > {
29 
30public:
31 
32  ProcessHeap (void) {}
33   
34  // Disable allocation from this heap.
35  inline void * malloc (size_t);
36
37private:
38
39  // Prevent copying or assignment.
40  ProcessHeap (const ProcessHeap&);
41  ProcessHeap& operator=(const ProcessHeap&);
42
43};
44
45};
46
47#endif
Note: See TracBrowser for help on using the repository browser.