algorithm/string -- find_all_regex() gives a compiler error when the result container is vector<iterator_range<string::iterator>>
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par reproduire l'appel fourni à boost::find_all_regex avec std::vector<boost::iterator_rangestd::string::iterator> et comparez-le au cas std::vectorstd::string. Lisez la documentation liée de find_all_regex ainsi que l'implémentation de la fonction ; le travail est terminé lorsque l'incompatibilité de conteneur documentée est résolue ou que la documentation est clairement corrigée, avec l'exemple signalé couvert si des tests sont disponibles.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
The doc says that the container we should pass to this function can be std::vector<boost::iterator_rangestd::string::iterator>. But when I run the program it gives a compile error. But when the result container passed, is a std::vectorstd::string, everything works fine.
First code snippet is using std::vector<boost::iterator_rangestd::string::iterator> as the result.
#include "boost/algorithm/string/split.hpp"
#include "boost/range/iterator_range_core.hpp"
#include <iostream>
#include <boost/algorithm/string.hpp>
#include <boost/algorithm/string/regex.hpp>
#include <vector>
int main(int, char**) {
std::string s("Hello world");
boost::regex regex("\\w");
std::vector<boost::iterator_range<std::string::iterator>> result;
boost::find_all_regex(result, s, regex);
}
Following is the last 3 lines of the compiler error. The whole error is too long.
c:\mingw\include\c++\9.2.0\bits\stl_iterator.h:787:11: note: no known conversion for argument 1 from '__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string >' to 'const __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string >&'
c:\mingw\include\c++\9.2.0\bits\stl_iterator.h:787:11: note: candidate: 'constexpr __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string >::__normal_iterator(__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string >&&)'
c:\mingw\include\c++\9.2.0\bits\stl_iterator.h:787:11: note: no known conversion for argument 1 from '__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string >' to '__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string >&&'
Also I ran the same program in Clang compiler too. Still the same result.
But when I run the following program with the container as std::vectorstd::string everything works without a hitch.
#include "boost/algorithm/string/split.hpp"
#include "boost/range/iterator_range_core.hpp"
#include <iostream>
#include <boost/algorithm/string.hpp>
#include <boost/algorithm/string/regex.hpp>
#include <string>
#include <vector>
int main(int, char**) {
std::string s("Hello world");
boost::regex regex("\\w");
std::vector<std::string> result;
boost::find_all_regex(result, s, regex);
}
- Langage dominant
- C++
- Étoiles
- 131
- Forks
- 117
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de boostorg/algorithm
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
-
variadic min/max/minmax Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
-
fast variadic string-concat Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
-
Automated formatting Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
Toutes les issues de boostorg/algorithm
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
flutter-webrtc/flutter-webrtc#2206 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
Component: GLib
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
brave/brave-browser#59300 ·
-
Mute ydb/tests/functional/dstool/test_canonical_requests.py.Test.test_group_take_snapshot in main Ouverteai_reviewed
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
ydb-platform/ydb#53974 · 3 commentaires ·