gloox
1.0.22
src
atomicrefcount.h
1
/*
2
Copyright (c) 2007-2017 by Jakob Schröter <js@camaya.net>
3
This file is part of the gloox library. http://camaya.net/gloox
4
5
This software is distributed under a license. The full license
6
agreement can be found in the file LICENSE in this distribution.
7
This software may not be copied, modified, sold or distributed
8
other than expressed in the named license agreement.
9
10
This software is distributed without any warranty.
11
*/
12
13
14
#ifndef ATOMICREFCOUNT_H__
15
#define ATOMICREFCOUNT_H__
16
17
#include "macros.h"
18
#include "mutex.h"
19
20
namespace
gloox
21
{
22
23
namespace
util
24
{
34
class
GLOOX_API
AtomicRefCount
35
{
36
public
:
40
AtomicRefCount
();
41
46
int
increment();
47
52
int
decrement();
53
58
void
reset();
59
60
private
:
61
AtomicRefCount
& operator=(
const
AtomicRefCount
& );
62
63
volatile
int
m_count;
64
65
// The mutex is only used if a native function is unavailable.
66
Mutex
m_lock;
67
68
};
69
70
}
71
72
}
73
74
#endif // ATOMICREFCOUNT_H__
75
gloox::util::AtomicRefCount
A simple implementation of a thread safe 32-bit reference count. Native functions are used where poss...
Definition:
atomicrefcount.h:34
gloox::util::Mutex
A simple implementation of mutex as a wrapper around a pthread mutex or a win32 critical section.
Definition:
mutex.h:33
gloox
The namespace for the gloox library.
Definition:
adhoc.cpp:27
Generated on Mon Apr 25 2022 14:03:04 for gloox by
1.8.17