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_type
to 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
span
constructors (#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::get
fortuple
on gcc-4.9 - Implements multi-variant visitation (#16)
Release 1.0.1
This release just includes a simple bug fix.
Changes
- Fixed
any_cast
to 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::span
in<bpstd/span.hpp>
C++17
std::optional
in<bpstd/optional.hpp>
std::any
in<bpstd/any.hpp>
std::string_view
in<bpstd/string_view.hpp>
std::variant
in<bpstd/variant.hpp>
std::byte
in<bpstd/cstddef.hpp>
std::bool_constant
in<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_sequence
in<bpstd/utility.hpp>
Features
C++20
std::to_address
in<bpstd/memory.hpp>
std::make_unique_for_overwrite
in<bpstd/memory.hpp>
std::is_nothrow_convertible
in<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_fn
in<bpstd/functional.hpp>
std::make_from_tuple
in<bpstd/tuple.hpp>
std::apply
in<bpstd/tuple.hpp>
std::invoke
in<bpstd/functional.hpp>
std::uncaught_exceptions
in<bpstd/exception.hpp>
C++14
_t
type traits in<bpstd/type_traits>
- User defined literals for various types
- Various type-traits
std::get
for addressing tuples by type in<bpstd/tuple.hpp>
std::exchange
in<bpstd/memory>
std::make_reverse_iterator
in<bpstd/iterator>
std::make_unique
in<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_final
definition, which is not available until C++14 - Suppressed and fixed cppcheck warnings
Features
- Added
make_reverse_iterator
support - Added
uncaught_exceptions
- Added support for addressing
tuple
s 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::span
bpstd::to_address
bpstd::make_unique_for_overwrite
bpstd::any
bpstd::string_view
bpstd::optional
bpstd::invoke
bpstd::not_fn
bpstd::make_from_tuple
bpstd::apply
bpstd::byte
bpstd::make_unique
_t
convenience traits_v
convenience variables (when compiling with -std=c++14)- deduced functional objects