ROSE
0.11.145.237
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
a
c
d
g
h
i
l
m
n
s
t
u
v
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
Enumerations
a
b
c
d
e
f
i
k
l
m
o
p
s
t
v
w
x
Enumerator
a
b
c
d
e
f
h
i
l
m
n
o
p
s
t
u
v
w
y
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
v
w
x
y
Related Symbols
b
i
o
Files
File List
Examples
src
Sawyer
SharedObject.h
1
// WARNING: Changes to this file must be contributed back to Sawyer or else they will
2
// be clobbered by the next update from Sawyer. The Sawyer repository is at
3
// https://gitlab.com/charger7534/sawyer.git.
4
5
6
7
8
#ifndef Sawyer_SharedObject_H
9
#define Sawyer_SharedObject_H
10
11
#include <Sawyer/Sawyer.h>
12
#include <Sawyer/Synchronization.h>
13
14
namespace
Sawyer
{
15
64
class
SAWYER_EXPORT
SharedObject
{
65
template
<
class
U>
friend
class
SharedPointer
;
66
mutable
SAWYER_THREAD_TRAITS::Mutex mutex_;
67
mutable
size_t
nrefs_;
68
public
:
70
SharedObject
(): nrefs_(0) {}
71
76
SharedObject
(
const
SharedObject
&): nrefs_(0) {}
77
79
virtual
~SharedObject
() {
80
ASSERT_require(nrefs_==0);
81
}
79
virtual
~SharedObject
() {
…
}
82
86
SharedObject
&
operator=
(
const
SharedObject
&) {
87
return
*
this
;
88
}
86
SharedObject
&
operator=
(
const
SharedObject
&) {
…
}
89
};
64
class
SAWYER_EXPORT
SharedObject
{
…
};
90
91
}
// namespace
92
93
#endif
Sawyer::SharedObject
Base class for reference counted objects.
Definition
SharedObject.h:64
Sawyer::SharedObject::SharedObject
SharedObject(const SharedObject &)
Copy constructor.
Definition
SharedObject.h:76
Sawyer::SharedObject::operator=
SharedObject & operator=(const SharedObject &)
Assignment.
Definition
SharedObject.h:86
Sawyer::SharedObject::~SharedObject
virtual ~SharedObject()
Virtual destructor.
Definition
SharedObject.h:79
Sawyer::SharedObject::SharedObject
SharedObject()
Default constructor.
Definition
SharedObject.h:70
Sawyer::SharedPointer
Reference-counting intrusive smart pointer.
Definition
SharedPointer.h:65
Sawyer
Sawyer support library.
Definition
FeasiblePath.h:767
Generated on Mon Mar 10 2025 00:09:06 for ROSE by
1.9.8