digitalmars.D.learn - reference counting resources but NOT memory
- Tove (12/12) Jan 16 2021 Is there any elegant/smart solution to reference counting
- rikki cattermole (3/3) Jan 16 2021 What you are describing sounds like regular reference counting.
Is there any elegant/smart solution to reference counting resources without ever freeing any objects? When the ref hits 0 it should free some other resource that isn't memory... Resource[10] resources; resources[3].inc; // 1 ref - 0->1 transition enable some feature resources[3].dec; // 0 ref - 1->0 transition disable some feature resources[3].inc; // 1 ref - instantly ready to be used again without any alloc/free Maybe it's best to use normal constructor/destructor with some arena memory allocator that never actually frees anything? Must be a common problem, anyone got experience with a good design?
Jan 16 2021
What you are describing sounds like regular reference counting. All resources (i.e. windows) are pinned somewhere in memory. Its just that you have to use special API's to destroy them rather than free.
Jan 16 2021