* installing *source* package 'Waypoint' ...
** this is package 'Waypoint' version '2.0.0'
** 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_07_17_09_06_03_6802/Rtmpy4mjg9/R.INSTALL51505bc02781/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:31:
CoordBase.h:29:1: warning: identifier 'concept' is a keyword in C++20 [-Wc++20-compat]
   29 | concept Is_NumericVector = isNumericVector_v<T>;
      | ^~~~~~~
CoordBase.h:34:9: warning: identifier 'requires' is a keyword in C++20 [-Wc++20-compat]
   34 |         requires(T t, const string& s, const char *c) {
      |         ^~~~~~~~
CoordBase.h:29:1: error: 'concept' does not name a type; did you mean 'const'?
   29 | concept Is_NumericVector = isNumericVector_v<T>;
      | ^~~~~~~
      | const
CoordBase.h:29:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:33:1: error: 'concept' does not name a type; did you mean 'const'?
   33 | concept Is_DataFrame =
      | ^~~~~~~
      | const
CoordBase.h:33:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:46:1: error: 'concept' does not name a type; did you mean 'const'?
   46 | concept NumVec_or_DataFrame =
      | ^~~~~~~
      | const
CoordBase.h:46:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:62:51: error: expected ')' before 'count'
   62 |         explicit VecTypeBase( vector<T>::size_type count ) : vector<T>(count) {}                        // ≈ "default"
      |                             ~                     ^~~~~~
      |                                                   )
CoordBase.h:156:1: error: 'concept' does not name a type; did you mean 'const'?
  156 | concept DVecType =
      | ^~~~~~~
      | const
CoordBase.h:156:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:203:1: error: 'concept' does not name a type; did you mean 'const'?
  203 | concept SVecType =
      | ^~~~~~~
      | const
CoordBase.h:203:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:211:1: error: 'concept' does not name a type; did you mean 'const'?
  211 | concept vectype =
      | ^~~~~~~
      | const
CoordBase.h:211:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:226:37: error: 'NumVec_or_DataFrame' does not name a type
  226 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto&, const string);
      |                                     ^~~~~~~~~~~~~~~~~~~
CoordBase.h:226:57: error: expected ',' or '...' before 'auto'
  226 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto&, const string);
      |                                                         ^~~~
CoordBase.h:227:36: error: 'NumVec_or_DataFrame' does not name a type
  227 | inline int get_fmt_attribute(const NumVec_or_DataFrame auto&);
      |                                    ^~~~~~~~~~~~~~~~~~~
CoordBase.h:227:56: error: expected ',' or '...' before 'auto'
  227 | inline int get_fmt_attribute(const NumVec_or_DataFrame auto&);
      |                                                        ^~~~
CoordBase.h:228:44: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
  228 | int check_logical_attr(NumVec_or_DataFrame auto, const string);
      |                                            ^~~~
CoordBase.h:228:24: error: 'NumVec_or_DataFrame' was not declared in this scope
  228 | int check_logical_attr(NumVec_or_DataFrame auto, const string);
      |                        ^~~~~~~~~~~~~~~~~~~
CoordBase.h:228:50: error: expected primary-expression before 'const'
  228 | int check_logical_attr(NumVec_or_DataFrame auto, const string);
      |                                                  ^~~~~
CoordBase.h:228:62: error: expression list treated as compound expression in initializer [-fpermissive]
  228 | int check_logical_attr(NumVec_or_DataFrame auto, const string);
      |                                                              ^
CoordBase.h:229:33: error: 'NumVec_or_DataFrame' does not name a type
  229 | inline void checkinherits(const NumVec_or_DataFrame auto&, const string);
      |                                 ^~~~~~~~~~~~~~~~~~~
CoordBase.h:229:53: error: expected ',' or '...' before 'auto'
  229 | inline void checkinherits(const NumVec_or_DataFrame auto&, const string);
      |                                                     ^~~~
CoordBase.h:247:44: error: 'NumVec_or_DataFrame' does not name a type
  247 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto&);
      |                                            ^~~~~~~~~~~~~~~~~~~
CoordBase.h:247:64: error: expected ',' or '...' before 'auto'
  247 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto&);
      |                                                                ^~~~
CoordBase.h:260:10: error: 'DVecType' has not been declared
  260 | template<DVecType type>
      |          ^~~~~~~~
CoordBase.h:302:10: error: 'DVecType' has not been declared
  302 | template<DVecType T, DVecType U>
      |          ^~~~~~~~
CoordBase.h:302:22: error: 'DVecType' has not been declared
  302 | template<DVecType T, DVecType U>
      |                      ^~~~~~~~
