Skip to content

v0.8.1

Latest
Compare
Choose a tag to compare
@hsutter hsutter released this 31 Jan 01:52
· 3 commits to main since this release
ec1f98a

Highlights

Added support for "guard" local object naming convention

For a local variable whose name starts with "guard" we do not automatically move from last use. This gives language meaning to a naming convention of "guard" as a name prefix for guard-like stack objects, such as local std::scoped_lock objects, whose destructors are always the object's real last use.

Added ability to compile from stdin

Thanks @vanceism7 for the suggestion!

Started adding support for function body reflection and generation (statements, expressions)

Added @noisy metafunction - the first metafunction that reflects and generates function bodies

This type metafunction makes each of the type's functions print its name and signature, so the programmer can see what functions are being called.

This initial version ignores functions named operator= or with single-statement (or no) bodies.

In the future I intend to add support for:

  • operator=, that inserts new statements only after the member object value-set statements

  • functions with single-statement or no bodies, that are first converted to compound-statement bodies

Added more regex features

Thanks @MaxSagebaum!

  • There is now a find_all method for the regular expressions.
  • Added handling of \G.
  • Added look behind matchers.
  • Added atomic group tokens.

New Contributors

Full Changelog: v0.8.0...v0.8.1