boostorg / boostorg/python

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

オープン
#289 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C++
スター
537
フォーク
223
平均マージ
11時間 22分
マージ済み PR(30日)
2

説明

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.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。