Libcsptr Versions Save

Smart pointers for the (GNU) C programming language

v2.0.3

8 years ago

Added --without-sentinel configure option to disable variadic argument sentinels

v2.0.2

8 years ago

libcsptr now produces a shared library.

v2.0.1

9 years ago

Made shared pointers use its own atomic functions for build compatibility on c99

v2.0.0

9 years ago

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

v1.0

9 years ago
  • 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.

v0.3.1

9 years ago
  • Removed --with-malloc-wrapper ./configure flag.
  • Removed malloc/free wrappers.
  • Added unit tests & coverage reports.
  • Fix for shared pointers accessing the wrong metadata.

v0.3

9 years ago
  • 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.

v0.2

9 years ago
  • 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.

v0.1

9 years ago
  • 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.