boostorg / boostorg/python

map_indexing_suite doesn't work with std::unordered_map<std::string, std::vector<double>> for MSVC 14.2

Open
#289 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
537
Forks
223
Avg merge
11h 22m
Merged PRs (30d)
2

Description

This works on MSVC 14.1 (Visual Studio 17):

#define BOOST_PYTHON_STATIC_LIB

#include
#include
#include
#include
#include
#include

BOOST_PYTHON_MODULE(HelloBoostPython)
{
using namespace boost::python;

class_>("DoubleVector")
.def(vector_indexing_suite>())
;

class_>("StringVecMap")
.def(map_indexing_suite>>())
;
}

But fails when building against the v142 (VS 19) Platform Toolset:

Severity Code Description Project File Line Suppression State
Error C2039 'key_comp': is not a member of 'std::unordered_map>,std::hash,std::equal_to,std::allocator>>>>' HelloBoostPython C:\Misc\boost_1_71_0\boost\python\suite\indexing\map_indexing_suite.hpp 155

Change `std::unordered_map` to `std::map` and it works.

Change `std::unordered_map>` to `std::unordered_map>` and it works.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.