Use C++17 (#579)
* Use C++17 * Replace std::random_shuffle with std::shuffle * Add random include
This commit is contained in:
1
3rdparty/utf8-cpp/CMakeLists.txt
vendored
1
3rdparty/utf8-cpp/CMakeLists.txt
vendored
@@ -1,2 +1 @@
|
|||||||
cmake_minimum_required(VERSION 3.0)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
set(CMAKE_CXX_STANDARD 11)
|
|
||||||
|
|||||||
@@ -29,12 +29,12 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
|
|||||||
set(OPENBSD ON)
|
set(OPENBSD ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 11)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
list(APPEND COMPILE_OPTIONS
|
list(APPEND COMPILE_OPTIONS
|
||||||
$<$<COMPILE_LANGUAGE:C>:--std=c99>
|
$<$<COMPILE_LANGUAGE:C>:--std=c99>
|
||||||
$<$<COMPILE_LANGUAGE:CXX>:--std=c++11>
|
$<$<COMPILE_LANGUAGE:CXX>:--std=c++17>
|
||||||
-U__STRICT_ANSI__
|
-U__STRICT_ANSI__
|
||||||
-Wall
|
-Wall
|
||||||
-Wextra
|
-Wextra
|
||||||
@@ -375,7 +375,7 @@ endif(USE_BUNDLE AND NOT USE_BUNDLE_DIR)
|
|||||||
# Check that we have sqlite3 with FTS5
|
# Check that we have sqlite3 with FTS5
|
||||||
|
|
||||||
if(NOT CMAKE_CROSSCOMPILING)
|
if(NOT CMAKE_CROSSCOMPILING)
|
||||||
set(CMAKE_REQUIRED_FLAGS "--std=c++11")
|
set(CMAKE_REQUIRED_FLAGS "--std=c++17")
|
||||||
set(CMAKE_REQUIRED_LIBRARIES ${QtCore_LIBRARIES} ${QtSql_LIBRARIES})
|
set(CMAKE_REQUIRED_LIBRARIES ${QtCore_LIBRARIES} ${QtSql_LIBRARIES})
|
||||||
check_cxx_source_runs("
|
check_cxx_source_runs("
|
||||||
#include <QSqlDatabase>
|
#include <QSqlDatabase>
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
#include <iterator>
|
#include <iterator>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
#include <random>
|
||||||
|
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
@@ -1819,6 +1820,9 @@ void Playlist::ReshuffleIndices() {
|
|||||||
if (current_virtual_index_ != -1)
|
if (current_virtual_index_ != -1)
|
||||||
std::advance(begin, current_virtual_index_ + 1);
|
std::advance(begin, current_virtual_index_ + 1);
|
||||||
|
|
||||||
|
std::random_device rd;
|
||||||
|
std::mt19937 g(rd());
|
||||||
|
|
||||||
switch (playlist_sequence_->shuffle_mode()) {
|
switch (playlist_sequence_->shuffle_mode()) {
|
||||||
case PlaylistSequence::Shuffle_Off:
|
case PlaylistSequence::Shuffle_Off:
|
||||||
// Handled above.
|
// Handled above.
|
||||||
@@ -1826,7 +1830,7 @@ void Playlist::ReshuffleIndices() {
|
|||||||
|
|
||||||
case PlaylistSequence::Shuffle_All:
|
case PlaylistSequence::Shuffle_All:
|
||||||
case PlaylistSequence::Shuffle_InsideAlbum:
|
case PlaylistSequence::Shuffle_InsideAlbum:
|
||||||
std::random_shuffle(begin, end);
|
std::shuffle(begin, end, g);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PlaylistSequence::Shuffle_Albums: {
|
case PlaylistSequence::Shuffle_Albums: {
|
||||||
@@ -1843,7 +1847,7 @@ void Playlist::ReshuffleIndices() {
|
|||||||
|
|
||||||
// Shuffle them
|
// Shuffle them
|
||||||
QStringList shuffled_album_keys = album_key_set.values();
|
QStringList shuffled_album_keys = album_key_set.values();
|
||||||
std::random_shuffle(shuffled_album_keys.begin(), shuffled_album_keys.end());
|
std::shuffle(shuffled_album_keys.begin(), shuffled_album_keys.end(), g);
|
||||||
|
|
||||||
// If the user is currently playing a song, force its album to be first
|
// If the user is currently playing a song, force its album to be first
|
||||||
// Or if the song was not playing but it was selected, force its album to be first.
|
// Or if the song was not playing but it was selected, force its album to be first.
|
||||||
|
|||||||
Reference in New Issue
Block a user