Releases: Snaipe/libcsptr
Releases · Snaipe/libcsptr
Version 2.0.3
Version 2.0.2
libcsptr now produces a shared library.
Version 2.0.1
Made shared pointers use its own atomic functions for build compatibility on c99
Version 2.0.0
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
Version 1.0.0
- Smart pointers now take a mandatory value. Uninitialized smart pointers may still be retrieved with a direct call to
smalloc
. - Fixed some typos and updated documentation & samples to fit the latest interface.
Version 0.3.1
- Removed --with-malloc-wrapper ./configure flag.
- Removed malloc/free wrappers.
- Added unit tests & coverage reports.
- Fix for shared pointers accessing the wrong metadata.
Version 0.3
- 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
smart
attribute, 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.
Version 0.2
- 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
nmemb
parameter, that may be 0 if the allocated type is a scalar, and an array for any other value.
Version 0.1
- Added unique_ptr and shared_ptr macros, added
smart
variable attribute. - Added smalloc, sfree, sref, and get_smart_user_meta. Alternative allocators may be specified by setting the contents of
smalloc_allocator
.