CoordBase.h:308:10: error: 'DVecType' has not been declared
  308 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:309:20: error: 'T' was not declared in this scope
  309 | struct Convertidor<T, DecDegVecDouble>{
      |                    ^
CoordBase.h:309:38: error: template argument 1 is invalid
  309 | struct Convertidor<T, DecDegVecDouble>{
      |                                      ^
CoordBase.h:317:10: error: 'DVecType' has not been declared
  317 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:318:20: error: 'T' was not declared in this scope
  318 | struct Convertidor<T, DegMinVecDouble>{
      |                    ^
CoordBase.h:318:38: error: template argument 1 is invalid
  318 | struct Convertidor<T, DegMinVecDouble>{
      |                                      ^
CoordBase.h:326:10: error: 'DVecType' has not been declared
  326 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:327:20: error: 'T' was not declared in this scope
  327 | struct Convertidor<T, DegMinSecVecDouble>{
      |                    ^
CoordBase.h:327:41: error: template argument 1 is invalid
  327 | struct Convertidor<T, DegMinSecVecDouble>{
      |                                         ^
CoordBase.h:335:10: error: 'DVecType' has not been declared
  335 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:336:59: error: 'T' was not declared in this scope
  336 | using ConvertidorDecDegVec = Convertidor<DecDegVecDouble, T>;
      |                                                           ^
CoordBase.h:336:60: error: template argument 2 is invalid
  336 | using ConvertidorDecDegVec = Convertidor<DecDegVecDouble, T>;
      |                                                            ^
CoordBase.h:337:10: error: 'DVecType' has not been declared
  337 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:338:59: error: 'T' was not declared in this scope
  338 | using ConvertidorDegMinVec = Convertidor<DegMinVecDouble, T>;
      |                                                           ^
CoordBase.h:338:60: error: template argument 2 is invalid
  338 | using ConvertidorDegMinVec = Convertidor<DegMinVecDouble, T>;
      |                                                            ^
CoordBase.h:339:10: error: 'DVecType' has not been declared
  339 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:340:65: error: 'T' was not declared in this scope
  340 | using ConvertidorDegMinSecVec = Convertidor<DegMinSecVecDouble, T>;
      |                                                                 ^
CoordBase.h:340:66: error: template argument 2 is invalid
  340 | using ConvertidorDegMinSecVec = Convertidor<DegMinSecVecDouble, T>;
      |                                                                  ^
CoordBase.h:349:10: error: 'DVecType' has not been declared
  349 | template<DVecType T, SVecType U>
      |          ^~~~~~~~
CoordBase.h:349:22: error: 'SVecType' has not been declared
  349 | template<DVecType T, SVecType U>
      |                      ^~~~~~~~
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 Formateador<T, DecDegVecString>{
      |                    ^
CoordBase.h:356:38: error: template argument 1 is invalid
  356 | struct Formateador<T, DecDegVecString>{
      |                                      ^
CoordBase.h:370:10: error: 'DVecType' has not been declared
  370 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:371:20: error: 'T' was not declared in this scope
  371 | struct Formateador<T, DegMinVecString>{
      |                    ^
CoordBase.h:371:38: error: template argument 1 is invalid
  371 | struct Formateador<T, DegMinVecString>{
      |                                      ^
CoordBase.h:393:10: error: 'DVecType' has not been declared
  393 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:394:20: error: 'T' was not declared in this scope
  394 | struct Formateador<T, DegMinSecVecString>{
      |                    ^
CoordBase.h:394:41: error: template argument 1 is invalid
  394 | struct Formateador<T, DegMinSecVecString>{
      |                                         ^
CoordBase.h:417:10: error: 'SVecType' has not been declared
  417 | template<SVecType T>
      |          ^~~~~~~~
CoordBase.h:418:59: error: 'T' was not declared in this scope
  418 | using FormateadorDecDegVec = Formateador<DecDegVecDouble, T>;
      |                                                           ^
CoordBase.h:418:60: error: template argument 2 is invalid
  418 | using FormateadorDecDegVec = Formateador<DecDegVecDouble, T>;
      |                                                            ^
CoordBase.h:419:10: error: 'SVecType' has not been declared
  419 | template<SVecType T>
      |          ^~~~~~~~
CoordBase.h:420:59: error: 'T' was not declared in this scope
  420 | using FormateadorDegMinVec = Formateador<DegMinVecDouble, T>;
      |                                                           ^
CoordBase.h:420:60: error: template argument 2 is invalid
  420 | using FormateadorDegMinVec = Formateador<DegMinVecDouble, T>;
      |                                                            ^
CoordBase.h:421:10: error: 'SVecType' has not been declared
  421 | template<SVecType T>
      |          ^~~~~~~~
CoordBase.h:422:65: error: 'T' was not declared in this scope
  422 | using FormateadorDegMinSecVec = Formateador<DegMinSecVecDouble, T>;
      |                                                                 ^
CoordBase.h:422:66: error: template argument 2 is invalid
  422 | using FormateadorDegMinSecVec = Formateador<DegMinSecVecDouble, T>;
      |                                                                  ^
CoordBase.h:428:1: error: 'concept' does not name a type; did you mean 'const'?
  428 | concept float_or_string =
      | ^~~~~~~
      | const
CoordBase.h:428:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:434:1: error: 'concept' does not name a type; did you mean 'const'?
  434 | concept functador =
      | ^~~~~~~
      | const
CoordBase.h:434:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:441:10: error: 'DVecType' has not been declared
  441 | template<DVecType T, typename S>
      |          ^~~~~~~~
CoordBase.h:442:7: error: no default argument for 'S'
  442 | class Coords;
      |       ^~~~~~
CoordBase.h:446:1: error: 'concept' does not name a type; did you mean 'const'?
  446 | concept sufijo =
      | ^~~~~~~
      | const
CoordBase.h:446:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:449:11: error: expected unqualified-id before '||' token
  449 |         } ||
      |           ^~
CoordBase.h:452:11: error: expected unqualified-id before '||' token
  452 |         } ||
      |           ^~
CoordBase.h:460:1: error: 'concept' does not name a type; did you mean 'const'?
  460 | concept coords_t =
      | ^~~~~~~
      | const
CoordBase.h:460:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:464:11: error: expected unqualified-id before '||' token
  464 |         } ||
      |           ^~
CoordBase.h:468:11: error: expected unqualified-id before '||' token
  468 |         } ||
      |           ^~
CoordBase.h:477:10: error: 'DVecType' has not been declared
  477 | template<DVecType T, typename S>
      |          ^~~~~~~~
CoordBase.h:505:10: error: 'DVecType' has not been declared
  505 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:506:42: error: 'T' was not declared in this scope
  506 | class SufijoCoords final : public Coords<T, SufijoCoords<T>> {
      |                                          ^
CoordBase.h:506:58: error: 'T' was not declared in this scope
  506 | class SufijoCoords final : public Coords<T, SufijoCoords<T>> {
      |                                                          ^
CoordBase.h:506:59: error: template argument 1 is invalid
  506 | class SufijoCoords final : public Coords<T, SufijoCoords<T>> {
      |                                                           ^~
CoordBase.h:508:30: error: 'T' was not declared in this scope
  508 |                 using Coords<T, SufijoCoords<T>>::Coords;
      |                              ^
CoordBase.h:508:46: error: 'T' was not declared in this scope
  508 |                 using Coords<T, SufijoCoords<T>>::Coords;
      |                                              ^
CoordBase.h:508:47: error: template argument 1 is invalid
  508 |                 using Coords<T, SufijoCoords<T>>::Coords;
      |                                               ^~
CoordBase.h:509:30: error: 'T' was not declared in this scope
  509 |                 using Coords<T, SufijoCoords<T>>::latlon;
      |                              ^
CoordBase.h:509:46: error: 'T' was not declared in this scope
  509 |                 using Coords<T, SufijoCoords<T>>::latlon;
      |                                              ^
CoordBase.h:509:47: error: template argument 1 is invalid
  509 |                 using Coords<T, SufijoCoords<T>>::latlon;
      |                                               ^~
CoordBase.h:510:30: error: 'T' was not declared in this scope
  510 |                 using Coords<T, SufijoCoords<T>>::dv;
      |                              ^
CoordBase.h:510:46: error: 'T' was not declared in this scope
  510 |                 using Coords<T, SufijoCoords<T>>::dv;
      |                                              ^
CoordBase.h:510:47: error: template argument 1 is invalid
  510 |                 using Coords<T, SufijoCoords<T>>::dv;
      |                                               ^~
CoordBase.h:511:29: error: 'vectype' has not been declared
  511 |                 void suffix(vectype auto&) const;
      |                             ^~~~~~~
CoordBase.h:511:37: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
  511 |                 void suffix(vectype auto&) const;
      |                                     ^~~~
CoordBase.h:511:29: error: two or more data types in declaration of 'parameter'
  511 |                 void suffix(vectype auto&) const;
      |                             ^~~~~~~
CoordBase.h:517:10: error: 'DVecType' has not been declared
  517 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.h:518:45: error: 'T' was not declared in this scope
  518 | class SufijoWaypoints final : public Coords<T, SufijoWaypoints<T>> {
      |                                             ^
CoordBase.h:518:64: error: 'T' was not declared in this scope
  518 | class SufijoWaypoints final : public Coords<T, SufijoWaypoints<T>> {
      |                                                                ^
CoordBase.h:518:65: error: template argument 1 is invalid
  518 | class SufijoWaypoints final : public Coords<T, SufijoWaypoints<T>> {
      |                                                                 ^~
CoordBase.h:520:30: error: 'T' was not declared in this scope
  520 |                 using Coords<T, SufijoWaypoints<T>>::Coords;
      |                              ^
CoordBase.h:520:49: error: 'T' was not declared in this scope
  520 |                 using Coords<T, SufijoWaypoints<T>>::Coords;
      |                                                 ^
CoordBase.h:520:50: error: template argument 1 is invalid
  520 |                 using Coords<T, SufijoWaypoints<T>>::Coords;
      |                                                  ^~
CoordBase.h:521:30: error: 'T' was not declared in this scope
  521 |                 using Coords<T, SufijoWaypoints<T>>::latlon;
      |                              ^
CoordBase.h:521:49: error: 'T' was not declared in this scope
  521 |                 using Coords<T, SufijoWaypoints<T>>::latlon;
      |                                                 ^
CoordBase.h:521:50: error: template argument 1 is invalid
  521 |                 using Coords<T, SufijoWaypoints<T>>::latlon;
      |                                                  ^~
CoordBase.h:522:30: error: 'T' was not declared in this scope
  522 |                 using Coords<T, SufijoWaypoints<T>>::dv;
      |                              ^
CoordBase.h:522:49: error: 'T' was not declared in this scope
  522 |                 using Coords<T, SufijoWaypoints<T>>::dv;
      |                                                 ^
CoordBase.h:522:50: error: template argument 1 is invalid
  522 |                 using Coords<T, SufijoWaypoints<T>>::dv;
      |                                                  ^~
CoordBase.h:523:29: error: 'vectype' has not been declared
  523 |                 void suffix(vectype auto&) const;
      |                             ^~~~~~~
CoordBase.h:523:37: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
  523 |                 void suffix(vectype auto&) const;
      |                                     ^~~~
CoordBase.h:523:29: error: two or more data types in declaration of 'parameter'
  523 |                 void suffix(vectype auto&) const;
      |                             ^~~~~~~
CoordBase.h:573:21: error: 'NumVec_or_DataFrame' does not name a type
  573 | bool validate(const NumVec_or_DataFrame auto, bool = false);
      |                     ^~~~~~~~~~~~~~~~~~~
CoordBase.h:573:41: error: expected ',' or '...' before 'auto'
  573 | bool validate(const NumVec_or_DataFrame auto, bool = false);
      |                                         ^~~~
CoordBase.cpp:76:37: error: 'NumVec_or_DataFrame' does not name a type
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                                     ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:76:57: error: expected ',' or '...' before 'auto'
   76 | 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:78:16: error: 't' was not declared in this scope
   78 |         return t.hasAttribute(attrname) ? as<vector<U>>(t.attr(attrname)) : vector<U>{};
      |                ^
CoordBase.cpp:78:31: error: 'attrname' was not declared in this scope; did you mean 'tzname'?
   78 |         return t.hasAttribute(attrname) ? as<vector<U>>(t.attr(attrname)) : vector<U>{};
      |                               ^~~~~~~~
      |                               tzname
CoordBase.cpp: At global scope:
CoordBase.cpp:83:36: error: 'NumVec_or_DataFrame' does not name a type
   83 | inline int get_fmt_attribute(const NumVec_or_DataFrame auto& t)
      |                                    ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:83:56: error: expected ',' or '...' before 'auto'
   83 | inline int get_fmt_attribute(const NumVec_or_DataFrame auto& t)
      |                                                        ^~~~
CoordBase.cpp: In function 'int get_fmt_attribute(int)':
CoordBase.cpp:85:24: error: 't' was not declared in this scope; did you mean 'tm'?
   85 |         return as<int>(t.attr("fmt"));
      |                        ^
      |                        tm
CoordBase.cpp: At global scope:
CoordBase.cpp:90:44: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   90 | int check_logical_attr(NumVec_or_DataFrame auto t, const string attrname)
      |                                            ^~~~
CoordBase.cpp:90:5: error: redefinition of 'int check_logical_attr'
   90 | int check_logical_attr(NumVec_or_DataFrame auto t, const string attrname)
      |     ^~~~~~~~~~~~~~~~~~
CoordBase.h:228:5: note: 'int check_logical_attr' previously defined here
  228 | int check_logical_attr(NumVec_or_DataFrame auto, const string);
      |     ^~~~~~~~~~~~~~~~~~
CoordBase.cpp:90:24: error: 'NumVec_or_DataFrame' was not declared in this scope
   90 | int check_logical_attr(NumVec_or_DataFrame auto t, const string attrname)
      |                        ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:90:52: error: expected primary-expression before 'const'
   90 | int check_logical_attr(NumVec_or_DataFrame auto t, const string attrname)
      |                                                    ^~~~~
CoordBase.cpp:102:33: error: 'NumVec_or_DataFrame' does not name a type
  102 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |                                 ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:102:53: error: expected ',' or '...' before 'auto'
  102 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |                                                     ^~~~
CoordBase.cpp: In function 'void checkinherits(int)':
CoordBase.cpp:104:14: error: 't' was not declared in this scope; did you mean 'tm'?
  104 |         if (!t.inherits(classname.c_str())) stop("Argument must be a \"%s\" object", classname.c_str());
      |              ^
      |              tm
CoordBase.cpp:104:25: error: 'classname' was not declared in this scope
  104 |         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:168:43: error: no matching function for call to 'get_vec_attr<std::string>(const Rcpp::DataFrame&, std::__cxx11::basic_string<char>)'
  168 |         vector names{ get_vec_attr<string>(df, "names"s) };
      |                       ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'Rcpp::RObject getnames(Rcpp::DataFrame)':
CoordBase.cpp:190:46: error: no matching function for call to 'get_vec_attr<int>(const Rcpp::DataFrame&, std::__cxx11::basic_string<char>)'
  190 |         vector namescolvec{ get_vec_attr<int>(df, "namescol"s) };
      |                             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'const CoordType get_coordtype(int)':
CoordBase.cpp:227:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  227 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:227:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  227 |         using enum CoordType;
      |                             ^
CoordBase.cpp:227:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:227: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:234:44: error: 'NumVec_or_DataFrame' does not name a type
  234 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto& t)
      |                                            ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:234:64: error: expected ',' or '...' before 'auto'
  234 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto& t)
      |                                                                ^~~~
CoordBase.cpp:234:24: error: redefinition of 'const CoordType get_coordtype(int)'
  234 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto& t)
      |                        ^~~~~~~~~~~~~
CoordBase.cpp:223:24: note: 'const CoordType get_coordtype(int)' previously defined here
  223 | inline const CoordType get_coordtype(int i)
      |                        ^~~~~~~~~~~~~
CoordBase.cpp: In function 'const CoordType get_coordtype(int)':
CoordBase.cpp:236:48: error: 't' was not declared in this scope; did you mean 'tm'?
  236 |         return get_coordtype(get_fmt_attribute(t));
      |                                                ^
      |                                                tm
CoordBase.cpp: At global scope:
CoordBase.cpp:265:10: error: 'DVecType' has not been declared
  265 | template<DVecType T, typename S>
      |          ^~~~~~~~
CoordBase.cpp:266:8: error: 'T' was not declared in this scope
  266 | Coords<T, S>::Coords(NumericVector nv) :
      |        ^
CoordBase.cpp:266:12: error: template argument 1 is invalid
  266 | Coords<T, S>::Coords(NumericVector nv) :
      |            ^
CoordBase.cpp:266:15: error: conflicting declaration of template 'template<<declaration error>, class S> int Coords(Rcpp::NumericVector)'
  266 | Coords<T, S>::Coords(NumericVector nv) :
      |               ^~~~~~
CoordBase.h:442:7: note: previous declaration 'template<<declaration error>, class S> class Coords'
  442 | class Coords;
      |       ^~~~~~
CoordBase.cpp:267:49: error: expected unqualified-id before ',' token
  267 |         dv { std::move(as<vector<double>>(nv)) },
      |                                                 ^
CoordBase.cpp:268:16: error: expected constructor, destructor, or type conversion before '{' token
  268 |         latlon { get_vec_attr<bool>(nv, "latlon"s) }
      |                ^
CoordBase.cpp:269:1: error: expected unqualified-id before '{' token
  269 | {
      | ^
CoordBase.cpp:275:10: error: 'DVecType' has not been declared
  275 | template<DVecType T, typename S> template<vectype U, functador V>
      |          ^~~~~~~~
CoordBase.cpp:275:43: error: 'vectype' has not been declared
  275 | template<DVecType T, typename S> template<vectype U, functador V>
      |                                           ^~~~~~~
CoordBase.cpp:275:54: error: 'functador' has not been declared
  275 | template<DVecType T, typename S> template<vectype U, functador V>
      |                                                      ^~~~~~~~~
CoordBase.cpp:276:8: error: 'U' does not name a type
  276 | inline U Coords<T, S>::conform0() const
      |        ^
CoordBase.cpp:287:10: error: 'DVecType' has not been declared
  287 | template<DVecType T, typename S> template<typename U, template <typename V> typename F>
      |          ^~~~~~~~
CoordBase.cpp:287:86: error: no default argument for 'S'
  287 | template<DVecType T, typename S> template<typename U, template <typename V> typename F>
      |                                                                                      ^
CoordBase.cpp:288:18: error: 'T' was not declared in this scope
  288 | vector<U> Coords<T, S>::conform(CoordType required) const
      |                  ^
CoordBase.cpp:288:22: error: template argument 1 is invalid
  288 | vector<U> Coords<T, S>::conform(CoordType required) const
      |                      ^
CoordBase.cpp:288:11: error: too many template-parameter-lists
  288 | vector<U> Coords<T, S>::conform(CoordType required) const
      |           ^~~~~~~~~~~~
CoordBase.cpp:309:10: error: 'DVecType' has not been declared
  309 | template<DVecType T, typename S>
      |          ^~~~~~~~
CoordBase.cpp:310:27: error: 'T' was not declared in this scope
  310 | const vector<bool> Coords<T, S>::validate() const
      |                           ^
CoordBase.cpp:310:31: error: template argument 1 is invalid
  310 | const vector<bool> Coords<T, S>::validate() const
      |                               ^
CoordBase.cpp:310:45: error: non-member function 'const std::vector<bool> validate()' cannot have cv-qualifier
  310 | const vector<bool> Coords<T, S>::validate() const
      |                                             ^~~~~
CoordBase.cpp: In function 'const std::vector<bool> validate()':
CoordBase.cpp:312:20: error: 'T' was not declared in this scope
  312 |         FamousFive<T> ff {};
      |                    ^
CoordBase.cpp:312:21: error: template argument 1 is invalid
  312 |         FamousFive<T> ff {};
      |                     ^
CoordBase.cpp:313: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>)'}
  313 |         vector<bool>::const_iterator ll_it{ latlon.begin() };
      |                                                    ^~~~~
CoordBase.cpp:314: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>)'}
  314 |         auto ll_size { latlon.size() };
      |                               ^~~~
CoordBase.cpp:316:22: error: 'dv' was not declared in this scope; did you mean 'div'?
  316 |         valid.assign(dv.size(), {false});
      |                      ^~
      |                      div
CoordBase.cpp: In lambda function:
CoordBase.cpp:319:35: error: request for member 'get_decdeg' in 'ff', which is of non-class type 'int'
  319 |                 return !((fabs(ff.get_decdeg(n)) > (ll_size && (ll_size > 1 ? *ll_it++ : *ll_it) ? 90 : 180)) ||
      |                                   ^~~~~~~~~~
CoordBase.cpp:319:53: error: 'll_size' is not captured
  319 |                 return !((fabs(ff.get_decdeg(n)) > (ll_size && (ll_size > 1 ? *ll_it++ : *ll_it) ? 90 : 180)) ||
      |                                                     ^~~~~~~
CoordBase.cpp:318:78: note: the lambda has no capture-default
  318 |         transform(dv.begin(), dv.end(), valid.begin(), [&ff, &ll_it, &ll_size](auto n){
      |                                                                              ^
CoordBase.cpp:314:14: note: '<typeprefixerror>ll_size' declared here
  314 |         auto ll_size { latlon.size() };
      |              ^~~~~~~
CoordBase.cpp:319:65: error: 'll_size' is not captured
  319 |                 return !((fabs(ff.get_decdeg(n)) > (ll_size && (ll_size > 1 ? *ll_it++ : *ll_it) ? 90 : 180)) ||
      |                                                                 ^~~~~~~
CoordBase.cpp:318:78: note: the lambda has no capture-default
  318 |         transform(dv.begin(), dv.end(), valid.begin(), [&ff, &ll_it, &ll_size](auto n){
      |                                                                              ^
CoordBase.cpp:314:14: note: '<typeprefixerror>ll_size' declared here
  314 |         auto ll_size { latlon.size() };
      |              ^~~~~~~
CoordBase.cpp:320:42: error: request for member 'get_decmin' in 'ff', which is of non-class type 'int'
  320 |                                 (fabs(ff.get_decmin(n)) >= 60) ||
      |                                          ^~~~~~~~~~
CoordBase.cpp:321:42: error: request for member 'get_sec' in 'ff', which is of non-class type 'int'
  321 |                                 (fabs(ff.get_sec(n)) >= 60));
      |                                          ^~~~~~~
CoordBase.cpp: At global scope:
CoordBase.cpp:333:10: error: 'DVecType' has not been declared
  333 | template<DVecType T, typename S>
      |          ^~~~~~~~
CoordBase.cpp:334:13: error: 'T' was not declared in this scope
  334 | void Coords<T, S>::add_suffix(vectype auto& uv_out) const
      |             ^
CoordBase.cpp:334:17: error: template argument 1 is invalid
  334 | void Coords<T, S>::add_suffix(vectype auto& uv_out) const
      |                 ^
CoordBase.cpp:334:39: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
  334 | void Coords<T, S>::add_suffix(vectype auto& uv_out) const
      |                                       ^~~~
CoordBase.cpp:334:6: error: variable or field 'add_suffix' declared void
  334 | void Coords<T, S>::add_suffix(vectype auto& uv_out) const
      |      ^~~~~~~~~~~~
CoordBase.cpp:334:31: error: 'vectype' was not declared in this scope; did you mean 'wctype'?
  334 | void Coords<T, S>::add_suffix(vectype auto& uv_out) const
      |                               ^~~~~~~
      |                               wctype
CoordBase.cpp:343:10: error: 'DVecType' has not been declared
  343 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.cpp:344:19: error: 'T' was not declared in this scope
  344 | void SufijoCoords<T>::suffix(vectype auto& uv_out) const
      |                   ^
CoordBase.cpp:344:20: error: template argument 1 is invalid
  344 | void SufijoCoords<T>::suffix(vectype auto& uv_out) const
      |                    ^
CoordBase.cpp:344:38: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
  344 | void SufijoCoords<T>::suffix(vectype auto& uv_out) const
      |                                      ^~~~
CoordBase.cpp:344:6: error: variable or field 'suffix' declared void
  344 | void SufijoCoords<T>::suffix(vectype auto& uv_out) const
      |      ^~~~~~~~~~~~~~~
CoordBase.cpp:344:30: error: 'vectype' was not declared in this scope; did you mean 'wctype'?
  344 | void SufijoCoords<T>::suffix(vectype auto& uv_out) const
      |                              ^~~~~~~
      |                              wctype
CoordBase.cpp:378:10: error: 'DVecType' has not been declared
  378 | template<DVecType T>
      |          ^~~~~~~~
CoordBase.cpp:379:22: error: 'T' was not declared in this scope
  379 | void SufijoWaypoints<T>::suffix(vectype auto& uv_out) const
      |                      ^
CoordBase.cpp:379:23: error: template argument 1 is invalid
  379 | void SufijoWaypoints<T>::suffix(vectype auto& uv_out) const
      |                       ^
CoordBase.cpp:379:41: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
  379 | void SufijoWaypoints<T>::suffix(vectype auto& uv_out) const
      |                                         ^~~~
CoordBase.cpp:379:6: error: variable or field 'suffix' declared void
  379 | void SufijoWaypoints<T>::suffix(vectype auto& uv_out) const
      |      ^~~~~~~~~~~~~~~~~~
CoordBase.cpp:379:33: error: 'vectype' was not declared in this scope; did you mean 'wctype'?
  379 | void SufijoWaypoints<T>::suffix(vectype auto& uv_out) const
      |                                 ^~~~~~~
      |                                 wctype
CoordBase.cpp: In function 'std::vector<double> convert_switch(Rcpp::NumericVector, CoordType)':
CoordBase.cpp:393:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  393 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:393:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  393 |         using enum CoordType;
      |                             ^
CoordBase.cpp:393:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:393:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:394:31: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  394 |         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:223:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  223 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp:397:83: error: expected primary-expression before 'double'
  397 |                         return SufijoCoords<DecDegVecDouble>(nv).template conform<double, ConvertidorDecDegVec>(newtype);
      |                                                                                   ^~~~~~
CoordBase.cpp:397:83: error: expected ';' before 'double'
  397 |                         return SufijoCoords<DecDegVecDouble>(nv).template conform<double, ConvertidorDecDegVec>(newtype);
      |                                                                                   ^~~~~~
      |                                                                                   ;
CoordBase.cpp:397:89: error: expected unqualified-id before ',' token
  397 |                         return SufijoCoords<DecDegVecDouble>(nv).template conform<double, ConvertidorDecDegVec>(newtype);
      |                                                                                         ^
CoordBase.cpp:397:111: error: expected initializer before '>' token
  397 |                         return SufijoCoords<DecDegVecDouble>(nv).template conform<double, ConvertidorDecDegVec>(newtype);
      |                                                                                                               ^
CoordBase.cpp:400:83: error: expected primary-expression before 'double'
  400 |                         return SufijoCoords<DegMinVecDouble>(nv).template conform<double, ConvertidorDegMinVec>(newtype);
      |                                                                                   ^~~~~~
CoordBase.cpp:400:83: error: expected ';' before 'double'
  400 |                         return SufijoCoords<DegMinVecDouble>(nv).template conform<double, ConvertidorDegMinVec>(newtype);
      |                                                                                   ^~~~~~
      |                                                                                   ;
CoordBase.cpp:400:89: error: expected unqualified-id before ',' token
  400 |                         return SufijoCoords<DegMinVecDouble>(nv).template conform<double, ConvertidorDegMinVec>(newtype);
      |                                                                                         ^
CoordBase.cpp:400:111: error: expected initializer before '>' token
  400 |                         return SufijoCoords<DegMinVecDouble>(nv).template conform<double, ConvertidorDegMinVec>(newtype);
      |                                                                                                               ^
CoordBase.cpp:403:86: error: expected primary-expression before 'double'
  403 |                         return SufijoCoords<DegMinSecVecDouble>(nv).template conform<double, ConvertidorDegMinSecVec>(newtype);
      |                                                                                      ^~~~~~
CoordBase.cpp:403:86: error: expected ';' before 'double'
  403 |                         return SufijoCoords<DegMinSecVecDouble>(nv).template conform<double, ConvertidorDegMinSecVec>(newtype);
      |                                                                                      ^~~~~~
      |                                                                                      ;
CoordBase.cpp:403:92: error: expected unqualified-id before ',' token
  403 |                         return SufijoCoords<DegMinSecVecDouble>(nv).template conform<double, ConvertidorDegMinSecVec>(newtype);
      |                                                                                            ^
CoordBase.cpp:403:117: error: expected initializer before '>' token
  403 |                         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:414:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  414 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:414:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  414 |         using enum CoordType;
      |                             ^
CoordBase.cpp:414:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:414:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:415:31: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  415 |         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:223:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  223 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp:418:89: error: expected primary-expression before ',' token
  418 |                         return SufijoCoords<DecDegVecDouble>(nv).template conform<string, FormateadorDecDegVec>(ct_required);
      |                                                                                         ^
CoordBase.cpp:418:91: error: 'FormateadorDecDegVec' was not declared in this scope
  418 |                         return SufijoCoords<DecDegVecDouble>(nv).template conform<string, FormateadorDecDegVec>(ct_required);
      |                                                                                           ^~~~~~~~~~~~~~~~~~~~
CoordBase.cpp:421:89: error: expected primary-expression before ',' token
  421 |                         return SufijoCoords<DegMinVecDouble>(nv).template conform<string, FormateadorDegMinVec>(ct_required);
      |                                                                                         ^
CoordBase.cpp:421:91: error: 'FormateadorDegMinVec' was not declared in this scope
  421 |                         return SufijoCoords<DegMinVecDouble>(nv).template conform<string, FormateadorDegMinVec>(ct_required);
      |                                                                                           ^~~~~~~~~~~~~~~~~~~~
CoordBase.cpp:424:92: error: expected primary-expression before ',' token
  424 |                         return SufijoCoords<DegMinSecVecDouble>(nv).template conform<string, FormateadorDegMinSecVec>(ct_required);
      |                                                                                            ^
CoordBase.cpp:424:94: error: 'FormateadorDegMinSecVec' was not declared in this scope
  424 |                         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:435:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  435 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:435:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  435 |         using enum CoordType;
      |                             ^
CoordBase.cpp:435:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:435:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:436:31: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  436 |         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:223:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  223 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp:439:92: error: expected primary-expression before ',' token
  439 |                         return SufijoWaypoints<DecDegVecDouble>(nv).template conform<string, FormateadorDecDegVec>(ct_required);
      |                                                                                            ^
CoordBase.cpp:439:94: error: 'FormateadorDecDegVec' was not declared in this scope
  439 |                         return SufijoWaypoints<DecDegVecDouble>(nv).template conform<string, FormateadorDecDegVec>(ct_required);
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
CoordBase.cpp:442:92: error: expected primary-expression before ',' token
  442 |                         return SufijoWaypoints<DegMinVecDouble>(nv).template conform<string, FormateadorDegMinVec>(ct_required);
      |                                                                                            ^
CoordBase.cpp:442:94: error: 'FormateadorDegMinVec' was not declared in this scope
  442 |                         return SufijoWaypoints<DegMinVecDouble>(nv).template conform<string, FormateadorDegMinVec>(ct_required);
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
CoordBase.cpp:445:95: error: expected primary-expression before ',' token
  445 |                         return SufijoWaypoints<DegMinSecVecDouble>(nv).template conform<string, FormateadorDegMinSecVec>(ct_required);
      |                                                                                               ^
CoordBase.cpp:445:97: error: 'FormateadorDegMinSecVec' was not declared in this scope
  445 |                         return SufijoWaypoints<DegMinSecVecDouble>(nv).template conform<string, FormateadorDegMinSecVec>(ct_required);
      |                                                                                                 ^~~~~~~~~~~~~~~~~~~~~~~
CoordBase.cpp: In function 'const std::vector<bool> validate_switch(Rcpp::NumericVector)':
CoordBase.cpp:457:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  457 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:457:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  457 |         using enum CoordType;
      |                             ^
CoordBase.cpp:457:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:457:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:458:31: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  458 |         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:223:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  223 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp: In constructor 'Waypoints::Waypoints(const Rcpp::DataFrame&)':
CoordBase.cpp:482:37: error: no matching function for call to 'get_vec_attr<int>(const Rcpp::DataFrame&, const char [7])'
  482 |         nv_lat( df[get_vec_attr<int>(df, "llcols")[0] - 1] ),
      |                    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:483:37: error: no matching function for call to 'get_vec_attr<int>(const Rcpp::DataFrame&, const char [7])'
  483 |         nv_lon( df[get_vec_attr<int>(df, "llcols")[1] - 1] )
      |                    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:485:47: error: no matching function for call to 'get_vec_attr<int>(const Rcpp::DataFrame&, const char [4])'
  485 |         nv_lat.attr("fmt") = get_vec_attr<int>(df, "fmt");
      |                              ~~~~~~~~~~~~~~~~~^~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:486:47: error: no matching function for call to 'get_vec_attr<int>(const Rcpp::DataFrame&, const char [4])'
  486 |         nv_lon.attr("fmt") = get_vec_attr<int>(df, "fmt");
      |                              ~~~~~~~~~~~~~~~~~^~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76: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:512:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  512 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:512:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  512 |         using enum CoordType;
      |                             ^
CoordBase.cpp:512:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:512: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:542:43: error: 'check_logical_attr' cannot be used as a function
  542 |         int validated = check_logical_attr(nv, "valid"s);
      |                         ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:544:32: error: no matching function for call to 'validate(const Rcpp::NumericVector&, bool)'
  544 |                 return validate(nv, !newbie);
      |                        ~~~~~~~~^~~~~~~~~~~~~
CoordBase.cpp:310:20: note: candidate: 'template<<declaration error>, class S> const std::vector<bool> validate()'
  310 | const vector<bool> Coords<T, S>::validate() const
      |                    ^~~~~~~~~~~~
CoordBase.cpp:310:20: note:   candidate expects 0 arguments, 2 provided
CoordBase.h:573:6: note: candidate: 'bool validate(int)'
  573 | bool validate(const NumVec_or_DataFrame auto, bool = false);
      |      ^~~~~~~~
CoordBase.h:573:6: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'bool check_valid(Rcpp::DataFrame, bool)':
CoordBase.cpp:552:46: error: 'check_logical_attr' cannot be used as a function
  552 |         int latvalidated = check_logical_attr(df, "validlat"s);
      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:553:46: error: 'check_logical_attr' cannot be used as a function
  553 |         int lonvalidated = check_logical_attr(df, "validlon"s);
      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:556:32: error: no matching function for call to 'validate(const Rcpp::DataFrame&, bool)'
  556 |                 return validate(df, !newbie);
      |                        ~~~~~~~~^~~~~~~~~~~~~
CoordBase.cpp:310:20: note: candidate: 'template<<declaration error>, class S> const std::vector<bool> validate()'
  310 | const vector<bool> Coords<T, S>::validate() const
      |                    ^~~~~~~~~~~~
CoordBase.cpp:310:20: note:   candidate expects 0 arguments, 2 provided
CoordBase.h:573:6: note: candidate: 'bool validate(int)'
  573 | bool validate(const NumVec_or_DataFrame auto, bool = false);
      |      ^~~~~~~~
CoordBase.h:573:6: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: At global scope:
CoordBase.cpp:566:21: error: 'NumVec_or_DataFrame' does not name a type
  566 | bool validate(const NumVec_or_DataFrame auto t, bool revalidate)
      |                     ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:566:41: error: expected ',' or '...' before 'auto'
  566 | bool validate(const NumVec_or_DataFrame auto t, bool revalidate)
      |                                         ^~~~
CoordBase.cpp: In function 'bool validate(int)':
CoordBase.cpp:568:53: error: 't' was not declared in this scope; did you mean 'tm'?
  568 |         using t_type = std::remove_const_t<decltype(t)>;
      |                                                     ^
      |                                                     tm
CoordBase.cpp:568:55: error: template argument 1 is invalid
  568 |         using t_type = std::remove_const_t<decltype(t)>;
      |                                                       ^
CoordBase.cpp:572:41: error: 't_type' was not declared in this scope; did you mean 'wctype'?
  572 |         if constexpr (isNumericVector_v<t_type>) {
      |                                         ^~~~~~
      |                                         wctype
CoordBase.cpp:572:47: error: template argument 1 is invalid
  572 |         if constexpr (isNumericVector_v<t_type>) {
      |                                               ^
CoordBase.cpp:572:48: error: expected unqualified-id before ')' token
  572 |         if constexpr (isNumericVector_v<t_type>) {
      |                                                ^
CoordBase.cpp:577:30: error: 'Is_DataFrame' was not declared in this scope; did you mean 'Rf_isDataFrame'?
  577 |         } else if constexpr (Is_DataFrame<t_type>) {
      |                              ^~~~~~~~~~~~
      |                              Rf_isDataFrame
CoordBase.cpp:577:50: error: expected primary-expression before ')' token
  577 |         } else if constexpr (Is_DataFrame<t_type>) {
      |                                                  ^
CoordBase.cpp:586:61: error: 'revalidate' was not declared in this scope; did you mean 'validate'?
  586 |                 warning("%salidation detected invalid %s!", revalidate ? "Rev" : "V", iscoords ? "coords" : "waypoints");
      |                                                             ^~~~~~~~~~
      |                                                             validate
CoordBase.cpp:587:18: error: 'revalidate' was not declared in this scope; did you mean 'validate'?
  587 |         else if (revalidate)
      |                  ^~~~~~~~~~
      |                  validate
CoordBase.cpp: In function 'bool valid_ll(Rcpp::DataFrame)':
CoordBase.cpp:597:42: error: no matching function for call to 'get_vec_attr<int>(const Rcpp::DataFrame&, std::__cxx11::basic_string<char>)'
  597 |         vector llcols { get_vec_attr<int>(df, "llcols"s) };
      |                         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'Rcpp::NumericVector convertcoords(Rcpp::NumericVector, int)':
CoordBase.cpp:631:23: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  631 |         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:631:22: error: too many arguments to function 'void checkinherits(int)'
  631 |         checkinherits(x, "coords"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:102:13: note: declared here
  102 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:632:46: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  632 |         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:223:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  223 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp: In function 'Rcpp::NumericVector latlon(Rcpp::NumericVector, Rcpp::LogicalVector)':
CoordBase.cpp:657:23: error: invalid user-defined conversion from 'Rcpp::NumericVector' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  657 |         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:657:22: error: too many arguments to function 'void checkinherits(int)'
  657 |         checkinherits(cd, "coords"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:102:13: note: declared here
  102 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:662:22: error: no matching function for call to 'validate(Rcpp::NumericVector&)'
  662 |         if (!validate(cd))
      |              ~~~~~~~~^~~~
CoordBase.cpp:566:6: note: candidate: 'bool validate(int)' (near match)
  566 | bool validate(const NumVec_or_DataFrame auto t, bool revalidate)
      |      ^~~~~~~~
CoordBase.cpp:566:6: note:   conversion of argument 1 would be ill-formed:
CoordBase.cpp:662:23: error: invalid user-defined conversion from 'Rcpp::NumericVector' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  662 |         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:310:20: note: candidate: 'template<<declaration error>, class S> const std::vector<bool> validate()'
  310 | const vector<bool> Coords<T, S>::validate() const
      |                    ^~~~~~~~~~~~
CoordBase.cpp:310:20: note:   candidate expects 0 arguments, 1 provided
CoordBase.cpp: In function 'Rcpp::CharacterVector formatcoords(Rcpp::NumericVector, bool, bool, int)':
CoordBase.cpp:673:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  673 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:673:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  673 |         using enum CoordType;
      |                             ^
CoordBase.cpp:673:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:673:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:674:23: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  674 |         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:674:22: error: too many arguments to function 'void checkinherits(int)'
  674 |         checkinherits(x, "coords"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:102:13: note: declared here
  102 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:680:46: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  680 |         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:223:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  223 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp:683:43: error: no matching function for call to 'get_vec_attr<std::string>(const Rcpp::NumericVector&, std::__cxx11::basic_string<char>)'
  683 |         vector names{ get_vec_attr<string>(x, "names"s) };
      |                       ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'Rcpp::NumericVector validatecoords(Rcpp::NumericVector, bool)':
CoordBase.cpp:697:23: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  697 |         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:697:22: error: too many arguments to function 'void checkinherits(int)'
  697 |         checkinherits(x, "coords"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:102:13: note: declared here
  102 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:700:30: error: no matching function for call to 'validate(const Rcpp::NumericVector&)'
  700 |                 if (!validate(x))
      |                      ~~~~~~~~^~~
CoordBase.cpp:566:6: note: candidate: 'bool validate(int)' (near match)
  566 | bool validate(const NumVec_or_DataFrame auto t, bool revalidate)
      |      ^~~~~~~~
CoordBase.cpp:566:6: note:   conversion of argument 1 would be ill-formed:
CoordBase.cpp:700:31: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  700 |                 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:310:20: note: candidate: 'template<<declaration error>, class S> const std::vector<bool> validate()'
  310 | const vector<bool> Coords<T, S>::validate() const
      |                    ^~~~~~~~~~~~
CoordBase.cpp:310:20: note:   candidate expects 0 arguments, 1 provided
CoordBase.cpp: In function 'Rcpp::DataFrame convertwaypoints(Rcpp::DataFrame, int)':
CoordBase.cpp:741:23: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  741 |         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:741:22: error: too many arguments to function 'void checkinherits(int)'
  741 |         checkinherits(x, "waypoints"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:102:13: note: declared here
  102 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:742:46: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  742 |         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:223:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  223 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp:752:47: error: no matching function for call to 'get_vec_attr<int>(Rcpp::DataFrame&, const char [7])'
  752 |                 auto llcols{ get_vec_attr<int>(x, "llcols") };
      |                              ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:755:49: error: no matching function for call to 'get_vec_attr<int>(Rcpp::DataFrame&, const char [9])'
  755 |                 auto namescol{ get_vec_attr<int>(x, "namescol") };
      |                                ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:756:49: error: no matching function for call to 'get_vec_attr<std::string>(Rcpp::DataFrame&, const char [6])'
  756 |                 auto names{ get_vec_attr<string>(x, "names") };
      |                             ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:757:50: error: no matching function for call to 'get_vec_attr<int>(Rcpp::DataFrame&, const char [10])'
  757 |                 auto row_names{ get_vec_attr<int>(x, "row.names") };
      |                                 ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:758:50: error: no matching function for call to 'get_vec_attr<bool>(Rcpp::DataFrame&, const char [9])'
  758 |                 auto validlat{ get_vec_attr<bool>(x, "validlat") };
      |                                ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp:759:50: error: no matching function for call to 'get_vec_attr<bool>(Rcpp::DataFrame&, const char [9])'
  759 |                 auto validlon{ get_vec_attr<bool>(x, "validlon") };
      |                                ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'Rcpp::CharacterVector formatwaypoints(Rcpp::DataFrame, bool, bool, int)':
CoordBase.cpp:788:23: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  788 |         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:788:22: error: too many arguments to function 'void checkinherits(int)'
  788 |         checkinherits(x, "waypoints"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:102:13: note: declared here
  102 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:797:66: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  797 |         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:223:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  223 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp: In function 'Rcpp::DataFrame validatewaypoints(Rcpp::DataFrame, bool)':
CoordBase.cpp:815:23: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  815 |         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:815:22: error: too many arguments to function 'void checkinherits(int)'
  815 |         checkinherits(x, "waypoints"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:102:13: note: declared here
  102 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:820:30: error: no matching function for call to 'validate(Rcpp::DataFrame&)'
  820 |                 if (!validate(x))
      |                      ~~~~~~~~^~~
CoordBase.cpp:566:6: note: candidate: 'bool validate(int)' (near match)
  566 | bool validate(const NumVec_or_DataFrame auto t, bool revalidate)
      |      ^~~~~~~~
CoordBase.cpp:566:6: note:   conversion of argument 1 would be ill-formed:
CoordBase.cpp:820:31: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  820 |                 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:310:20: note: candidate: 'template<<declaration error>, class S> const std::vector<bool> validate()'
  310 | const vector<bool> Coords<T, S>::validate() const
      |                    ^~~~~~~~~~~~
CoordBase.cpp:310:20: note:   candidate expects 0 arguments, 1 provided
CoordBase.cpp: In function 'Rcpp::NumericVector as_coordswaypoints(Rcpp::DataFrame, bool)':
CoordBase.cpp:849:23: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  849 |         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:849:22: error: too many arguments to function 'void checkinherits(int)'
  849 |         checkinherits(object, "waypoints"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
CoordBase.cpp:102:13: note: declared here
  102 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:850:52: error: no matching function for call to 'get_vec_attr<int>(Rcpp::DataFrame&, std::__cxx11::basic_string<char>)'
  850 |         NumericVector nv = object[get_vec_attr<int>(object, "llcols"s)[which ? 0 : 1] - 1];
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:76:18: note: candidate: 'template<class U> std::vector<T> get_vec_attr(int)'
   76 | inline vector<U> get_vec_attr(const NumVec_or_DataFrame auto& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:76:18: note:   candidate expects 1 argument, 2 provided
CoordBase.cpp: In function 'Rcpp::RObject getnames(Rcpp::DataFrame)':
CoordBase.cpp:202:1: warning: control reaches end of non-void function [-Wreturn-type]
  202 | }
      | ^
make[1]: *** [D:/RCompile/recent/R-4.5.3/etc/x64/Makeconf:302: CoordBase.o] Error 1
make[1]: Leaving directory '/d/temp/2026_07_17_09_06_03_6802/Rtmpy4mjg9/R.INSTALL51505bc02781/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'