You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add KeyedVec, and Global ID Registry copied from osp-magnum
More Bit stuff
Add a BitVector (DON'T COPY THE OSP-MAGNUM ONE)
Maybe add an interface that behaves more like std::set?
Different types of BitView and BitVector:
Regular - Plain bit array
Bookmarked - Saves position of the first known 1 bit and/or the first 0 bit, speeding up finding the first value when iterating .ones() or .zeros()
Hierarchical - see Optimize HierarchicalBitset #3 , only really need like 1..3 hierarchy levels. each hierarchy level can indicate whether any of the 256+ bits below it is 1, instead of just 2 bits in the current shitty HierarchicalBitset one.
Refcount improvements
Current one is ugly.
void ref_release(Owner_t&&) - doesn't return any info about the current ref count
Don't just return a bool or int. Return a struct with a bool reachedZero and maybe a current ref count. Makes it obvious that the condition is that if the ref count reaches zero:
if (refcount.release(std::move(id)).reachedZero)
{
// Kill the instance for real
}
The text was updated successfully, but these errors were encountered:
More Bit stuff
Different types of BitView and BitVector:
.ones()
or.zeros()
Refcount improvements
Current one is ugly.
void ref_release(Owner_t&&)
- doesn't return any info about the current ref countDon't just return a bool or int. Return a struct with a bool
reachedZero
and maybe a current ref count. Makes it obvious that the condition is that if the ref count reaches zero:The text was updated successfully, but these errors were encountered: