Skip to content

Commit

Permalink
Release version 0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
foonathan committed May 4, 2018
1 parent 441f054 commit 409737e
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 2 deletions.
44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
## Version 0.2

This release took a long time, so here are just the most important changes.

* Added `downcast()` utility function
* Fixed GCC 4.8 and clang support
* Improved documentation
* Improved CMake and added Conan support
* Hashing support for `boolean`, `integer`, `floating_point` and `strong_typedef`

## Vocabulary Types

* Added `object_ref<T>` and and `xvalue_ref<T>`
* Added `array_ref<T>`
* Added `function_ref<T>`
* Added `flag_set<T>`
* Breaking: renamed `distance_t` to `difference_t`
* Improved `index_t` and `difference_t`

### Optional & Variant:

* Breaking: `optional` now auto-unwraps, removed `unwrap()` function
* Breaking: `optional_ref` creation function now `opt_ref()` instead of `ref()`, but more than before
* Breaking: Removed `optional_ref<T>::value_or()`
* Added `optional_for<T>` utility typedef
* Added support for additional parameters to `with()` and make it more optimizer friendly
* Added `with()` for `tagged_union`
* Improved map functions: additional arguments, member function pointers, `void` returning function objects
* Bugfix for trivial variant copy/move/destroy

### Type Safe Building Blocks:

* Added pointer like access to `constrained_type`
* Added `constrained_ref`
* Added `throwing_verifier` for `constrained_ref` along with `sanitize()` helper functions
* Added literal operator to create a static bound of `bounded_type`
* Added bitwise operators for `strong_typedef`
* Added `constexpr` support to `strong_typedef`
* Added support for mixed operators in `strong_typedef`
* Made `constrained_type` `constexpr`
* Fixed strong typedef `get()` for rvalues


Thanks to @johelgp, @xtofl, @nicola-gigante, @BRevzin, @verri, @lisongmin, @Manu343726, @MandarJKulkarni, @gerboengels.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ set(detail_header_files
${CMAKE_CURRENT_SOURCE_DIR}/include/type_safe/detail/copy_move_control.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/type_safe/detail/force_inline.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/type_safe/detail/is_nothrow_swappable.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/type_safe/detail/map_invoke.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/type_safe/detail/variant_impl.hpp)
set(header_files
${CMAKE_CURRENT_SOURCE_DIR}/include/type_safe/config.hpp
Expand Down
2 changes: 1 addition & 1 deletion conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
class TypeSafe(ConanFile):
name = 'type_safe'
url = 'https://github.com/foonathan/type_safe'
version = '0.1'
version = '0.2'
requires = 'debug_assert/1.3@Manu343726/testing'
exports = '*.hpp'
generators = 'cmake'
Expand Down
2 changes: 1 addition & 1 deletion external/debug_assert
Submodule debug_assert updated 1 files
+13 −0 debug_assert.hpp

0 comments on commit 409737e

Please sign in to comment.