diff --git a/CMakeLists.txt b/CMakeLists.txt index 54053df..8a22e17 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ project(Streams CXX) # TODO: Make the following more granular once there's wider compiler support for # c++14. Note that the absence of "-g" is intentional as the current version of # clang (3.4) does not support emitting debug info for auto member functions. -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++1y -stdlib=libc++ -Wno-unused-function -pipe") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++1y -Wno-unused-function -pipe -pthread") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -fno-inline") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -march=native -DNDEBUG") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -march=native -DNDEBUG") diff --git a/source/StreamConversions.h b/source/StreamConversions.h index 05cf93f..7d66380 100644 --- a/source/StreamConversions.h +++ b/source/StreamConversions.h @@ -69,7 +69,7 @@ class OrderedContainerTerminatorMaker { struct PolymorphicHash { template - decltype(auto) operator() (const T& value) { + decltype(auto) operator() (const T& value) const { return std::hash{}(value); } }; diff --git a/source/providers/Overlap.h b/source/providers/Overlap.h index 8170f11..43af22a 100644 --- a/source/providers/Overlap.h +++ b/source/providers/Overlap.h @@ -8,7 +8,7 @@ namespace provider { template NTuple rotate_impl(std::tuple&& tuple, T&& last, std::index_sequence) { - return {std::forward(std::get(tuple))..., std::forward(last)}; + return NTuple{std::forward(std::get(tuple))..., std::forward(last)}; } template, size_t N = sizeof...(Args)>