map_indexing_suite doesn't work with std::unordered_map<std::string, std::vector<double>> for MSVC 14.2
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 38/100
Direção de pesquisa
Comece em boost/python/suite/indexing/map_indexing_suite.hpp na linha 155 e reproduza o build com MSVC v142 usando o exemplo de std::unordered_map aninhado. Compare-o com os casos de std::map e de valores string descritos no relatório. Considera-se concluído quando o exemplo de map_indexing_suite for compilado com sucesso com a configuração de unordered_map aninhado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- C++
- Estrelas
- 537
- Forks
- 223
- Merge médio
- 11h 22min
- PRs com merge (30d)
- 2
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de boostorg/python
-
numpy::from_data calls vector::front and crashes (or has UB) when called with a scalar object Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 84/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
-
BoostDetectToolset-1.90.0.cmake file not found in an include() call in boost_python-config.cmake Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
Todas as issues de boostorg/python
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
duckdb/duckdb-wasm#2258 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
objectionary/eo-graphs#75 ·
-
Coarray integration tests carry no LABELS, so run_tests.py silently skips them under every backend Abertacoarray
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
FISCO-BCOS/FISCO-BCOS#5642 ·