1. move some of the detail types to the internal namespace
2. rename glib_assign_uptr and glib_assign_sptr to glib_assign()
3. merge GlibAssigner{UPtr,SPtr} implementations
There are some functions that are returning internal types, but they are either (a) types with public aliases, or (b) types that the caller shouldn't be referencing directly.
I had a little play with your branch, and made a few cleanups in this diff:
http:// paste.ubuntu. com/24232796/
Primarily:
1. move some of the detail types to the internal namespace UPtr,SPtr} implementations
2. rename glib_assign_uptr and glib_assign_sptr to glib_assign()
3. merge GlibAssigner{
There are some functions that are returning internal types, but they are either (a) types with public aliases, or (b) types that the caller shouldn't be referencing directly.