algorithm/string -- find_all_regex() gives a compiler error when the result container is vector<iterator_range<string::iterator>>
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia riproducendo la chiamata fornita a boost::find_all_regex con std::vector<boost::iterator_rangestd::string::iterator> e confrontala con il caso std::vectorstd::string. Leggi la documentazione collegata di find_all_regex e l'implementazione della funzione; il lavoro è completato quando la discrepanza documentata del contenitore viene risolta oppure la documentazione viene corretta chiaramente, con l'esempio segnalato coperto se sono disponibili test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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);
}
- Lingua principale
- C++
- Stelle
- 131
- Fork
- 117
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
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/algorithm
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
-
variadic min/max/minmax Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
fast variadic string-concat Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Automated formatting Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
Tutte le issue di boostorg/algorithm
Issue simili
-
AuTest Bug Tests
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/trafficserver#13714 ·
-
bug build
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
facebookincubator/velox#19143 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
tenstorrent/tt-metal#57393 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
objectionary/eo-graphs#74 ·