Centurion 6.2.0
Release notes
The major features of this release includes adding support for SDL 2.0.16 and using C++20 facilities wherever possible, whilst still remaining compatible with C++17.
Audio
- [~] Fixed one of the
operator!=overloads forfade_statusincorrectly taking twoMix_Fadingvalues as arguments - [+] Added overloads of
to_string()andoperator<<forfade_status - [+] Added overloads of
to_string()andoperator<<formusic_type
Compiler
- [+]
CENTURION_NODISCARD_CTOR - [+]
CENTURION_HAS_FEATURE_CPP20 - [+]
CENTURION_HAS_FEATURE_FORMAT - [+]
CENTURION_HAS_FEATURE_CONCEPTS - [+]
CENTURION_HAS_FEATURE_MEMORY_RESOURCE - [+]
CENTURION_HAS_FEATURE_LERP - [+]
CENTURION_HAS_FEATURE_SPACESHIP - [+]
CENTURION_HAS_FEATURE_CHRONO_TIME_ZONES
Core
- [+] Added
stralias forconst char* - [+]
log_priority_count() - [+]
log::set_output_function()(C++20 only) - [+]
log::use_preset_output_function()(C++20 only) - [~] Deprecated
czstringalias - [~] Deprecated
zstringalias - [~] Marked
libraryconstructors as nodiscard (C++20 only) - [~] Deprecated
CENTURION_HAS_STD_MEMORY_RESOURCEmacro - [+] Concept
is_stateless_callable(C++20 only) - [+] Added overloads of
to_string()andoperator<<forlog_category - [+] Added overloads of
to_string()andoperator<<forlog_priority
Events
- [+] Added overloads of
to_string()andoperator<<forevent_type - [+] Added overloads of
to_string()andoperator<<formouse_wheel_direction - [+] Added overloads of
to_string()andoperator<<forwindow_event_id
Filesystem
- [+] Added overloads of
to_string()andoperator<<forfile_mode - [+] Added overloads of
to_string()andoperator<<forfile_type - [+] Added overloads of
to_string()andoperator<<forseek_mode
Hints
- [+]
hint::audio_include_monitors - [+]
hint::audio_device_stream_role - [~]
get_hint()is no longer incorrectly marked asnoexcept - [~]
get_hint()now has an explicit return type - [~] Replaced
hint::joystick::hidapi_correlate_xinputwithhint::joystick::rawinput_correlate_xinputon SDL 2.0.16 or later - [+] Concept
is_hint_callback(C++20 only) - [+]
add_hint_callback_ex()(C++20 only)
Input
- [-] Removed deprecated
key_statealias - [-] Removed deprecated
mouse_statealias - [~]
haptic_featureenum now usesuintas underlying type - [~]
haptic_direction_typeenum now usesu8as underlying type - [~]
mouse_wheel_directionenum now usesu32as underlying type - [+]
controller_type::amazon_luna - [+]
controller_type::google_stadia - [+]
basic_controller::get_sensor_data_rate() - [+]
basic_controller::send_effect() - [+]
basic_joystick::send_effect() - [+]
set_modifiers() - [+]
get_modifiers() - [+]
keyboard::is_only_active(key_mod) - [+]
keyboard::is_only_any_of_active(key_mod) - [+] Added
touch_device_typealias fortouch::device_type - [+] Added
touch_finger_statealias fortouch::finger_state - [+] Added overloads of
to_string()andoperator<<forbutton_state - [+] Added overloads of
to_string()andoperator<<forkeyboard - [+] Added overloads of
to_string()andoperator<<formouse - [+] Added overloads of
to_string()andoperator<<formouse_button - [+] Added overloads of
to_string()andoperator<<forcontroller_type - [+] Added overloads of
to_string()andoperator<<forcontroller_axis - [+] Added overloads of
to_string()andoperator<<forcontroller_button - [+] Added overloads of
to_string()andoperator<<forcontroller_bind_type - [+] Added overloads of
to_string()andoperator<<forjoy_hat_position - [+] Added overloads of
to_string()andoperator<<forjoystick_power - [+] Added overloads of
to_string()andoperator<<forjoystick_type - [+] Added overloads of
to_string()andoperator<<forhat_state - [+] Added overloads of
to_string()andoperator<<forsensor_type - [+] Added overloads of
to_string()andoperator<<fortouch_device_type - [+] Added overloads of
to_string()andoperator<<forbutton_order - [+] Added overloads of
to_string()andoperator<<forhaptic_direction_type - [+] Added overloads of
to_string()andoperator<<forhaptic_feature - [+] Added overloads of
to_string()andoperator<<forkey_modifier - [+] Added overloads of
to_string()andoperator<<forbasic_controller::mapping_result
Math
- [~] Added
operator<=>tovector3(C++20 only) - [~] Added defaulted
operator==forbasic_area(C++20 only) - [~] Made
operator==andoperator!=overloads forbasic_pointtemplated
System
- [+] Added overloads of
to_string()andoperator<<forplatform_id - [+] Added overloads of
to_string()andoperator<<forpower_state
Threads
- [+]
thread::init(): Constrained factory functions, supporting non-voiduser data or no user data at all (along with optional return values) (C++20 only) - [~] Deprecated
thread::id, usethread_idinstead - [~] Marked
threadconstructor as nodiscard (C++20 only) - [~] Marked
scoped_lockconstructors as nodiscard (C++20 only) - [~] Marked
try_lockconstructor as nodiscard (C++20 only) - [+] Added overloads of
to_string()andoperator<<forlock_status - [+] Added overloads of
to_string()andoperator<<forthread_priority
Video
- [+]
flash_openum - [+]
basic_window::flash() - [+]
basic_window::set_always_on_top() - [+] Additional overload of
blend()function for colors that accepts afloatbias - [~] Deprecated
doublebias overload ofblend()for colors - [~] Marked
gl_libraryconstructor as nodiscard (C++20 only) - [~] Marked
vk_libraryconstructor as nodiscard (C++20 only) - [+]
system_cursor_count() - [+] Added overloads of
to_string()andoperator<<forbasic_pixel_format_info - [+] Added overloads of
to_string()andoperator<<forgl_attribute - [+] Added overloads of
to_string()andoperator<<forgl_swap_interval - [+] Added overloads of
to_string()andoperator<<forblend_mode - [+] Added overloads of
to_string()andoperator<<forfont_hint - [+] Added overloads of
to_string()andoperator<<formessage_box::color_id - [+] Added overloads of
to_string()andoperator<<formessage_box::default_button - [+] Added overloads of
to_string()andoperator<<formessage_box_type - [+] Added overloads of
to_string()andoperator<<forpixel_format - [+] Added overloads of
to_string()andoperator<<forscale_mode - [+] Added overloads of
to_string()andoperator<<forscreen_orientation - [+] Added overloads of
to_string()andoperator<<forsystem_cursor - [+] Added overloads of
to_string()andoperator<<fortexture_access
Miscellaneous
- [~] Switched to using a doxygen-awesome theme
- [~] Replaced the wiki with new Doxygen pages
- [+] The CI test suites are now run using both C++17 and C++20
- [~] Use
std::formatinto_string()overloads (C++20 only)