map_indexing_suite doesn't work with std::unordered_map<std::string, std::vector<double>> for MSVC 14.2
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 38/100
Direzione di ricerca
Inizia in boost/python/suite/indexing/map_indexing_suite.hpp alla riga 155 e riproduci la build con MSVC v142 usando l’esempio di std::unordered_map annidato. Confrontalo con i casi std::map e con i casi con valori string descritti nel report. Il lavoro è completo quando l’esempio map_indexing_suite viene compilato correttamente con la configurazione di unordered_map annidato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
This works on MSVC 14.1 (Visual Studio 17):
#define BOOST_PYTHON_STATIC_LIB
#include <boost/python.hpp>
#include <boost/python/suite/indexing/map_indexing_suite.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
#include <string>
#include <unordered_map>
#include <vector>
BOOST_PYTHON_MODULE(HelloBoostPython)
{
using namespace boost::python;
class_<std::vector<double>>("DoubleVector")
.def(vector_indexing_suite<std::vector<double>>())
;
class_<std::unordered_map<std::string, std::string>>("StringVecMap")
.def(map_indexing_suite<std::unordered_map<std::string, std::vector<double>>>())
;
}
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::string,std::vector<double,std::allocator<double>>,std::hash<std::string>,std::equal_to<std::string>,std::allocator<std::pair<const std::string,std::vector<double,std::allocator<double>>>>>' 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<std::string, std::vector<double>> to std::unordered_map<std::string, std::string>> and it works.
- Lingua principale
- C++
- Stelle
- 537
- Fork
- 223
- Merge medio
- 11h 22m
- PR unite (30g)
- 2
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di boostorg/python
-
numpy::from_data calls vector::front and crashes (or has UB) when called with a scalar object Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
-
BoostDetectToolset-1.90.0.cmake file not found in an include() call in boost_python-config.cmake Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
Tutte le issue di boostorg/python
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
objectionary/eo-graphs#74 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
QuantStack/git2cpp#187 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100