Developer's Guide
Guide
Modules
Index
Files
v2017.1.19000
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
#define P6_IMPLEMENT_THREADSAFE_RELEASE
(
classname
)
Value:
P6R::P6INT32
classname::release() {
\
P6ASSERT
(0 != m_cRef.value);
\
P6R::P6INT32
tmp =
P6R::p6AtomicDec32
(&m_cRef.value); \
P6R::p6TraceRelease((
const
P6R::P6CHAR
*)#classname,
this
,tmp,NULL); \
if(0 == tmp) {
delete
this
; } \
return tmp; \
}
P6ASSERT
#define P6ASSERT(expr)
P6ASSERT should be used in place of any platform/compiler specific assert.
Definition:
p6defs.h:238
P6R::p6AtomicDec32
P6API P6INT32 P6CCALL p6AtomicDec32(P6INT32 volatile *pVar)
Atomically decrements the variable pointed to by pVar by one.
P6R::P6INT32
int32_t P6INT32
Definition:
p6types.h:76
P6R::P6CHAR
char P6CHAR
Narrow character type.
Definition:
p6types.h:105
Definition at line
98
of file
p6comhlpr.h
.
current
WINNT6.1_x86_OPT_64bit_vs2010.OBJ
intermediate
skc
src
p6comhlpr.h
© 2004 - 2014 P6R Inc. - All Rights Reserved.