blob: f05de57227f8d50f1fb2827f1a461bcc4c7d85eb (
plain)
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
|
#include <stdio.h>
#include "bu/cache.h"
#include "bu/cachable.h"
class Bob : public Bu::Cachable
{
public:
Bob()
{
TRACE();
}
virtual ~Bob()
{
TRACE();
}
void setInt( int i )
{
TRACE();
iInt = i;
}
int getInt()
{
return iInt;
}
long getCacheId() const
{
TRACE();
return 0;
}
int iInt;
};
DECL_CACHABLE( Bob );
DEF_CACHABLE( Bob );
int main()
{
Bu::Cache<Bob> bobCache;
Bu::CPtr<Bob> pB1 = bobCache.insert( new Bob() );
(*pB1).setInt( 44 );
printf("RefCnt = %d\n", bobCache.getRefCnt( 0 ) );
Bu::CPtr<Bob> pB2 = bobCache.get( 0 );
printf("RefCnt = %d\n", bobCache.getRefCnt( 0 ) );
printf("Int = %d\n", pB2->getInt() );
}
|