Commit Graph

7 Commits

Author SHA1 Message Date
9cd83fc426 Call ~ControlBlock
It's trivially destructible, but just in case. Compiler should optimize it out
2025-09-11 13:18:19 -04:00
10e382f633 Used biased weak count, cache T* pointer
Logically, the strong pointer that destroys T owns +1 weak count too
2025-09-11 13:15:03 -04:00
994e31032f Fix data race in freeing control block 2025-09-11 11:32:59 -04:00
0f179eed88 Switch to two separate atomic counters
It's faster and still correct. I was confused remembering something
about atomic shared pointer ideas before.
2025-09-11 10:53:25 -04:00
b9106a0d3c Add test_reference.cpp 2025-09-10 22:05:31 -04:00
6aaca4c171 Finish reference.hpp 2025-09-10 21:58:08 -04:00
7c4d928807 Start on Ref/WeakRef 2025-09-10 20:04:32 -04:00