5.0.0
Freundlich's C++ toolkit
|
fcppt now uses C++-23
.
clang-21
warnings. Replaced various components with C++-20
ranges.
std::expected
. fcppt::range::size
to fcppt::range::nonconst_size. fcppt::algorithm::contains
. Use std::ranges::contains
. fcppt::algorithm::equal
. Use std::ranges::equal
. fcppt::algorithm::equal_range
. Use std::ranges::equal_range
. fcppt::algorithm::range_value_type
. Use std::ranges::range_value_t
. fcppt::concepts::invocable
. Use std::invocable
. fcppt::concepts::range
. Use one of the range concepts from std::ranges
. fcppt::iterator::range
. Use std::ranges::subrange
. FCPPT_PP_PURE
and FCPPT_PP_CONST
. FCPPT_PP_WARNING
. Use #warning
from C++-23
. fcppt::range::empty
. Use std::ranges::empty
. fcppt::range::begin
. Use std::ranges::begin
. fcppt::range::end
. Use std::ranges::end
. fcppt::args_range
. Fixed moving of elements in fcppt::variant::partition.
Fixed fcppt::container::grid::pos_iterator and fcppt::container::grid::pos_ref_iterator to conform to std::input_iterator
.
Cleaned up clang-20
warnings.
Fixed fcppt::filesystem::file_size to actually not throw exceptions.
Cleaned up clang-19
warnings.
std::hash
specialization. std::hash
specialization. fcppt_maximum
. Instead, there is now a customization point using fcppt::enum_::max_value_impl. Also added FCPPT_ENUM_DEFINE_MAX_VALUE to make defining this easier. Fixed compilation with clang-19
.
clang-18
warnings. cmake-format
and cmake-lint
. Added the ability to also compile header files using misc-include-cleaner
from clang-tidy
and cleaned up all includes in header files as a result.
FCPPT_ASSERT_UNREACHABLE
. Redesigned how log formatting works. The main class is now fcppt::log::level_stream and the functions in fcppt::log::format
have been removed.
fcppt::record::enable_vararg_ctor
to fcppt::record::is_vararg_ctor. fcpptassert
FCPPT_ASSERT_UNREACHABLE
. fcppt::iterator::adapt_range
. fcppt::random::distribution::parameters::make_uniform_indices
. The version fcppt::random::distribution::parameters::make_uniform_indices_advanced still exists. clang-17
warnings. Added Include-What-You-Use pragmas.
Cleaned up clang-16
and gcc-13
warnings.
fcppt::ref
in the constructor of fcppt::scoped_state_machine. usage
from a string to fcppt::options::usage. In addition, fcppt::options::help_result now also uses fcppt::options::usage instead of fcppt::options::help_text. fcpptassert
FCPPT_DETAIL_SYMBOL
on fcppt::exception::string
. Catch-2
to Catch-3
for unit tests. clang-15
. Support for VC++-14.34
(Visual Studio 2022 Version 17.4).
FCPPT_ASSERT_OPTIONAL_ERROR
. Support for VC++-14.32
(Visual Studio 2022 Version 17.2).
This release fixes some warnings related to clang-14
.
fcppt::filesystem::replace_extension
. Use std::filesystem::path::replace_extension
. fcppt::filesystem::strip_prefix
. Use std::filesystem::relative
. fcppt::filesystem::num_subpaths
. fcppt::filesystem::normalize
. fcppt::filesystem::stem
. Use std::filesystem::path::stem
. This release fixes some warnings related to clang-13
.
FCPPT_MAKE_STRONG_TYPEDEF
to FCPPT_DECLARE_STRONG_TYPEDEF. fcppt now uses C++-20
. Some functions were updated to use concepts, but this is still a work in progress.
Metal is no longer required.
New library with various C++20 concepts.
New library that replaces Metal.
detail::
. operator<<
. operator->
to fcppt::recursive. fcppt::extract_from_string_locale
has been renamed to fcppt::extract_from_string_locale_fmt and has gained an additional format flags parameter. std::exception
instead of fcppt::exception. FCPPT_ASSERT_UNIMPLEMENTED_MESSAGE
. FCPPT_ASSERT_PRE
and FCPPT_ASSERT_PRE_MESSAGE
. fcppt::container::contains
. In C++20, maps have a contains
member function. fcppt::endianness::format
, fcppt::endianness::is_big_endian
, fcppt::endianness::is_little_endian
and fcppt::endianness::host_format
. Use std::endian
instead. fcppt::math::pi
and fcppt::math::twopi
. Use std::numbers::pi_v
instead. fcpptmetal
This has been removed in favor of fcppt.mpl.
fcppt::optional::const_cast_
, fcppt::optional::dynamic_cast_
and fcppt::optional::static_cast_
. fcppt::type_traits::remove_cv_ref_t
. Use std::remove_cvref_t
. fcppt::type_traits::function_result
. fcppt::type_traits::is_float_or_double
.