cinder / Cinder

Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.
http://libcinder.org
Other
5.34k stars 944 forks source link

Remove remaining implicit shared_ptr<Obj>'s #763

Closed richardeakin closed 9 years ago

richardeakin commented 9 years ago

This is the time to do it, since it is breaking, and fairly easy in most cases. From a quick search, the remaining classes using the old implicit shared_ptr design are:

2015/4/21 update: decided to hold off on Font for this release, Buffer will move to value semantics similar to Surface.

pizthewiz commented 9 years ago

Awesome, I was wondering about Buffer and Capture just the other day.

pizthewiz commented 9 years ago

Would ci::app::Event, ci::app::MouseEvent and ci::app::KeyEvent also fit?

richardeakin commented 9 years ago

This work has begun in glNext_remove_implicit_shared branch, starting with Serial.

@pizthewiz not exactly sure what you mean, app::Events are designed to be passed with value semantics and don't use shared pointers.

pizthewiz commented 9 years ago

Ahh my confusion, I thought the event types also had an implicit shared pointer internally.

richardeakin commented 9 years ago

Buffer work is in the branch glNext_buffer_value_semantics. Windows and iOS-specific code still needs to be surveyed, I've gone through the usage on Mac and updated where I felt appropriate.