diff options
| author | Tyge Løvset <[email protected]> | 2022-04-27 15:41:57 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2022-04-27 15:41:57 +0200 |
| commit | 630c5e98558e498941212e486e1b08e8e282d3b0 (patch) | |
| tree | 5cea7621b2f793e194631a39e2e4b2e762269d0a | |
| parent | b76773eef93b487cf6c6d2784207e3cf2fe6fcd8 (diff) | |
| download | STC-modified-630c5e98558e498941212e486e1b08e8e282d3b0.tar.gz STC-modified-630c5e98558e498941212e486e1b08e8e282d3b0.zip | |
Removed cbox_X_make() and carc_X_make() when i_rawval was not defined, i.e. like emplace is removed in other containers.
| -rw-r--r-- | include/stc/carc.h | 4 | ||||
| -rw-r--r-- | include/stc/cbox.h | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/include/stc/carc.h b/include/stc/carc.h index 80b9a879..02b932af 100644 --- a/include/stc/carc.h +++ b/include/stc/carc.h @@ -143,12 +143,12 @@ _cx_memb(_reset_from)(_cx_self* self, i_key val) { *self = _cx_memb(_from)(val);
}
-#if !defined _i_no_clone
+#if !defined _i_no_clone && !defined _i_no_emplace
STC_INLINE _cx_self
_cx_memb(_make)(_cx_raw raw) { return _cx_memb(_from)(i_keyfrom(raw)); }
#endif // !_i_no_clone
-// does not use i_keyfrom, so we can bypass c_no_clone
+// does not use i_keyclone, so OK to always define.
STC_INLINE _cx_self
_cx_memb(_clone)(_cx_self ptr) {
if (ptr.use_count) _i_atomic_inc(ptr.use_count);
diff --git a/include/stc/cbox.h b/include/stc/cbox.h index 780d6aaf..2d766509 100644 --- a/include/stc/cbox.h +++ b/include/stc/cbox.h @@ -122,9 +122,10 @@ _cx_memb(_reset_from)(_cx_self* self, i_key val) { }
#if !defined _i_no_clone
+#if !defined _i_no_emplace
STC_INLINE _cx_self
_cx_memb(_make)(_cx_raw raw) { return _cx_memb(_from)(i_keyfrom(raw)); }
-
+#endif
STC_INLINE _cx_self
_cx_memb(_clone)(_cx_self other) {
if (!other.get) return other;
|
