Releases: bitwizeshift/BackportCpp
Release 1.2.0
Several minor features have been added to this release, and a few
minor fixes.
This contains the following changes:
- Updates
underlying_typeto SFINAE if type is not anenum(#18) - Adds
is_[nothrow_]invocable_r, which was missing from previous
release - Fixes some inline visibility bugs surrounding
optional - Adds conditionally explicit
spanconstructors (#21)- This is potentially a breaking change -- however this is not bumping
the major version of this library since the previous implementation
was following the experimental API ofspan-- which was not the
final version
- This is potentially a breaking change -- however this is not bumping
- Fixes /W4 warnings for MSVC
Release 1.1.0
This release contains a new feature functionality and a bugfix
Changes
- Fixes
bpstd::getfortupleon gcc-4.9 - Implements multi-variant visitation (#16)
Release 1.0.1
This release just includes a simple bug fix.
Changes
- Fixed
any_castto work with reference types (T&/const T&/T&&)
Official Release (v1.0.0)
This is the first official release of the Backport-C++ library!
This implements the following C++ standard types / features with full, tested, compatibility for C++11:
Types
C++20
std::spanin<bpstd/span.hpp>
C++17
std::optionalin<bpstd/optional.hpp>std::anyin<bpstd/any.hpp>std::string_viewin<bpstd/string_view.hpp>std::variantin<bpstd/variant.hpp>std::bytein<bpstd/cstddef.hpp>std::bool_constantin<bpstd/type_traits.hpp>
C++14
- Transparent operation functors (e.g.
std::greater<>) in [<bpstd/functional.hpp>`](https://github.com/bitwizeshift/BackportCpp/blob/v1.0.0/include/bpstd/functional.hpp) std::integer_sequencein<bpstd/utility.hpp>
Features
C++20
std::to_addressin<bpstd/memory.hpp>std::make_unique_for_overwritein<bpstd/memory.hpp>std::is_nothrow_convertiblein<bpstd/type_traits.hpp>
C++17
- Various newly added type-traits (
std::void_t,std::is_invocable,std::is_[nothrow_]swappable[_with], etc) in<bpstd/type_traits.hpp> std::not_fnin<bpstd/functional.hpp>std::make_from_tuplein<bpstd/tuple.hpp>std::applyin<bpstd/tuple.hpp>std::invokein<bpstd/functional.hpp>std::uncaught_exceptionsin<bpstd/exception.hpp>
C++14
_ttype traits in<bpstd/type_traits>- User defined literals for various types
- Various type-traits
std::getfor addressing tuples by type in<bpstd/tuple.hpp>std::exchangein<bpstd/memory>std::make_reverse_iteratorin<bpstd/iterator>std::make_uniquein<bpstd/memory>
Pre-release v0.2.0
In preparation of a 1.0.0 release, this includes a lot of changes from the previous few weeks of development:
Change Log
Fixes
- Fixed
is_finaldefinition, which is not available until C++14 - Suppressed and fixed cppcheck warnings
Features
- Added
make_reverse_iteratorsupport - Added
uncaught_exceptions - Added support for addressing
tuples by type - Added user-defined literals for
complex - Added visibility attributes on all definitions
- Added initial implementation of
variant
Pre-release 0.1.1
Pre-release: 0.1.0
This is a pre-release of the library, which contains much of the C++14, C++17, and C++20 utilities/types compiling and working for all C++ compilers capable of compiling syntactically valid C++11 code.
Notably absent for utility types is std::variant, which is part of the 1.0.0 milestone.
Pre-release: 0.0.1
This is release 0.0.1, geared towards gcc and clang compilers on Linux and Mac.
This is a nearly complete release, missing only bpstd::variant implementation.
This currently does not compile successfully on Windows for either cl or clang-cl
This includes the following types:
bpstd::spanbpstd::to_addressbpstd::make_unique_for_overwritebpstd::anybpstd::string_viewbpstd::optionalbpstd::invokebpstd::not_fnbpstd::make_from_tuplebpstd::applybpstd::bytebpstd::make_unique_tconvenience traits_vconvenience variables (when compiling with -std=c++14)- deduced functional objects