Laxkit
0.0.7.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
lax
anobject.h
1
//
2
//
3
// The Laxkit, a windowing toolkit
4
// Please consult http://laxkit.sourceforge.net about where to send any
5
// correspondence about this software.
6
//
7
// This library is free software; you can redistribute it and/or
8
// modify it under the terms of the GNU Library General Public
9
// License as published by the Free Software Foundation; either
10
// version 2 of the License, or (at your option) any later version.
11
//
12
// This library is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
// Library General Public License for more details.
16
//
17
// You should have received a copy of the GNU Library General Public
18
// License along with this library; if not, write to the Free Software
19
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
//
21
// Copyright (C) 2004-2006,2012 by Tom Lechner
22
//
23
#ifndef _LAX_ANOBJECT_H
24
#define _LAX_ANOBJECT_H
25
26
#include <cstring>
27
28
namespace
Laxkit {
29
30
class
anObject;
31
typedef
int
(*
DeleteRefCountedFunc
)(
anObject
*obj);
32
33
34
class
anObject
35
{
36
protected
:
37
int
_count
;
38
public
:
39
int
suppress_debug;
40
DeleteRefCountedFunc
deleteMe
;
41
unsigned
long
object_id;
42
char
*object_idstr;
43
anObject
();
44
virtual
~anObject
();
45
virtual
const
char
*
whattype
() {
return
"anObject"
; }
46
virtual
anObject
*duplicate(
anObject
*ref=NULL) {
return
NULL; }
47
virtual
int
inc_count
();
48
virtual
int
dec_count
();
49
virtual
int
the_count() {
return
_count
; }
50
};
51
52
53
}
// namespace Laxkit
54
55
#endif
56
57
Mon Feb 17 2014 11:52:56, Laxkit