Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 50 million developers.Sign up
Warning: breaking changes to the interface
- Removed the destructor helper macro
- Changed the vararg usage to struct vararg. This change is NOT backward-compatible. Parenthesis around the value were removed with this change, and metadata is no longer passed as two separate parameters.
- OS X and Windows support
- Smart pointers now take a mandatory value. Uninitialized smart pointers may still be retrieved with a direct call to
- Fixed some typos and updated documentation & samples to fit the latest interface.
- Removed --with-malloc-wrapper ./configure flag.
- Removed malloc/free wrappers.
- Added unit tests & coverage reports.
- Fix for shared pointers accessing the wrong metadata.
- Added --with-malloc-wrapper and --with-fixed-allocator flags for ./configure.
- Added a fixed allocator support -- if the user does not want to override at runtime the allocators used by smalloc/sfree and just want to use malloc and free, they may enable this option using the --with-fixed-allocator configuration flag.
- Added malloc/free wrappers. Pointers produced by malloc can be used with the
smartattribute, and smart pointers may be passed to free. This option is deactivated by default, and can be enabled using the --with-malloc-wrapper configuration flag.
- unique_ptr and shared_ptr now take a type parameter instead of a size.
- Added support for static array types in the unique_ptr and shared_ptr macros.
- Added smart array allocation through smalloc. smalloc has been changed to take a mandatory
nmembparameter, that may be 0 if the allocated type is a scalar, and an array for any other value.
- Added unique_ptr and shared_ptr macros, added
- Added smalloc, sfree, sref, and get_smart_user_meta. Alternative allocators may be specified by setting the contents of