* installing *source* package 'Waypoint' ...
** this is package 'Waypoint' version '2.0.2'
** package 'Waypoint' successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: 'g++.exe (GCC) 14.3.0'
make[1]: Entering directory '/d/temp/2026_10_09_10_23_25_30964/RtmpmiLwxv/R.INSTALL1ab3026c06952/Waypoint/src'
g++ -std=gnu++17  -I"D:/RCompile/recent/R-4.5.3/include" -DNDEBUG  -I'D:/RCompile/CRANpkg/lib/4.5/Rcpp/include'   -I"d:/rtools45/x86_64-w64-mingw32.static.posix/include"      -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign    -c CoordBase.cpp -o CoordBase.o
In file included from CoordBase.cpp:32:
CoordBase.h:53:1: warning: identifier 'concept' is a keyword in C++20 [-Wc++20-compat]
   53 | concept Is_NumericVector = isNumericVector_v<T>;
      | ^~~~~~~
CoordBase.h:58:9: warning: identifier 'requires' is a keyword in C++20 [-Wc++20-compat]
   58 |         requires(T t, const string& s, const char *c) {
      |         ^~~~~~~~
CoordBase.h:53:1: error: 'concept' does not name a type; did you mean 'const'?
   53 | concept Is_NumericVector = isNumericVector_v<T>;
      | ^~~~~~~
      | const
CoordBase.h:53:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:57:1: error: 'concept' does not name a type; did you mean 'const'?
   57 | concept Is_DataFrame =
      | ^~~~~~~
      | const
CoordBase.h:57:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:70:1: error: 'concept' does not name a type; did you mean 'const'?
   70 | concept NumVec_or_DataFrame =
      | ^~~~~~~
      | const
CoordBase.h:70:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:180:1: error: 'concept' does not name a type; did you mean 'const'?
  180 | concept DVecType =
      | ^~~~~~~
      | const
CoordBase.h:180:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:227:1: error: 'concept' does not name a type; did you mean 'const'?
  227 | concept SVecType =
      | ^~~~~~~
      | const
CoordBase.h:227:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:235:1: error: 'concept' does not name a type; did you mean 'const'?
  235 | concept vectype =
      | ^~~~~~~
      | const
CoordBase.h:235:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:250:37: error: 'NumVec_or_DataFrame' does not name a type
  250 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto&, const string);
      |                                     ^~~~~~~~~~~~~~~~~~~
CoordBase.h:250:57: error: expected ',' or '...' before 'auto'
  250 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto&, const string);
      |                                                         ^~~~
CoordBase.h:251:36: error: 'NumVec_or_DataFrame' does not name a type
  251 | inline int get_fmt_attribute(const NumVec_or_DataFrame auto&);
      |                                    ^~~~~~~~~~~~~~~~~~~
CoordBase.h:251:56: error: expected ',' or '...' before 'auto'
  251 | inline int get_fmt_attribute(const NumVec_or_DataFrame auto&);
      |                                                        ^~~~
CoordBase.h:252:44: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
  252 | int check_logical_attr(NumVec_or_DataFrame auto, const string);
      |                                            ^~~~
CoordBase.h:252:24: error: 'NumVec_or_DataFrame' was not declared in this scope
  252 | int check_logical_attr(NumVec_or_DataFrame auto, const string);
      |                        ^~~~~~~~~~~~~~~~~~~
CoordBase.h:252:50: error: expected primary-expression before 'const'
  252 | int check_logical_attr(NumVec_or_DataFrame auto, const string);
      |                                                  ^~~~~
CoordBase.h:252:62: error: expression list treated as compound expression in initializer [-fpermissive]
  252 | int check_logical_attr(NumVec_or_DataFrame auto, const string);
      |                                                              ^
CoordBase.h:253:33: error: 'NumVec_or_DataFrame' does not name a type
  253 | inline void checkinherits(const NumVec_or_DataFrame auto&, const string);
      |                                 ^~~~~~~~~~~~~~~~~~~
CoordBase.h:253:53: error: expected ',' or '...' before 'auto'
  253 | inline void checkinherits(const NumVec_or_DataFrame auto&, const string);
      |                                                     ^~~~
CoordBase.h:278:44: error: 'NumVec_or_DataFrame' does not name a type
  278 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto&);
      |                                            ^~~~~~~~~~~~~~~~~~~
CoordBase.h:278:64: error: expected ',' or '...' before 'auto'
  278 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto&);
      |                                                                ^~~~
CoordBase.h:291:10: error: 'DVecType' has not been declared
  291 | template<DVecType type>
      |          ^~~~~~~~
CoordBase.h:333:10: error: 'DVecType' has not been declared
  333 | template<DVecType T, DVecType U>
      |          ^~~~~~~~
CoordBase.h:333:22: error: 'DVecType' has not been declared
  333 | template<DVecType T, DVecType U>
      |                      ^~~~~~~~
