css.cpp: In function 'void parse(std::string&)':
css.cpp:43:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
43 | for(int i = ps + 1; i < v.size(); i++){
| ~~^~~~~~~~~~
css.cpp: In constructor 'Classifier::Classifier(const string&)':
css.cpp:66:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
66 | for(int i = 1; i < v.size(); i++){
| ~~^~~~~~~~~~
css.cpp: In function 'void parse_selector(std::string)':
css.cpp:99:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
99 | for(int i = 0; i < v.size(); i++){
| ~~^~~~~~~~~~
css.cpp:102:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
102 | if(i < v.size() - 1 && v[i + 1] == '>'){
| ~~^~~~~~~~~~~~~~
css.cpp: In function 'bool corresponds(int, int)':
css.cpp:117:67: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
117 | if(!selector[pos].first.belongs(elem)) return memo[elem][pos] = 0;
| ~~~~~~~~~~~~~~~~^~~
css.cpp:118:41: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
118 | if(pos == 0) return memo[elem][pos] = 1;
| ~~~~~~~~~~~~~~~~^~~
css.cpp:120:57: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
120 | if(selector[pos - 1].second) return memo[elem][pos] = corresponds(par[elem], pos - 1);
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
css.cpp: In function 'void print_elems()':
css.cpp:129:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
129 | for(int i = 1; i < dcd.size(); i++){
| ~~^~~~~~~~~~~~
css.cpp: In function 'int main()':
css.cpp:171:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
171 | for(int j = 0; j < dcd.size(); j++){
| ~~^~~~~~~~~~~~
css.cpp:172:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<Classifier, bool> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
172 | for(int k = 0; k < selector.size(); k++) memo[j][k] = -1;
| ~~^~~~~~~~~~~~~~~~~
css.cpp:174:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
174 | for(int j = 1; j < dcd.size(); j++){
| ~~^~~~~~~~~~~~