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
Convert bespoke game element reference counting to use std::shared_ptr.
For historical reasons Gambit has had its own `GameObject` base class, which
combined tracking of object validity (i.e. not having been deleted from
its game) with reference-counting (for references to the object
in calling code).
This modernises this mechanism and more clearly separates the two concerns:
* Reference-counting is now done by using `std::shared_ptr`. Game objects are 'owned'
by the collections to which they belong, in terms
of whether the game itself contains a reference to an allocated object.
* Rather than having a separate base class which provides a validity flag (as that would be
all that remains in such a class), `GameObject` has been removed
and instead the `GameObjectPtr` template simply assumes that game elements provide an `IsValid` member.
Convert player ownership model to shared_ptr
Convert outcome ownership model to shared_ptr
Make chance player shared at allocation.
Convert strategy ownership model to shared_ptr
Move appending of information set out of ctor.
Convert action ownership model to shared_ptr
Convert infoset ownership model to shared_ptr
Convert node ownership model to shared_ptr
Remove old GameObject
Remove reference to smart pointer in class names
0 commit comments