This section lists the major changes between different library releases (in
chronological order).
-
Incorporated all comments from the Boost
review of this library.
-
Removed local blocks and local exits.
-
Renamed the library from Boost.Local to Boost.LocalFunction.
-
Using
this_
instead of
this
also in the local function
declaration (not just the body).
-
Made changes that allow to return local functions (similar to closures).
-
Added GCC lambda and constant block examples.
-
Moved
overloaded_function
to Boost.Functional/OverloadedFunction.
-
Moved
BOOST_IDENTITY_TYPE
to Boost.Utility/IdentityType.
-
Completely removed use of Boost.Typeof when bound and result types are
explicitly specified.
-
Added
..._ID
macros for multiple expansions on the same line.
-
Fixed compilation on Boost regression test platforms.
-
Replaced parenthesized syntax with variadic and sequencing macro syntaxes.
-
Profiled library performances against other approaches.
-
Replaced virtual functor trick with casting functor trick (for smaller
run-time).
-
Optimized library run-time (rearranging code and not using casting functor
trick on compilers that accept local classes as template parameters).
-
Supported inline and recursive local functions.
-
Added type-of macro to expose bound types.
-
Allowed to explicitly specify bound types.
-
Removed using
boost::function
instead of exposing internal
local functor as public API.
-
Added functor to overload local functions (and functors in general).
-
Implemented support for nesting local functions, blocks, and exits into
one another.
-
Uploaded library source into Boost SVN sandbox.
-
Fixed prev/next arrows and other minor layouts in documentation.
-
Added Release section to documentation.
-
Shared with Boost for first round of comments.
-
Completed development, examples, and documentation.