CoordBase.h:339:10: error: 'DVecType' has not been declared
  339 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:340:20: error: 'T' was not declared in this scope
  340 | struct Convertidor<T, DecDegVecDouble>{
      |                    ^
CoordBase.h:340:38: error: template argument 1 is invalid
  340 | struct Convertidor<T, DecDegVecDouble>{
      |                                      ^
CoordBase.h:347:10: error: 'DVecType' has not been declared
  347 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:348:20: error: 'T' was not declared in this scope
  348 | struct Convertidor<T, DegMinVecDouble>{
      |                    ^
CoordBase.h:348:38: error: template argument 1 is invalid
  348 | struct Convertidor<T, DegMinVecDouble>{
      |                                      ^
CoordBase.h:355:10: error: 'DVecType' has not been declared
  355 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:356:20: error: 'T' was not declared in this scope
  356 | struct Convertidor<T, DegMinSecVecDouble>{
      |                    ^
CoordBase.h:356:41: error: template argument 1 is invalid
  356 | struct Convertidor<T, DegMinSecVecDouble>{
      |                                         ^
CoordBase.h:363:10: error: 'DVecType' has not been declared
  363 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:364:59: error: 'T' was not declared in this scope
  364 | using ConvertidorDecDegVec = Convertidor<DecDegVecDouble, T>;
      |                                                           ^
CoordBase.h:364:60: error: template argument 2 is invalid
  364 | using ConvertidorDecDegVec = Convertidor<DecDegVecDouble, T>;
      |                                                            ^
CoordBase.h:365:10: error: 'DVecType' has not been declared
  365 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:366:59: error: 'T' was not declared in this scope
  366 | using ConvertidorDegMinVec = Convertidor<DegMinVecDouble, T>;
      |                                                           ^
CoordBase.h:366:60: error: template argument 2 is invalid
  366 | using ConvertidorDegMinVec = Convertidor<DegMinVecDouble, T>;
      |                                                            ^
CoordBase.h:367:10: error: 'DVecType' has not been declared
  367 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:368:65: error: 'T' was not declared in this scope
  368 | using ConvertidorDegMinSecVec = Convertidor<DegMinSecVecDouble, T>;
      |                                                                 ^
CoordBase.h:368:66: error: template argument 2 is invalid
  368 | using ConvertidorDegMinSecVec = Convertidor<DegMinSecVecDouble, T>;
      |                                                                  ^
CoordBase.h:377:10: error: 'DVecType' has not been declared
  377 | template<DVecType T, SVecType U>
      |          ^~~~~~~~
CoordBase.h:377:22: error: 'SVecType' has not been declared
  377 | template<DVecType T, SVecType U>
      |                      ^~~~~~~~
CoordBase.h:383:10: error: 'DVecType' has not been declared
  383 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:384:20: error: 'T' was not declared in this scope
  384 | struct Formateador<T, DecDegVecString>{
      |                    ^
CoordBase.h:384:38: error: template argument 1 is invalid
  384 | struct Formateador<T, DecDegVecString>{
      |                                      ^
CoordBase.h:397:10: error: 'DVecType' has not been declared
  397 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:398:20: error: 'T' was not declared in this scope
  398 | struct Formateador<T, DegMinVecString>{
      |                    ^
CoordBase.h:398:38: error: template argument 1 is invalid
  398 | struct Formateador<T, DegMinVecString>{
      |                                      ^
CoordBase.h:418:10: error: 'DVecType' has not been declared
  418 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:419:20: error: 'T' was not declared in this scope
  419 | struct Formateador<T, DegMinSecVecString>{
      |                    ^
CoordBase.h:419:41: error: template argument 1 is invalid
  419 | struct Formateador<T, DegMinSecVecString>{
      |                                         ^
CoordBase.h:440:10: error: 'SVecType' has not been declared
  440 | template<SVecType T>
      |          ^~~~~~~~
CoordBase.h:441:59: error: 'T' was not declared in this scope
  441 | using FormateadorDecDegVec = Formateador<DecDegVecDouble, T>;
      |                                                           ^
CoordBase.h:441:60: error: template argument 2 is invalid
  441 | using FormateadorDecDegVec = Formateador<DecDegVecDouble, T>;
      |                                                            ^
CoordBase.h:442:10: error: 'SVecType' has not been declared
  442 | template<SVecType T>
      |          ^~~~~~~~
CoordBase.h:443:59: error: 'T' was not declared in this scope
  443 | using FormateadorDegMinVec = Formateador<DegMinVecDouble, T>;
      |                                                           ^
CoordBase.h:443:60: error: template argument 2 is invalid
  443 | using FormateadorDegMinVec = Formateador<DegMinVecDouble, T>;
      |                                                            ^
CoordBase.h:444:10: error: 'SVecType' has not been declared
  444 | template<SVecType T>
      |          ^~~~~~~~
CoordBase.h:445:65: error: 'T' was not declared in this scope
  445 | using FormateadorDegMinSecVec = Formateador<DegMinSecVecDouble, T>;
      |                                                                 ^
CoordBase.h:445:66: error: template argument 2 is invalid
  445 | using FormateadorDegMinSecVec = Formateador<DegMinSecVecDouble, T>;
      |                                                                  ^
CoordBase.h:451:1: error: 'concept' does not name a type; did you mean 'const'?
  451 | concept float_or_string =
      | ^~~~~~~
      | const
CoordBase.h:451:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:457:1: error: 'concept' does not name a type; did you mean 'const'?
  457 | concept functador =
      | ^~~~~~~
      | const
CoordBase.h:457:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:464:10: error: 'DVecType' has not been declared
  464 | template<DVecType T, typename S>
      |          ^~~~~~~~
CoordBase.h:465:7: error: no default argument for 'S'
  465 | class Coords;
      |       ^~~~~~
CoordBase.h:469:1: error: 'concept' does not name a type; did you mean 'const'?
  469 | concept sufijo =
      | ^~~~~~~
      | const
CoordBase.h:469:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:472:11: error: expected unqualified-id before '||' token
  472 |         } ||
      |           ^~
CoordBase.h:475:11: error: expected unqualified-id before '||' token
  475 |         } ||
      |           ^~
CoordBase.h:483:1: error: 'concept' does not name a type; did you mean 'const'?
  483 | concept coords_t =
      | ^~~~~~~
      | const
CoordBase.h:483:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:487:11: error: expected unqualified-id before '||' token
  487 |         } ||
      |           ^~
CoordBase.h:491:11: error: expected unqualified-id before '||' token
  491 |         } ||
      |           ^~
CoordBase.h:500:10: error: 'DVecType' has not been declared
  500 | template<DVecType T, typename S>
      |          ^~~~~~~~
CoordBase.h:525:10: error: 'DVecType' has not been declared
  525 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:526:42: error: 'T' was not declared in this scope
  526 | class SufijoCoords final : public Coords<T, SufijoCoords<T>> {
      |                                          ^
CoordBase.h:526:58: error: 'T' was not declared in this scope
  526 | class SufijoCoords final : public Coords<T, SufijoCoords<T>> {
      |                                                          ^
CoordBase.h:526:59: error: template argument 1 is invalid
  526 | class SufijoCoords final : public Coords<T, SufijoCoords<T>> {
      |                                                           ^~
CoordBase.h:528:30: error: 'T' was not declared in this scope
  528 |                 using Coords<T, SufijoCoords<T>>::Coords;
      |                              ^
CoordBase.h:528:46: error: 'T' was not declared in this scope
  528 |                 using Coords<T, SufijoCoords<T>>::Coords;
      |                                              ^
CoordBase.h:528:47: error: template argument 1 is invalid
  528 |                 using Coords<T, SufijoCoords<T>>::Coords;
      |                                               ^~
CoordBase.h:529:30: error: 'T' was not declared in this scope
  529 |                 using Coords<T, SufijoCoords<T>>::latlon;
      |                              ^
CoordBase.h:529:46: error: 'T' was not declared in this scope
  529 |                 using Coords<T, SufijoCoords<T>>::latlon;
      |                                              ^
CoordBase.h:529:47: error: template argument 1 is invalid
  529 |                 using Coords<T, SufijoCoords<T>>::latlon;
      |                                               ^~
CoordBase.h:530:30: error: 'T' was not declared in this scope
  530 |                 using Coords<T, SufijoCoords<T>>::dv;
      |                              ^
CoordBase.h:530:46: error: 'T' was not declared in this scope
  530 |                 using Coords<T, SufijoCoords<T>>::dv;
      |                                              ^
CoordBase.h:530:47: error: template argument 1 is invalid
  530 |                 using Coords<T, SufijoCoords<T>>::dv;
      |                                               ^~
CoordBase.h:531:29: error: 'vectype' has not been declared
  531 |                 void suffix(vectype auto&) const;
      |                             ^~~~~~~
CoordBase.h:531:37: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
  531 |                 void suffix(vectype auto&) const;
      |                                     ^~~~
CoordBase.h:531:29: error: two or more data types in declaration of 'parameter'
  531 |                 void suffix(vectype auto&) const;
      |                             ^~~~~~~
CoordBase.h:537:10: error: 'DVecType' has not been declared
  537 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:538:45: error: 'T' was not declared in this scope
  538 | class SufijoWaypoints final : public Coords<T, SufijoWaypoints<T>> {
      |                                             ^
CoordBase.h:538:64: error: 'T' was not declared in this scope
  538 | class SufijoWaypoints final : public Coords<T, SufijoWaypoints<T>> {
      |                                                                ^
CoordBase.h:538:65: error: template argument 1 is invalid
  538 | class SufijoWaypoints final : public Coords<T, SufijoWaypoints<T>> {
      |                                                                 ^~
CoordBase.h:540:30: error: 'T' was not declared in this scope
  540 |                 using Coords<T, SufijoWaypoints<T>>::Coords;
      |                              ^
CoordBase.h:540:49: error: 'T' was not declared in this scope
  540 |                 using Coords<T, SufijoWaypoints<T>>::Coords;
      |                                                 ^
CoordBase.h:540:50: error: template argument 1 is invalid
  540 |                 using Coords<T, SufijoWaypoints<T>>::Coords;
      |                                                  ^~
CoordBase.h:541:30: error: 'T' was not declared in this scope
  541 |                 using Coords<T, SufijoWaypoints<T>>::latlon;
      |                              ^
CoordBase.h:541:49: error: 'T' was not declared in this scope
  541 |                 using Coords<T, SufijoWaypoints<T>>::latlon;
      |                                                 ^
CoordBase.h:541:50: error: template argument 1 is invalid
  541 |                 using Coords<T, SufijoWaypoints<T>>::latlon;
      |                                                  ^~
CoordBase.h:542:30: error: 'T' was not declared in this scope
  542 |                 using Coords<T, SufijoWaypoints<T>>::dv;
      |                              ^
CoordBase.h:542:49: error: 'T' was not declared in this scope
  542 |                 using Coords<T, SufijoWaypoints<T>>::dv;
      |                                                 ^
CoordBase.h:542:50: error: template argument 1 is invalid
  542 |                 using Coords<T, SufijoWaypoints<T>>::dv;
      |                                                  ^~
CoordBase.h:543:29: error: 'vectype' has not been declared
  543 |                 void suffix(vectype auto&) const;
      |                             ^~~~~~~
CoordBase.h:543:37: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
  543 |                 void suffix(vectype auto&) const;
      |                                     ^~~~
CoordBase.h:543:29: error: two or more data types in declaration of 'parameter'
  543 |                 void suffix(vectype auto&) const;
      |                             ^~~~~~~
CoordBase.h:591:21: error: 'NumVec_or_DataFrame' does not name a type
  591 | bool validate(const NumVec_or_DataFrame auto, bool = false);
      |                     ^~~~~~~~~~~~~~~~~~~
CoordBase.h:591:41: error: expected ',' or '...' before 'auto'
  591 | bool validate(const NumVec_or_DataFrame auto, bool = false);
      |                                         ^~~~
CoordBase.cpp:79:37: error: 'NumVec_or_DataFrame' does not name a type
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                                     ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:79:57: error: expected ',' or '...' before 'auto'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                                                         ^~~~
CoordBase.cpp: In function 'std::vector<T> get_vec_attr(int)':
CoordBase.cpp:81:16: error: 't' was not declared in this scope
   81 |         return t.hasAttribute(attrname) ? as<vector<U>>(t.attr(attrname)) : vector<U>{};
      |                ^
CoordBase.cpp:81:31: error: 'attrname' was not declared in this scope; did you mean 'tzname'?
   81 |         return t.hasAttribute(attrname) ? as<vector<U>>(t.attr(attrname)) : vector<U>{};
      |                               ^~~~~~~~
      |                               tzname
CoordBase.cpp: At global scope:
CoordBase.cpp:86:36: error: 'NumVec_or_DataFrame' does not name a type
   86 | inline int get_fmt_attribute(const NumVec_or_DataFrame auto& t)
      |                                    ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:86:56: error: expected ',' or '...' before 'auto'
   86 | inline int get_fmt_attribute(const NumVec_or_DataFrame auto& t)
      |                                                        ^~~~
CoordBase.cpp: In function 'int get_fmt_attribute(int)':
CoordBase.cpp:88:24: error: 't' was not declared in this scope; did you mean 'tm'?
   88 |         return as<int>(t.attr("fmt"));
      |                        ^
      |                        tm
CoordBase.cpp: At global scope:
CoordBase.cpp:93:44: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   93 | int check_logical_attr(NumVec_or_DataFrame auto t, const string attrname)
      |                                            ^~~~
CoordBase.cpp:93:5: error: redefinition of 'int check_logical_attr'
   93 | int check_logical_attr(NumVec_or_DataFrame auto t, const string attrname)
      |     ^~~~~~~~~~~~~~~~~~
CoordBase.h:252:5: note: 'int check_logical_attr' previously defined here
  252 | int check_logical_attr(NumVec_or_DataFrame auto, const string);
      |     ^~~~~~~~~~~~~~~~~~
CoordBase.cpp:93:24: error: 'NumVec_or_DataFrame' was not declared in this scope
   93 | int check_logical_attr(NumVec_or_DataFrame auto t, const string attrname)
      |                        ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:93:52: error: expected primary-expression before 'const'
   93 | int check_logical_attr(NumVec_or_DataFrame auto t, const string attrname)
      |                                                    ^~~~~
CoordBase.cpp:105:33: error: 'NumVec_or_DataFrame' does not name a type
  105 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |                                 ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:105:53: error: expected ',' or '...' before 'auto'
  105 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |                                                     ^~~~
CoordBase.cpp: In function 'void checkinherits(int)':
CoordBase.cpp:107:14: error: 't' was not declared in this scope; did you mean 'tm'?
  107 |         if (!t.inherits(classname.c_str())) stop("Argument must be a \"%s\" object", classname.c_str());
      |              ^
      |              tm
CoordBase.cpp:107:25: error: 'classname' was not declared in this scope
  107 |         if (!t.inherits(classname.c_str())) stop("Argument must be a \"%s\" object", classname.c_str());
      |                         ^~~~~~~~~
CoordBase.cpp: In function 'int name_pos_in_df(Rcpp::DataFrame, std::string)':
CoordBase.cpp:171:43: error: no matching function for call to 'get_vec_attr<std::string>(const Rcpp::DataFrame&, std::__cxx11::basic_string<char>)'
  171 |         vector names{ get_vec_attr<string>(df, "names"s) };
      |                       ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'Rcpp::RObject getnames(Rcpp::DataFrame)':
CoordBase.cpp:191:46: error: no matching function for call to 'get_vec_attr<int>(const Rcpp::DataFrame&, std::__cxx11::basic_string<char>)'
  191 |         vector namescolvec{ get_vec_attr<int>(df, "namescol"s) };
      |                             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'const CoordType get_coordtype(int)':
CoordBase.cpp:215:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  215 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:215:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  215 |         using enum CoordType;
      |                             ^
CoordBase.cpp:215:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:215:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp: At global scope:
CoordBase.cpp:222:44: error: 'NumVec_or_DataFrame' does not name a type
  222 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto& t)
      |                                            ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:222:64: error: expected ',' or '...' before 'auto'
  222 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto& t)
      |                                                                ^~~~
CoordBase.cpp:222:24: error: redefinition of 'const CoordType get_coordtype(int)'
  222 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto& t)
      |                        ^~~~~~~~~~~~~
CoordBase.cpp:211:24: note: 'const CoordType get_coordtype(int)' previously defined here
  211 | inline const CoordType get_coordtype(int i)
      |                        ^~~~~~~~~~~~~
CoordBase.cpp: In function 'const CoordType get_coordtype(int)':
CoordBase.cpp:224:48: error: 't' was not declared in this scope; did you mean 'tm'?
  224 |         return get_coordtype(get_fmt_attribute(t));
      |                                                ^
      |                                                tm
CoordBase.cpp: At global scope:
CoordBase.cpp:253:10: error: 'DVecType' has not been declared
  253 | template<DVecType T, typename S>
      |          ^~~~~~~~
CoordBase.cpp:254:8: error: 'T' was not declared in this scope
  254 | Coords<T, S>::Coords(NumericVector nv) :
      |        ^
CoordBase.cpp:254:12: error: template argument 1 is invalid
  254 | Coords<T, S>::Coords(NumericVector nv) :
      |            ^
CoordBase.cpp:254:15: error: conflicting declaration of template 'template<<declaration error>, class S> int Coords(Rcpp::NumericVector)'
  254 | Coords<T, S>::Coords(NumericVector nv) :
      |               ^~~~~~
CoordBase.h:465:7: note: previous declaration 'template<<declaration error>, class S> class Coords'
  465 | class Coords;
      |       ^~~~~~
CoordBase.cpp:255:49: error: expected unqualified-id before ',' token
  255 |         dv { std::move(as<vector<double>>(nv)) },
      |                                                 ^
CoordBase.cpp:256:16: error: expected constructor, destructor, or type conversion before '{' token
  256 |         latlon { get_vec_attr<bool>(nv, "latlon"s) }
      |                ^
CoordBase.cpp:257:1: error: expected unqualified-id before '{' token
  257 | {
      | ^
CoordBase.cpp:263:10: error: 'DVecType' has not been declared
  263 | template<DVecType T, typename S>
      |          ^~~~~~~~
CoordBase.cpp:264:8: error: 'T' was not declared in this scope
  264 | Coords<T, S>::~Coords()
      |        ^
CoordBase.cpp:264:12: error: template argument 1 is invalid
  264 | Coords<T, S>::~Coords()
      |            ^
CoordBase.cpp:270:10: error: 'DVecType' has not been declared
  270 | template<DVecType T, typename S> template<vectype U, functador V>
      |          ^~~~~~~~
CoordBase.cpp:270:43: error: 'vectype' has not been declared
  270 | template<DVecType T, typename S> template<vectype U, functador V>
      |                                           ^~~~~~~
CoordBase.cpp:270:54: error: 'functador' has not been declared
  270 | template<DVecType T, typename S> template<vectype U, functador V>
      |                                                      ^~~~~~~~~
CoordBase.cpp:271:8: error: 'U' does not name a type
  271 | inline U Coords<T, S>::conform0() const
      |        ^
CoordBase.cpp:282:10: error: 'DVecType' has not been declared
  282 | template<DVecType T, typename S> template<typename U, template <typename V> typename F>
      |          ^~~~~~~~
CoordBase.cpp:282:86: error: no default argument for 'S'
  282 | template<DVecType T, typename S> template<typename U, template <typename V> typename F>
      |                                                                                      ^
CoordBase.cpp:283:18: error: 'T' was not declared in this scope
  283 | vector<U> Coords<T, S>::conform(CoordType required) const
      |                  ^
CoordBase.cpp:283:22: error: template argument 1 is invalid
  283 | vector<U> Coords<T, S>::conform(CoordType required) const
      |                      ^
CoordBase.cpp:283:11: error: too many template-parameter-lists
  283 | vector<U> Coords<T, S>::conform(CoordType required) const
      |           ^~~~~~~~~~~~
CoordBase.cpp:304:10: error: 'DVecType' has not been declared
  304 | template<DVecType T, typename S>
      |          ^~~~~~~~
CoordBase.cpp:305:27: error: 'T' was not declared in this scope
  305 | const vector<bool> Coords<T, S>::validate() const
      |                           ^
CoordBase.cpp:305:31: error: template argument 1 is invalid
  305 | const vector<bool> Coords<T, S>::validate() const
      |                               ^
CoordBase.cpp:305:45: error: non-member function 'const std::vector<bool> validate()' cannot have cv-qualifier
  305 | const vector<bool> Coords<T, S>::validate() const
      |                                             ^~~~~
CoordBase.cpp: In function 'const std::vector<bool> validate()':
CoordBase.cpp:307:20: error: 'T' was not declared in this scope
  307 |         FamousFive<T> ff {};
      |                    ^
CoordBase.cpp:307:21: error: template argument 1 is invalid
  307 |         FamousFive<T> ff {};
      |                     ^
CoordBase.cpp:308:52: error: request for member 'begin' in 'latlon', which is of non-class type 'Rcpp::NumericVector(Rcpp::NumericVector, Rcpp::LogicalVector)' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>(Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<10, Rcpp::PreserveStorage>)'}
  308 |         vector<bool>::const_iterator ll_it{ latlon.begin() };
      |                                                    ^~~~~
CoordBase.cpp:309:31: error: request for member 'size' in 'latlon', which is of non-class type 'Rcpp::NumericVector(Rcpp::NumericVector, Rcpp::LogicalVector)' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>(Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<10, Rcpp::PreserveStorage>)'}
  309 |         auto ll_size { latlon.size() };
      |                               ^~~~
CoordBase.cpp:311:22: error: 'dv' was not declared in this scope; did you mean 'div'?
  311 |         valid.assign(dv.size(), {false});
      |                      ^~
      |                      div
CoordBase.cpp: In lambda function:
CoordBase.cpp:314:35: error: request for member 'get_decdeg' in 'ff', which is of non-class type 'int'
  314 |                 return !((fabs(ff.get_decdeg(n)) > (ll_size && (ll_size > 1 ? *ll_it++ : *ll_it) ? 90 : 180)) ||
      |                                   ^~~~~~~~~~
CoordBase.cpp:314:53: error: 'll_size' is not captured
  314 |                 return !((fabs(ff.get_decdeg(n)) > (ll_size && (ll_size > 1 ? *ll_it++ : *ll_it) ? 90 : 180)) ||
      |                                                     ^~~~~~~
CoordBase.cpp:313:78: note: the lambda has no capture-default
  313 |         transform(dv.begin(), dv.end(), valid.begin(), [&ff, &ll_it, &ll_size](auto n){
      |                                                                              ^
CoordBase.cpp:309:14: note: '<typeprefixerror>ll_size' declared here
  309 |         auto ll_size { latlon.size() };
      |              ^~~~~~~
CoordBase.cpp:314:65: error: 'll_size' is not captured
  314 |                 return !((fabs(ff.get_decdeg(n)) > (ll_size && (ll_size > 1 ? *ll_it++ : *ll_it) ? 90 : 180)) ||
      |                                                                 ^~~~~~~
CoordBase.cpp:313:78: note: the lambda has no capture-default
  313 |         transform(dv.begin(), dv.end(), valid.begin(), [&ff, &ll_it, &ll_size](auto n){
      |                                                                              ^
CoordBase.cpp:309:14: note: '<typeprefixerror>ll_size' declared here
  309 |         auto ll_size { latlon.size() };
      |              ^~~~~~~
CoordBase.cpp:315:42: error: request for member 'get_decmin' in 'ff', which is of non-class type 'int'
  315 |                                 (fabs(ff.get_decmin(n)) >= 60) ||
      |                                          ^~~~~~~~~~
CoordBase.cpp:316:42: error: request for member 'get_sec' in 'ff', which is of non-class type 'int'
  316 |                                 (fabs(ff.get_sec(n)) >= 60));
      |                                          ^~~~~~~
CoordBase.cpp: At global scope:
CoordBase.cpp:328:10: error: 'DVecType' has not been declared
  328 | template<DVecType T, typename S>
      |          ^~~~~~~~
CoordBase.cpp:329:13: error: 'T' was not declared in this scope
  329 | void Coords<T, S>::add_suffix(vectype auto& uv_out) const
      |             ^
CoordBase.cpp:329:17: error: template argument 1 is invalid
  329 | void Coords<T, S>::add_suffix(vectype auto& uv_out) const
      |                 ^
CoordBase.cpp:329:39: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
  329 | void Coords<T, S>::add_suffix(vectype auto& uv_out) const
      |                                       ^~~~
CoordBase.cpp:329:6: error: variable or field 'add_suffix' declared void
  329 | void Coords<T, S>::add_suffix(vectype auto& uv_out) const
      |      ^~~~~~~~~~~~
CoordBase.cpp:329:31: error: 'vectype' was not declared in this scope; did you mean 'wctype'?
  329 | void Coords<T, S>::add_suffix(vectype auto& uv_out) const
      |                               ^~~~~~~
      |                               wctype
CoordBase.cpp:338:10: error: 'DVecType' has not been declared
  338 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.cpp:339:19: error: 'T' was not declared in this scope
  339 | void SufijoCoords<T>::suffix(vectype auto& uv_out) const
      |                   ^
CoordBase.cpp:339:20: error: template argument 1 is invalid
  339 | void SufijoCoords<T>::suffix(vectype auto& uv_out) const
      |                    ^
CoordBase.cpp:339:38: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
  339 | void SufijoCoords<T>::suffix(vectype auto& uv_out) const
      |                                      ^~~~
CoordBase.cpp:339:6: error: variable or field 'suffix' declared void
  339 | void SufijoCoords<T>::suffix(vectype auto& uv_out) const
      |      ^~~~~~~~~~~~~~~
CoordBase.cpp:339:30: error: 'vectype' was not declared in this scope; did you mean 'wctype'?
  339 | void SufijoCoords<T>::suffix(vectype auto& uv_out) const
      |                              ^~~~~~~
      |                              wctype
CoordBase.cpp:373:10: error: 'DVecType' has not been declared
  373 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.cpp:374:22: error: 'T' was not declared in this scope
  374 | void SufijoWaypoints<T>::suffix(vectype auto& uv_out) const
      |                      ^
CoordBase.cpp:374:23: error: template argument 1 is invalid
  374 | void SufijoWaypoints<T>::suffix(vectype auto& uv_out) const
      |                       ^
CoordBase.cpp:374:41: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
  374 | void SufijoWaypoints<T>::suffix(vectype auto& uv_out) const
      |                                         ^~~~
CoordBase.cpp:374:6: error: variable or field 'suffix' declared void
  374 | void SufijoWaypoints<T>::suffix(vectype auto& uv_out) const
      |      ^~~~~~~~~~~~~~~~~~
CoordBase.cpp:374:33: error: 'vectype' was not declared in this scope; did you mean 'wctype'?
  374 | void SufijoWaypoints<T>::suffix(vectype auto& uv_out) const
      |                                 ^~~~~~~
      |                                 wctype
CoordBase.cpp: In function 'std::vector<double> convert_switch(Rcpp::NumericVector, CoordType)':
CoordBase.cpp:388:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  388 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:388:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  388 |         using enum CoordType;
      |                             ^
CoordBase.cpp:388:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:388:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:389:31: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  389 |         switch (get_coordtype(nv))
      |                               ^~
In file included from D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/storage.h:4,
                 from D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/RcppCommon.h:128,
                 from D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp.h:27,
                 from CoordBase.cpp:8:
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<14, Rcpp::PreserveStorage>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:211:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  211 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp:392:83: error: expected primary-expression before 'double'
  392 |                         return SufijoCoords<DecDegVecDouble>(nv).template conform<double, ConvertidorDecDegVec>(newtype);
      |                                                                                   ^~~~~~
CoordBase.cpp:392:83: error: expected ';' before 'double'
  392 |                         return SufijoCoords<DecDegVecDouble>(nv).template conform<double, ConvertidorDecDegVec>(newtype);
      |                                                                                   ^~~~~~
      |                                                                                   ;
CoordBase.cpp:392:89: error: expected unqualified-id before ',' token
  392 |                         return SufijoCoords<DecDegVecDouble>(nv).template conform<double, ConvertidorDecDegVec>(newtype);
      |                                                                                         ^
CoordBase.cpp:392:111: error: expected initializer before '>' token
  392 |                         return SufijoCoords<DecDegVecDouble>(nv).template conform<double, ConvertidorDecDegVec>(newtype);
      |                                                                                                               ^
CoordBase.cpp:395:83: error: expected primary-expression before 'double'
  395 |                         return SufijoCoords<DegMinVecDouble>(nv).template conform<double, ConvertidorDegMinVec>(newtype);
      |                                                                                   ^~~~~~
CoordBase.cpp:395:83: error: expected ';' before 'double'
  395 |                         return SufijoCoords<DegMinVecDouble>(nv).template conform<double, ConvertidorDegMinVec>(newtype);
      |                                                                                   ^~~~~~
      |                                                                                   ;
CoordBase.cpp:395:89: error: expected unqualified-id before ',' token
  395 |                         return SufijoCoords<DegMinVecDouble>(nv).template conform<double, ConvertidorDegMinVec>(newtype);
      |                                                                                         ^
CoordBase.cpp:395:111: error: expected initializer before '>' token
  395 |                         return SufijoCoords<DegMinVecDouble>(nv).template conform<double, ConvertidorDegMinVec>(newtype);
      |                                                                                                               ^
CoordBase.cpp:398:86: error: expected primary-expression before 'double'
  398 |                         return SufijoCoords<DegMinSecVecDouble>(nv).template conform<double, ConvertidorDegMinSecVec>(newtype);
      |                                                                                      ^~~~~~
CoordBase.cpp:398:86: error: expected ';' before 'double'
  398 |                         return SufijoCoords<DegMinSecVecDouble>(nv).template conform<double, ConvertidorDegMinSecVec>(newtype);
      |                                                                                      ^~~~~~
      |                                                                                      ;
CoordBase.cpp:398:92: error: expected unqualified-id before ',' token
  398 |                         return SufijoCoords<DegMinSecVecDouble>(nv).template conform<double, ConvertidorDegMinSecVec>(newtype);
      |                                                                                            ^
CoordBase.cpp:398:117: error: expected initializer before '>' token
  398 |                         return SufijoCoords<DegMinSecVecDouble>(nv).template conform<double, ConvertidorDegMinSecVec>(newtype);
      |                                                                                                                     ^
CoordBase.cpp: In function 'std::vector<std::__cxx11::basic_string<char> > format_switch_c(Rcpp::NumericVector, CoordType)':
CoordBase.cpp:409:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  409 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:409:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  409 |         using enum CoordType;
      |                             ^
CoordBase.cpp:409:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:409:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:410:31: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  410 |         switch (get_coordtype(nv))
      |                               ^~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<14, Rcpp::PreserveStorage>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:211:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  211 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp:413:89: error: expected primary-expression before ',' token
  413 |                         return SufijoCoords<DecDegVecDouble>(nv).template conform<string, FormateadorDecDegVec>(ct_required);
      |                                                                                         ^
CoordBase.cpp:413:91: error: 'FormateadorDecDegVec' was not declared in this scope
  413 |                         return SufijoCoords<DecDegVecDouble>(nv).template conform<string, FormateadorDecDegVec>(ct_required);
      |                                                                                           ^~~~~~~~~~~~~~~~~~~~
CoordBase.cpp:416:89: error: expected primary-expression before ',' token
  416 |                         return SufijoCoords<DegMinVecDouble>(nv).template conform<string, FormateadorDegMinVec>(ct_required);
      |                                                                                         ^
CoordBase.cpp:416:91: error: 'FormateadorDegMinVec' was not declared in this scope
  416 |                         return SufijoCoords<DegMinVecDouble>(nv).template conform<string, FormateadorDegMinVec>(ct_required);
      |                                                                                           ^~~~~~~~~~~~~~~~~~~~
CoordBase.cpp:419:92: error: expected primary-expression before ',' token
  419 |                         return SufijoCoords<DegMinSecVecDouble>(nv).template conform<string, FormateadorDegMinSecVec>(ct_required);
      |                                                                                            ^
CoordBase.cpp:419:94: error: 'FormateadorDegMinSecVec' was not declared in this scope
  419 |                         return SufijoCoords<DegMinSecVecDouble>(nv).template conform<string, FormateadorDegMinSecVec>(ct_required);
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~~~~
CoordBase.cpp: In function 'std::vector<std::__cxx11::basic_string<char> > format_switch_w(Rcpp::NumericVector, CoordType)':
CoordBase.cpp:430:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  430 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:430:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  430 |         using enum CoordType;
      |                             ^
CoordBase.cpp:430:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:430:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:431:31: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  431 |         switch (get_coordtype(nv))
      |                               ^~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<14, Rcpp::PreserveStorage>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:211:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  211 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp:434:92: error: expected primary-expression before ',' token
  434 |                         return SufijoWaypoints<DecDegVecDouble>(nv).template conform<string, FormateadorDecDegVec>(ct_required);
      |                                                                                            ^
CoordBase.cpp:434:94: error: 'FormateadorDecDegVec' was not declared in this scope
  434 |                         return SufijoWaypoints<DecDegVecDouble>(nv).template conform<string, FormateadorDecDegVec>(ct_required);
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
CoordBase.cpp:437:92: error: expected primary-expression before ',' token
  437 |                         return SufijoWaypoints<DegMinVecDouble>(nv).template conform<string, FormateadorDegMinVec>(ct_required);
      |                                                                                            ^
CoordBase.cpp:437:94: error: 'FormateadorDegMinVec' was not declared in this scope
  437 |                         return SufijoWaypoints<DegMinVecDouble>(nv).template conform<string, FormateadorDegMinVec>(ct_required);
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
CoordBase.cpp:440:95: error: expected primary-expression before ',' token
  440 |                         return SufijoWaypoints<DegMinSecVecDouble>(nv).template conform<string, FormateadorDegMinSecVec>(ct_required);
      |                                                                                               ^
CoordBase.cpp:440:97: error: 'FormateadorDegMinSecVec' was not declared in this scope
  440 |                         return SufijoWaypoints<DegMinSecVecDouble>(nv).template conform<string, FormateadorDegMinSecVec>(ct_required);
      |                                                                                                 ^~~~~~~~~~~~~~~~~~~~~~~
CoordBase.cpp: In function 'const std::vector<bool> validate_switch(Rcpp::NumericVector)':
CoordBase.cpp:452:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  452 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:452:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  452 |         using enum CoordType;
      |                             ^
CoordBase.cpp:452:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:452:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:453:31: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  453 |         switch (get_coordtype(nv))
      |                               ^~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<14, Rcpp::PreserveStorage>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:211:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  211 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp: In constructor 'Waypoints::Waypoints(const Rcpp::DataFrame&)':
CoordBase.cpp:477:37: error: no matching function for call to 'get_vec_attr<int>(const Rcpp::DataFrame&, const char [7])'
  477 |         nv_lat( df[get_vec_attr<int>(df, "llcols")[0] - 1] ),
      |                    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:478:37: error: no matching function for call to 'get_vec_attr<int>(const Rcpp::DataFrame&, const char [7])'
  478 |         nv_lon( df[get_vec_attr<int>(df, "llcols")[1] - 1] )
      |                    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:480:47: error: no matching function for call to 'get_vec_attr<int>(const Rcpp::DataFrame&, const char [4])'
  480 |         nv_lat.attr("fmt") = get_vec_attr<int>(df, "fmt");
      |                              ~~~~~~~~~~~~~~~~~^~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:481:47: error: no matching function for call to 'get_vec_attr<int>(const Rcpp::DataFrame&, const char [4])'
  481 |         nv_lon.attr("fmt") = get_vec_attr<int>(df, "fmt");
      |                              ~~~~~~~~~~~~~~~~~^~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In member function 'std::vector<std::__cxx11::basic_string<char> > Waypoints::format(CoordType, bool) const':
CoordBase.cpp:507:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  507 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:507:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  507 |         using enum CoordType;
      |                             ^
CoordBase.cpp:507:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:507:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp: In function 'bool check_valid(Rcpp::NumericVector, bool)':
CoordBase.cpp:537:43: error: 'check_logical_attr' cannot be used as a function
  537 |         int validated = check_logical_attr(nv, "valid"s);
      |                         ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:539:32: error: no matching function for call to 'validate(const Rcpp::NumericVector&, bool)'
  539 |                 return validate(nv, !newbie);
      |                        ~~~~~~~~^~~~~~~~~~~~~
CoordBase.cpp:305:20: note: candidate: 'template<<declaration error>, class S> const std::vector<bool> validate()'
  305 | const vector<bool> Coords<T, S>::validate() const
      |                    ^~~~~~~~~~~~
CoordBase.cpp:305:20: note:   candidate expects 0 arguments, 2 provided
CoordBase.h:591:6: note: candidate: 'bool validate(int)'
  591 | bool validate(const NumVec_or_DataFrame auto, bool = false);
      |      ^~~~~~~~
CoordBase.h:591:6: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'bool check_valid(Rcpp::DataFrame, bool)':
CoordBase.cpp:547:46: error: 'check_logical_attr' cannot be used as a function
  547 |         int latvalidated = check_logical_attr(df, "validlat"s);
      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:548:46: error: 'check_logical_attr' cannot be used as a function
  548 |         int lonvalidated = check_logical_attr(df, "validlon"s);
      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:551:32: error: no matching function for call to 'validate(const Rcpp::DataFrame&, bool)'
  551 |                 return validate(df, !newbie);
      |                        ~~~~~~~~^~~~~~~~~~~~~
CoordBase.cpp:305:20: note: candidate: 'template<<declaration error>, class S> const std::vector<bool> validate()'
  305 | const vector<bool> Coords<T, S>::validate() const
      |                    ^~~~~~~~~~~~
CoordBase.cpp:305:20: note:   candidate expects 0 arguments, 2 provided
CoordBase.h:591:6: note: candidate: 'bool validate(int)'
  591 | bool validate(const NumVec_or_DataFrame auto, bool = false);
      |      ^~~~~~~~
CoordBase.h:591:6: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: At global scope:
CoordBase.cpp:561:21: error: 'NumVec_or_DataFrame' does not name a type
  561 | bool validate(const NumVec_or_DataFrame auto t, bool revalidate)
      |                     ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:561:41: error: expected ',' or '...' before 'auto'
  561 | bool validate(const NumVec_or_DataFrame auto t, bool revalidate)
      |                                         ^~~~
CoordBase.cpp: In function 'bool validate(int)':
CoordBase.cpp:563:53: error: 't' was not declared in this scope; did you mean 'tm'?
  563 |         using t_type = std::remove_const_t<decltype(t)>;
      |                                                     ^
      |                                                     tm
CoordBase.cpp:563:55: error: template argument 1 is invalid
  563 |         using t_type = std::remove_const_t<decltype(t)>;
      |                                                       ^
CoordBase.cpp:567:41: error: 't_type' was not declared in this scope; did you mean 'wctype'?
  567 |         if constexpr (isNumericVector_v<t_type>) {
      |                                         ^~~~~~
      |                                         wctype
CoordBase.cpp:567:47: error: template argument 1 is invalid
  567 |         if constexpr (isNumericVector_v<t_type>) {
      |                                               ^
CoordBase.cpp:567:48: error: expected unqualified-id before ')' token
  567 |         if constexpr (isNumericVector_v<t_type>) {
      |                                                ^
CoordBase.cpp:572:30: error: 'Is_DataFrame' was not declared in this scope; did you mean 'Rf_isDataFrame'?
  572 |         } else if constexpr (Is_DataFrame<t_type>) {
      |                              ^~~~~~~~~~~~
      |                              Rf_isDataFrame
CoordBase.cpp:572:50: error: expected primary-expression before ')' token
  572 |         } else if constexpr (Is_DataFrame<t_type>) {
      |                                                  ^
CoordBase.cpp:581:61: error: 'revalidate' was not declared in this scope; did you mean 'validate'?
  581 |                 warning("%salidation detected invalid %s!", revalidate ? "Rev" : "V", iscoords ? "coords" : "waypoints");
      |                                                             ^~~~~~~~~~
      |                                                             validate
CoordBase.cpp:582:18: error: 'revalidate' was not declared in this scope; did you mean 'validate'?
  582 |         else if (revalidate)
      |                  ^~~~~~~~~~
      |                  validate
CoordBase.cpp: In function 'bool valid_ll(Rcpp::DataFrame)':
CoordBase.cpp:592:42: error: no matching function for call to 'get_vec_attr<int>(const Rcpp::DataFrame&, std::__cxx11::basic_string<char>)'
  592 |         vector llcols { get_vec_attr<int>(df, "llcols"s) };
      |                         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'Rcpp::NumericVector convertcoords(Rcpp::NumericVector, int)':
CoordBase.cpp:626:23: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  626 |         checkinherits(x, "coords"s);
      |                       ^
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<14, Rcpp::PreserveStorage>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:626:22: error: too many arguments to function 'void checkinherits(int)'
  626 |         checkinherits(x, "coords"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:105:13: note: declared here
  105 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:627:46: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  627 |         CoordType ct_current = get_coordtype(x);
      |                                              ^
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<14, Rcpp::PreserveStorage>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:211:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  211 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp: In function 'Rcpp::NumericVector latlon(Rcpp::NumericVector, Rcpp::LogicalVector)':
CoordBase.cpp:652:23: error: invalid user-defined conversion from 'Rcpp::NumericVector' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  652 |         checkinherits(cd, "coords"s);
      |                       ^~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<14, Rcpp::PreserveStorage>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:652:22: error: too many arguments to function 'void checkinherits(int)'
  652 |         checkinherits(cd, "coords"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:105:13: note: declared here
  105 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:657:22: error: no matching function for call to 'validate(Rcpp::NumericVector&)'
  657 |         if (!validate(cd))
      |              ~~~~~~~~^~~~
CoordBase.cpp:561:6: note: candidate: 'bool validate(int)' (near match)
  561 | bool validate(const NumVec_or_DataFrame auto t, bool revalidate)
      |      ^~~~~~~~
CoordBase.cpp:561:6: note:   conversion of argument 1 would be ill-formed:
CoordBase.cpp:657:23: error: invalid user-defined conversion from 'Rcpp::NumericVector' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  657 |         if (!validate(cd))
      |                       ^~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<14, Rcpp::PreserveStorage>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:305:20: note: candidate: 'template<<declaration error>, class S> const std::vector<bool> validate()'
  305 | const vector<bool> Coords<T, S>::validate() const
      |                    ^~~~~~~~~~~~
CoordBase.cpp:305:20: note:   candidate expects 0 arguments, 1 provided
CoordBase.cpp: In function 'Rcpp::CharacterVector formatcoords(Rcpp::NumericVector, bool, bool, int)':
CoordBase.cpp:668:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  668 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:668:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  668 |         using enum CoordType;
      |                             ^
CoordBase.cpp:668:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:668:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:669:23: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  669 |         checkinherits(x, "coords"s);
      |                       ^
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<14, Rcpp::PreserveStorage>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:669:22: error: too many arguments to function 'void checkinherits(int)'
  669 |         checkinherits(x, "coords"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:105:13: note: declared here
  105 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:675:46: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  675 |         CoordType ct_current { get_coordtype(x) };
      |                                              ^
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<14, Rcpp::PreserveStorage>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:211:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  211 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp:678:43: error: no matching function for call to 'get_vec_attr<std::string>(const Rcpp::NumericVector&, std::__cxx11::basic_string<char>)'
  678 |         vector names{ get_vec_attr<string>(x, "names"s) };
      |                       ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'Rcpp::NumericVector validatecoords(Rcpp::NumericVector, bool)':
CoordBase.cpp:692:23: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  692 |         checkinherits(x, "coords"s);
      |                       ^
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<14, Rcpp::PreserveStorage>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:692:22: error: too many arguments to function 'void checkinherits(int)'
  692 |         checkinherits(x, "coords"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:105:13: note: declared here
  105 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:695:30: error: no matching function for call to 'validate(const Rcpp::NumericVector&)'
  695 |                 if (!validate(x))
      |                      ~~~~~~~~^~~
CoordBase.cpp:561:6: note: candidate: 'bool validate(int)' (near match)
  561 | bool validate(const NumVec_or_DataFrame auto t, bool revalidate)
      |      ^~~~~~~~
CoordBase.cpp:561:6: note:   conversion of argument 1 would be ill-formed:
CoordBase.cpp:695:31: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  695 |                 if (!validate(x))
      |                               ^
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<14, Rcpp::PreserveStorage>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:305:20: note: candidate: 'template<<declaration error>, class S> const std::vector<bool> validate()'
  305 | const vector<bool> Coords<T, S>::validate() const
      |                    ^~~~~~~~~~~~
CoordBase.cpp:305:20: note:   candidate expects 0 arguments, 1 provided
CoordBase.cpp: In function 'Rcpp::DataFrame convertwaypoints(Rcpp::DataFrame, int)':
CoordBase.cpp:736:23: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  736 |         checkinherits(x, "waypoints"s);
      |                       ^
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<19>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:736:22: error: too many arguments to function 'void checkinherits(int)'
  736 |         checkinherits(x, "waypoints"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:105:13: note: declared here
  105 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:737:46: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  737 |         CoordType ct_current = get_coordtype(x);
      |                                              ^
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<19>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:211:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  211 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp:747:47: error: no matching function for call to 'get_vec_attr<int>(Rcpp::DataFrame&, const char [7])'
  747 |                 auto llcols{ get_vec_attr<int>(x, "llcols") };
      |                              ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:750:49: error: no matching function for call to 'get_vec_attr<int>(Rcpp::DataFrame&, const char [9])'
  750 |                 auto namescol{ get_vec_attr<int>(x, "namescol") };
      |                                ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:751:49: error: no matching function for call to 'get_vec_attr<std::string>(Rcpp::DataFrame&, const char [6])'
  751 |                 auto names{ get_vec_attr<string>(x, "names") };
      |                             ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:752:50: error: no matching function for call to 'get_vec_attr<int>(Rcpp::DataFrame&, const char [10])'
  752 |                 auto row_names{ get_vec_attr<int>(x, "row.names") };
      |                                 ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:753:50: error: no matching function for call to 'get_vec_attr<bool>(Rcpp::DataFrame&, const char [9])'
  753 |                 auto validlat{ get_vec_attr<bool>(x, "validlat") };
      |                                ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:754:50: error: no matching function for call to 'get_vec_attr<bool>(Rcpp::DataFrame&, const char [9])'
  754 |                 auto validlon{ get_vec_attr<bool>(x, "validlon") };
      |                                ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'Rcpp::CharacterVector formatwaypoints(Rcpp::DataFrame, bool, bool, int)':
CoordBase.cpp:783:23: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  783 |         checkinherits(x, "waypoints"s);
      |                       ^
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<19>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:783:22: error: too many arguments to function 'void checkinherits(int)'
  783 |         checkinherits(x, "waypoints"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:105:13: note: declared here
  105 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:792:66: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  792 |         auto required { fmt ? get_coordtype(fmt) : get_coordtype(x) };
      |                                                                  ^
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<19>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:211:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  211 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp: In function 'Rcpp::DataFrame validatewaypoints(Rcpp::DataFrame, bool)':
CoordBase.cpp:810:23: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  810 |         checkinherits(x, "waypoints"s);
      |                       ^
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<19>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:810:22: error: too many arguments to function 'void checkinherits(int)'
  810 |         checkinherits(x, "waypoints"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:105:13: note: declared here
  105 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:815:30: error: no matching function for call to 'validate(Rcpp::DataFrame&)'
  815 |                 if (!validate(x))
      |                      ~~~~~~~~^~~
CoordBase.cpp:561:6: note: candidate: 'bool validate(int)' (near match)
  561 | bool validate(const NumVec_or_DataFrame auto t, bool revalidate)
      |      ^~~~~~~~
CoordBase.cpp:561:6: note:   conversion of argument 1 would be ill-formed:
CoordBase.cpp:815:31: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  815 |                 if (!validate(x))
      |                               ^
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<19>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:305:20: note: candidate: 'template<<declaration error>, class S> const std::vector<bool> validate()'
  305 | const vector<bool> Coords<T, S>::validate() const
      |                    ^~~~~~~~~~~~
CoordBase.cpp:305:20: note:   candidate expects 0 arguments, 1 provided
CoordBase.cpp: In function 'Rcpp::NumericVector as_coordswaypoints(Rcpp::DataFrame, bool)':
CoordBase.cpp:847:23: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  847 |         checkinherits(object, "waypoints"s);
      |                       ^~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note: candidate is: 'Rcpp::PreserveStorage<CLASS>::operator SEXP() const [with CLASS = Rcpp::Vector<19>; SEXP = SEXPREC*]' (near match)
   75 |         inline operator SEXP() const { return data; }
      |                ^~~~~~~~
D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp/storage/PreserveStorage.h:75:16: note:   no known conversion from 'SEXP' {aka 'SEXPREC*'} to 'int'
CoordBase.cpp:847:22: error: too many arguments to function 'void checkinherits(int)'
  847 |         checkinherits(object, "waypoints"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
CoordBase.cpp:105:13: note: declared here
  105 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:848:52: error: no matching function for call to 'get_vec_attr<int>(Rcpp::DataFrame&, std::__cxx11::basic_string<char>)'
  848 |         NumericVector nv = object[get_vec_attr<int>(object, "llcols"s)[which ? 0 : 1] - 1];
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:79:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   79 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:79:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'Rcpp::RObject getnames(Rcpp::DataFrame)':
CoordBase.cpp:203:1: warning: control reaches end of non-void function [-Wreturn-type]
  203 | }
      | ^
make[1]: *** [D:/RCompile/recent/R-4.5.3/etc/x64/Makeconf:302: CoordBase.o] Error 1
make[1]: Leaving directory '/d/temp/2026_10_09_10_23_25_30964/RtmpmiLwxv/R.INSTALL1ab3026c06952/Waypoint/src'
ERROR: compilation failed for package 'Waypoint'
* removing 'd:/Rcompile/CRANpkg/lib/4.5/Waypoint'
* restoring previous 'd:/Rcompile/CRANpkg/lib/4.5/Waypoint'