summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2021-06-11 08:16:44 +0200
committerTyge Løvset <[email protected]>2021-06-11 08:16:44 +0200
commitc7944e2ddb51819dfaee9dd8d3708df54bd5a5d1 (patch)
treed7efc621b9e9008359f9cf1a6e21f1582d7e5c88 /include
parent5c8fc711e839287935b4090a55079496901d4626 (diff)
downloadSTC-modified-c7944e2ddb51819dfaee9dd8d3708df54bd5a5d1.tar.gz
STC-modified-c7944e2ddb51819dfaee9dd8d3708df54bd5a5d1.zip
Added missing csptr_X_init() and csptr_X_use_count().
Diffstat (limited to 'include')
-rw-r--r--include/stc/csptr.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/stc/csptr.h b/include/stc/csptr.h
index 70bd87f0..c6c36fb0 100644
--- a/include/stc/csptr.h
+++ b/include/stc/csptr.h
@@ -96,6 +96,12 @@ typedef long atomic_count_t;
struct CX##_rep_ {atomic_count_t cnt; CX##_value_t val;}; \
\
STC_INLINE CX \
+ CX##_init() { return c_make(CX){NULL, NULL}; } \
+\
+ STC_INLINE atomic_count_t \
+ CX##_use_count(CX ptr) { return ptr.use_count ? *ptr.use_count : 0; } \
+\
+ STC_INLINE CX \
CX##_from(CX##_value_t* p) { \
CX ptr = {p}; \
if (p) *(ptr.use_count = c_new(atomic_count_t)) = 1; \