35 Commits

Author SHA1 Message Date
d2b6755704 Add swap() and support std::hash 2026-02-24 19:53:59 -05:00
464527a34d Test adding rcp management to an external class via inheritance 2026-02-24 19:41:34 -05:00
011460254d Test multiple C++ standards; move tests to top level 2026-02-24 18:06:16 -05:00
403db54664 Add "listener registration" test to test passing "this" out of a managed class 2026-02-24 17:49:23 -05:00
627661158e Add move version of rcp_dynamic_cast() 2026-02-24 17:17:34 -05:00
69ecab39f2 Allow comparing rcp<T> to rcp<U> 2026-02-24 17:10:01 -05:00
11555ded36 Add reset() 2026-02-24 17:07:07 -05:00
ddaae32525 Add casting move constructor 2026-02-24 16:00:14 -05:00
7880adef89 Add static_assert to upcasting constructor; add rcp_dynamic_cast() 2026-02-24 15:48:41 -05:00
ce921e31be Use explicit operator bool() 2026-02-24 15:29:34 -05:00
174a45cfe7 Use rcp instead of rcp<T> where possible 2026-02-24 15:23:22 -05:00
62b729badd Add move constructor and move assignment operator 2026-02-24 15:18:41 -05:00
2e30a9f407 Fix (and test) that copy constructor decrements previous object counter 2026-02-24 14:49:47 -05:00
4a1a0c8855 Add operator==() and operator!=() 2026-02-24 14:44:38 -05:00
47273edf6e Test construction from raw pointers 2026-02-23 23:01:56 -05:00
21f2dd4cad Add rcp::create() 2026-02-23 22:52:07 -05:00
ffe8433d55 Add operator bool() and test boolean checks 2026-02-23 22:44:55 -05:00
be2da870bb Add and test dereference operators 2026-02-23 22:43:05 -05:00
9dfb6e4740 Rename rcp_root() to rcp_managed_root() 2026-02-23 22:37:06 -05:00
53b2247432 Avoid need for rcp_managed() call in rcp root class 2026-02-23 22:35:57 -05:00
83ca3d8893 Add visibility attributes to rcp_managed() 2026-02-23 22:35:19 -05:00
eaad6ba6e0 Replace root class with rcp_root() macro 2026-02-23 22:33:09 -05:00
a70a0218dc Remove root_rcp 2026-02-23 22:29:03 -05:00
3fdb7c9bc6 Test construct and destruct counters match expected 2026-02-23 21:58:53 -05:00
71b4bf14a0 Remove get_root_rcp() 2026-02-23 21:55:26 -05:00
b45e664726 Fix initial implementation and add first test 2026-02-23 21:50:28 -05:00
13c7832c4b Fix tests to use CXX compiler and fail if valgrind detects leak 2026-02-23 21:29:55 -05:00
fac82eaaad Replace managed class with rcp_managed macro 2026-02-23 20:19:37 -05:00
f5d52dfe98 Drop rcp_internal namespace for now to get working 2026-02-23 17:50:04 -05:00
6fec208922 Start basic test infrastructure 2026-02-23 17:43:20 -05:00
6d6d7cda56 Add license in header 2026-02-23 17:34:33 -05:00
65c859030d Rename increment/decrement ref count APIs 2026-02-23 17:31:04 -05:00
c628177b94 Add initial idea for API 2026-02-23 09:33:40 -05:00
83c7b059b8 Add LICENSE 2026-02-23 09:33:09 -05:00
2c58e3def1 Create rcp repo with README 2026-02-23 09:33:00 -05:00