Skip to content

Releases: bindreams/poly

poly - version 0.5.0

14 Jul 11:58

Choose a tag to compare

poly - version 0.5.0 Pre-release
Pre-release

Summary

This release fixes a compiler error when a class has a member of type poly containing itself.
As a consequence of this fix, standard policies are no longer destructor-permissive. If a base class does not have a virtual destructor, a compiler error will be raised.
If you need permissive policies, it is recommended that you create your own using pl::compound and/or copy the code from previous release.

Changes are not backward-compatible if your classes do not have virtual destructors. Please refer to the README for more information on the API.

Changes

  • Fixed a bug that prevented classes containing poly to themselves

poly - version 0.4.1

26 Aug 10:30

Choose a tag to compare

poly - version 0.4.1 Pre-release
Pre-release

Summary

This release fixes a bug that disallowed using POLY_CUSTOM_TYPE_NAME properly.

Changes are backward-compatible. Please refer to the README for more information on the API.

Changes

  • Fixed POLY_CUSTOM_TYPE_NAME macro being used with non-type tokens

poly - version 0.4.0

28 Jun 21:17

Choose a tag to compare

poly - version 0.4.0 Pre-release
Pre-release

Summary

This release (as always) completely changes the project. It introduces configurable and expandable poly using new copy-delete policies, as well as big memory, perfomance improvements and bugfixes.

Changes are not backward-compatible. Please refer to the README for the guide on how to use the updated API.

Changes

  • All types are now in the pl namespace
  • Added copy-delete policies to poly
  • Added class compound to help with creating policies
  • Added release and reset member functions to poly
  • Re-built factory
  • factory is now included in the same file, poly.hpp
  • Replaced make_poly with make
  • Added transform_poly
  • Added comparison operators
  • Added support for std::hash
  • Removed dynamic_cast from everywhere

poly - version 0.3.1

26 Mar 23:00

Choose a tag to compare

poly - version 0.3.1 Pre-release
Pre-release

This release contains a bugfix, as well as a better README and some small macro changes.
Changes:

  • renamed POLY_CUSTOM_RTTI to POLY_CUSTOM_TYPE_NAME
  • expanded README
  • other internal changes

Bugfixes:

  • fixed (properly) an unused variable warning
  • fixed a diamond of death in pseudocode in README

poly - version 0.3.0

25 Mar 21:20

Choose a tag to compare

poly - version 0.3.0 Pre-release
Pre-release

This release contains a bunch of major bugfixes, as well as a couple of new features.
New:

  • make_poly for better poly creation.
  • POLY_CUSTOM_RTTI for using poly with other rtti libraries without modifiyng the file itself.

Bugfixes:

  • fixed poly not being properly copyable and copy-assignable.
  • fixed loose member definitions
  • fixed (kinda) an unused variable warning.
  • fixed a no return in constexpr warning.

poly - version 0.2.0

24 Dec 11:08

Choose a tag to compare

poly - version 0.2.0 Pre-release
Pre-release

This update removes stored_type functionality from poly, reducing both perfomance hits and class size. Type can still be examined using typeid or a RTTI library of your choice on the stored pointer. poly now can be constructed and assigned from other poly with different base class, as long as they can be casted from that base. Compatability macros were added to bring back some of the flexibility lost in v0.1.0.

First Release!

16 Oct 19:27

Choose a tag to compare

First Release! Pre-release
Pre-release

This is the first release, and also the last one to feature configurable variants of poly and factory: basic_poly and basic_factory. Generalized variants are rarely useful and impossible to specialize without perfomance drops.