File: GC.h

package info (click to toggle)
openc%2B%2B 2.8-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 5,464 kB
  • ctags: 3,333
  • sloc: cpp: 19,071; sh: 12,793; ansic: 3,549; makefile: 577
file content (59 lines) | stat: -rw-r--r-- 1,445 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

//@beginlicenses@
//@license{Stefan Seefeld}{2004}@
//
//  Permission to use, copy, distribute and modify this software and its  
//  documentation for any purpose is hereby granted without fee, provided that
//  the above copyright notice appears in all copies and that both that copyright
//  notice and this permission notice appear in supporting documentation.
// 
//  Stefan Seefeld make(s) no representations about the suitability of this
//  software for any purpose. It is provided "as is" without express or implied
//  warranty.
//  
//  Copyright (C) 2004 Stefan Seefeld
//
//@endlicenses@

/*
  Copyright (C) 2004 Stefan Seefeld

  Permission to use, copy, distribute and modify this software and
  its documentation for any purpose is hereby granted without fee,
  provided that the above copyright notice appear in all copies and that
  both that copyright notice and this permission notice appear in
  supporting documentation.
*/
#ifndef guard_opencxx_parser_GC_h
#define guard_opencxx_parser_GC_h

#include <cstdlib>

// define dummy replacements for GC allocator operators

namespace Opencxx
{

enum GCPlacement {GC, NoGC};
class LightObject {};
class Object {};

inline
int GcCount()
{
    return 0;
}

}

inline void* operator new(size_t size, Opencxx::GCPlacement gcp)
{
    return ::operator new(size);
}

inline void* operator new [](size_t size, Opencxx::GCPlacement gcp)
{
    return ::operator new [](size);
}

#endif