* installing *source* package 'Waypoint' ...
** this is package 'Waypoint' version '1.3.1'
** 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_06_27_01_50_00_12844/RtmpoBqTqn/R.INSTALL1285025cb2af7/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:25:
CoordBase.h:93:1: warning: identifier 'concept' is a keyword in C++20 [-Wc++20-compat]
   93 | concept Is_NumericVector = isNumericVector_v<T>;
      | ^~~~~~~
CoordBase.h:98:9: warning: identifier 'requires' is a keyword in C++20 [-Wc++20-compat]
   98 |         requires(T t, const string& s, const char *c) {
      |         ^~~~~~~~
CoordBase.h:93:1: error: 'concept' does not name a type; did you mean 'const'?
   93 | concept Is_NumericVector = isNumericVector_v<T>;
      | ^~~~~~~
      | const
CoordBase.h:93:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:97:1: error: 'concept' does not name a type; did you mean 'const'?
   97 | concept Is_DataFrame =
      | ^~~~~~~
      | const
CoordBase.h:97:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:110:1: error: 'concept' does not name a type; did you mean 'const'?
  110 | concept NumVec_or_DataFrame =
      | ^~~~~~~
      | const
CoordBase.h:110:1: note: 'concept' only available with '-std=c++20' or '-fconcepts'
CoordBase.h:117:44: error: 'NumVec_or_DataFrame' does not name a type
  117 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto&);
      |                                            ^~~~~~~~~~~~~~~~~~~
CoordBase.h:117:64: error: expected ',' or '...' before 'auto'
  117 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto&);
      |                                                                ^~~~
CoordBase.h:132:10: error: 'NumVec_or_DataFrame' has not been declared
  132 | template<NumVec_or_DataFrame T, typename U>
      |          ^~~~~~~~~~~~~~~~~~~
CoordBase.h:133:37: error: 'T' does not name a type
  133 | inline vector<U> get_vec_attr(const T&, const string);
      |                                     ^
CoordBase.h:134:36: error: 'NumVec_or_DataFrame' does not name a type
  134 | inline int get_fmt_attribute(const NumVec_or_DataFrame auto&);
      |                                    ^~~~~~~~~~~~~~~~~~~
CoordBase.h:134:56: error: expected ',' or '...' before 'auto'
  134 | inline int get_fmt_attribute(const NumVec_or_DataFrame auto&);
      |                                                        ^~~~
CoordBase.h:135:10: error: 'NumVec_or_DataFrame' has not been declared
  135 | template<NumVec_or_DataFrame T>
      |          ^~~~~~~~~~~~~~~~~~~
CoordBase.h:136:24: error: 'T' was not declared in this scope
  136 | int check_logical_attr(T t, const string attrname);
      |                        ^
CoordBase.h:136:29: error: expected primary-expression before 'const'
  136 | int check_logical_attr(T t, const string attrname);
      |                             ^~~~~
CoordBase.h:136:50: error: expression list treated as compound expression in initializer [-fpermissive]
  136 | int check_logical_attr(T t, const string attrname);
      |                                                  ^
CoordBase.h:137:33: error: 'NumVec_or_DataFrame' does not name a type
  137 | inline void checkinherits(const NumVec_or_DataFrame auto&, const string);
      |                                 ^~~~~~~~~~~~~~~~~~~
CoordBase.h:137:53: error: expected ',' or '...' before 'auto'
  137 | inline void checkinherits(const NumVec_or_DataFrame auto&, const string);
      |                                                     ^~~~
CoordBase.h:300:10: error: 'NumVec_or_DataFrame' has not been declared
  300 | template<NumVec_or_DataFrame T>
      |          ^~~~~~~~~~~~~~~~~~~
CoordBase.h:301:23: error: 'T' does not name a type
  301 | bool revalidate(const T);
      |                       ^
CoordBase.cpp:101:10: error: 'NumVec_or_DataFrame' has not been declared
  101 | template<NumVec_or_DataFrame T, typename U>
      |          ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:102:37: error: 'T' does not name a type
  102 | inline vector<U> get_vec_attr(const T& t, const string attrname)
      |                                     ^
CoordBase.cpp: In function 'std::vector<U> get_vec_attr(const int&, std::string)':
CoordBase.cpp:105:18: error: request for member 'hasAttribute' in 't', which is of non-class type 'const int'
  105 |         return t.hasAttribute(attrname) ? as<vector<U>>(t.attr(attrname)) : vector<U>{};
      |                  ^~~~~~~~~~~~
CoordBase.cpp:105:59: error: request for member 'attr' in 't', which is of non-class type 'const int'
  105 |         return t.hasAttribute(attrname) ? as<vector<U>>(t.attr(attrname)) : vector<U>{};
      |                                                           ^~~~
CoordBase.cpp: At global scope:
CoordBase.cpp:110:36: error: 'NumVec_or_DataFrame' does not name a type
  110 | inline int get_fmt_attribute(const NumVec_or_DataFrame auto& t)
      |                                    ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:110:56: error: expected ',' or '...' before 'auto'
  110 | inline int get_fmt_attribute(const NumVec_or_DataFrame auto& t)
      |                                                        ^~~~
CoordBase.cpp: In function 'int get_fmt_attribute(int)':
CoordBase.cpp:113:24: error: 't' was not declared in this scope; did you mean 'tm'?
  113 |         return as<int>(t.attr("fmt"));
      |                        ^
      |                        tm
CoordBase.cpp: At global scope:
CoordBase.cpp:118:10: error: 'NumVec_or_DataFrame' has not been declared
  118 | template<NumVec_or_DataFrame T>
      |          ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:119:5: error: redefinition of 'template<<declaration error> > int check_logical_attr'
  119 | int check_logical_attr(T t, const string attrname)
      |     ^~~~~~~~~~~~~~~~~~
CoordBase.h:136:5: note: 'template<<declaration error> > int check_logical_attr<<expression error> >' previously declared here
  136 | int check_logical_attr(T t, const string attrname);
      |     ^~~~~~~~~~~~~~~~~~
CoordBase.cpp:119:24: error: 'T' was not declared in this scope
  119 | int check_logical_attr(T t, const string attrname)
      |                        ^
CoordBase.cpp:119:29: error: expected primary-expression before 'const'
  119 | int check_logical_attr(T t, const string attrname)
      |                             ^~~~~
CoordBase.cpp:132:33: error: 'NumVec_or_DataFrame' does not name a type
  132 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |                                 ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:132:53: error: expected ',' or '...' before 'auto'
  132 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |                                                     ^~~~
CoordBase.cpp: In function 'void checkinherits(int)':
CoordBase.cpp:135:14: error: 't' was not declared in this scope; did you mean 'tm'?
  135 |         if (!t.inherits(classname.c_str())) stop("Argument must be a \"%s\" object", classname.c_str());
      |              ^
      |              tm
CoordBase.cpp:135:25: error: 'classname' was not declared in this scope
  135 |         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:206:54: error: no matching function for call to 'get_vec_attr<Rcpp::DataFrame, std::string>(const Rcpp::DataFrame&, std::__cxx11::basic_string<char>)'
  206 |         vector names{ get_vec_attr<DataFrame, string>(df, "names"s) };
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:102:18: note: candidate: 'template<<declaration error>, class U> std::vector<U> get_vec_attr(const int&, std::string)'
  102 | inline vector<U> get_vec_attr(const T& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:102:18: note:   template argument deduction/substitution failed:
CoordBase.cpp: In function 'Rcpp::RObject getnames(Rcpp::DataFrame)':
CoordBase.cpp:229:57: error: no matching function for call to 'get_vec_attr<Rcpp::DataFrame, int>(const Rcpp::DataFrame&, std::__cxx11::basic_string<char>)'
  229 |         vector namescolvec{ get_vec_attr<DataFrame, int>(df, "namescol"s) };
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:102:18: note: candidate: 'template<<declaration error>, class U> std::vector<U> get_vec_attr(const int&, std::string)'
  102 | inline vector<U> get_vec_attr(const T& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:102:18: note:   template argument deduction/substitution failed:
CoordBase.cpp: In function 'const CoordType get_coordtype(int)':
CoordBase.cpp:267:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  267 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:267:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  267 |         using enum CoordType;
      |                             ^
CoordBase.cpp:267:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:267: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:274:44: error: 'NumVec_or_DataFrame' does not name a type
  274 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto& t)
      |                                            ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:274:64: error: expected ',' or '...' before 'auto'
  274 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto& t)
      |                                                                ^~~~
CoordBase.cpp:274:24: error: redefinition of 'const CoordType get_coordtype(int)'
  274 | inline const CoordType get_coordtype(const NumVec_or_DataFrame auto& t)
      |                        ^~~~~~~~~~~~~
CoordBase.cpp:262:24: note: 'const CoordType get_coordtype(int)' previously defined here
  262 | inline const CoordType get_coordtype(int i)
      |                        ^~~~~~~~~~~~~
CoordBase.cpp: In function 'const CoordType get_coordtype(int)':
CoordBase.cpp:277:48: error: 't' was not declared in this scope; did you mean 'tm'?
  277 |         return get_coordtype(get_fmt_attribute(t));
      |                                                ^
      |                                                tm
CoordBase.cpp: In constructor 'Coordlet::Coordlet(Rcpp::NumericVector)':
CoordBase.cpp:323:50: error: no matching function for call to 'get_vec_attr<Rcpp::NumericVector, bool>(Rcpp::NumericVector&, std::__cxx11::basic_string<char>)'
  323 |         latlon{ get_vec_attr<NumericVector, bool>(nv, "latlon"s) }
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:102:18: note: candidate: 'template<<declaration error>, class U> std::vector<U> get_vec_attr(const int&, std::string)'
  102 | inline vector<U> get_vec_attr(const T& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:102:18: note:   template argument deduction/substitution failed:
CoordBase.cpp:323:9: error: no matching function for call to 'std::vector<bool>::vector(<brace-enclosed initializer list>)'
  323 |         latlon{ get_vec_attr<NumericVector, bool>(nv, "latlon"s) }
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/vector:67,
                 from D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/RcppCommon.h:64,
                 from D:/RCompile/CRANpkg/lib/4.5/Rcpp/include/Rcpp.h:27,
                 from CoordBase.cpp:7:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:870:9: note: candidate: 'template<class _InputIterator, class> std::vector<bool, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with <template-parameter-2-2> = _InputIterator; _Alloc = std::allocator<bool>]'
  870 |         vector(_InputIterator __first, _InputIterator __last,
      |         ^~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:870:9: note:   candidate expects 2 arguments, 1 provided
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:857:7: note: candidate: 'std::vector<bool, _Alloc>::vector(std::initializer_list<bool>, const allocator_type&) [with _Alloc = std::allocator<bool>; allocator_type = std::allocator<bool>]'
  857 |       vector(initializer_list<bool> __l,
      |       ^~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:857:7: note:   conversion of argument 1 would be ill-formed:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:849:7: note: candidate: 'std::vector<bool, _Alloc>::vector(const std::vector<bool, _Alloc>&, std::__type_identity_t<_Alloc>&) [with _Alloc = std::allocator<bool>; std::__type_identity_t<_Alloc> = std::allocator<bool>]'
  849 |       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
      |       ^~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:849:7: note:   candidate expects 2 arguments, 1 provided
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:842:7: note: candidate: 'std::vector<bool, _Alloc>::vector(std::vector<bool, _Alloc>&&, std::__type_identity_t<_Alloc>&) [with _Alloc = std::allocator<bool>; std::__type_identity_t<_Alloc> = std::allocator<bool>]'
  842 |       vector(vector&& __x, const __type_identity_t<allocator_type>& __a)
      |       ^~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:842:7: note:   candidate expects 2 arguments, 1 provided
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:827:7: note: candidate: 'std::vector<bool, _Alloc>::vector(std::vector<bool, _Alloc>&&, const allocator_type&, std::false_type) [with _Alloc = std::allocator<bool>; allocator_type = std::allocator<bool>; std::false_type = std::false_type]'
  827 |       vector(vector&& __x, const allocator_type& __a, false_type)
      |       ^~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:827:7: note:   candidate expects 3 arguments, 1 provided
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:822:7: note: candidate: 'std::vector<bool, _Alloc>::vector(std::vector<bool, _Alloc>&&, const allocator_type&, std::true_type) [with _Alloc = std::allocator<bool>; allocator_type = std::allocator<bool>; std::true_type = std::true_type]'
  822 |       vector(vector&& __x, const allocator_type& __a, true_type) noexcept
      |       ^~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:822:7: note:   candidate expects 3 arguments, 1 provided
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:818:7: note: candidate: 'std::vector<bool, _Alloc>::vector(std::vector<bool, _Alloc>&&) [with _Alloc = std::allocator<bool>]'
  818 |       vector(vector&&) = default;
      |       ^~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:818:7: note:   conversion of argument 1 would be ill-formed:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:809:7: note: candidate: 'std::vector<bool, _Alloc>::vector(const std::vector<bool, _Alloc>&) [with _Alloc = std::allocator<bool>]'
  809 |       vector(const vector& __x)
      |       ^~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:809:7: note:   conversion of argument 1 would be ill-formed:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:795:7: note: candidate: 'std::vector<bool, _Alloc>::vector(size_type, const bool&, const allocator_type&) [with _Alloc = std::allocator<bool>; size_type = long long unsigned int; allocator_type = std::allocator<bool>]'
  795 |       vector(size_type __n, const bool& __value,
      |       ^~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:795:7: note:   candidate expects 3 arguments, 1 provided
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:790:7: note: candidate: 'std::vector<bool, _Alloc>::vector(size_type, const allocator_type&) [with _Alloc = std::allocator<bool>; size_type = long long unsigned int; allocator_type = std::allocator<bool>]'
  790 |       vector(size_type __n, const allocator_type& __a = allocator_type())
      |       ^~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:790:7: note:   conversion of argument 1 would be ill-formed:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:784:7: note: candidate: 'std::vector<bool, _Alloc>::vector(const allocator_type&) [with _Alloc = std::allocator<bool>; allocator_type = std::allocator<bool>]'
  784 |       vector(const allocator_type& __a)
      |       ^~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:784:7: note:   conversion of argument 1 would be ill-formed:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:777:7: note: candidate: 'std::vector<bool, _Alloc>::vector() [with _Alloc = std::allocator<bool>]'
  777 |       vector() = default;
      |       ^~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:777:7: note:   candidate expects 0 arguments, 1 provided
CoordBase.cpp: In member function 'std::unique_ptr<FamousFive0> Coordlet::switch_ff(Rcpp::NumericVector)':
CoordBase.cpp:333:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  333 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:333:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  333 |         using enum CoordType;
      |                             ^
CoordBase.cpp:333:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:333:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:335:31: error: invalid user-defined conversion from 'Rcpp::NumericVector' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  335 |         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:
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:262:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  262 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp: In member function 'void Coordlet::convert(CoordType)':
CoordBase.cpp:356:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  356 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:356:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  356 |         using enum CoordType;
      |                             ^
CoordBase.cpp:356:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:356:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp: In member function 'std::vector<std::__cxx11::basic_string<char> > Coordlet::format(CoordType) const':
CoordBase.cpp:396:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  396 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:396:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  396 |         using enum CoordType;
      |                             ^
CoordBase.cpp:396:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:396:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp: In constructor 'Coords::Coords(Rcpp::NumericVector)':
CoordBase.cpp:463:63: error: invalid user-defined conversion from 'Rcpp::NumericVector' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  463 | Coords::Coords(NumericVector nv) : CrdWptBase { get_coordtype(nv) }, nv{ 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:262:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  262 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp: In member function 'virtual std::vector<std::__cxx11::basic_string<char> > Coords::format(CoordType) const':
CoordBase.cpp:482:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  482 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:482:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  482 |         using enum CoordType;
      |                             ^
CoordBase.cpp:482:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:482:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp: In member function 'void Coords::suffix_nesw(std::vector<std::__cxx11::basic_string<char> >&) const':
CoordBase.cpp:496:61: error: no matching function for call to 'get_vec_attr<Rcpp::NumericVector, bool>(const Rcpp::NumericVector&, std::__cxx11::basic_string<char>)'
  496 |         const auto latlon{ get_vec_attr<NumericVector, bool>(nv, "latlon"s) };
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:102:18: note: candidate: 'template<<declaration error>, class U> std::vector<U> get_vec_attr(const int&, std::string)'
  102 | inline vector<U> get_vec_attr(const T& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:102:18: note:   template argument deduction/substitution failed:
CoordBase.cpp:497:61: error: no matching function for call to 'std::_Bit_const_iterator::_Bit_const_iterator(<brace-enclosed initializer list>)'
  497 |         vector<bool>::const_iterator ll_it { latlon.begin() };
      |                                                             ^
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:430:5: note: candidate: 'std::_Bit_const_iterator::_Bit_const_iterator(const std::_Bit_iterator&)'
  430 |     _Bit_const_iterator(const _Bit_iterator& __x)
      |     ^~~~~~~~~~~~~~~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:430:5: note:   conversion of argument 1 would be ill-formed:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:426:5: note: candidate: 'std::_Bit_const_iterator::_Bit_const_iterator(std::_Bit_type*, unsigned int)'
  426 |     _Bit_const_iterator(_Bit_type * __x, unsigned int __y)
      |     ^~~~~~~~~~~~~~~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:426:5: note:   candidate expects 2 arguments, 1 provided
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:423:5: note: candidate: 'std::_Bit_const_iterator::_Bit_const_iterator()'
  423 |     _Bit_const_iterator() : _Bit_iterator_base(0, 0) { }
      |     ^~~~~~~~~~~~~~~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:423:5: note:   candidate expects 0 arguments, 1 provided
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:411:10: note: candidate: 'constexpr std::_Bit_const_iterator::_Bit_const_iterator(const std::_Bit_const_iterator&)'
  411 |   struct _Bit_const_iterator : public _Bit_iterator_base
      |          ^~~~~~~~~~~~~~~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:411:10: note:   conversion of argument 1 would be ill-formed:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:411:10: note: candidate: 'constexpr std::_Bit_const_iterator::_Bit_const_iterator(std::_Bit_const_iterator&&)'
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:411:10: note:   conversion of argument 1 would be ill-formed:
CoordBase.cpp: In member function 'void Coords::suffix_latlon(std::vector<std::__cxx11::basic_string<char> >&) const':
CoordBase.cpp:518:61: error: no matching function for call to 'get_vec_attr<Rcpp::NumericVector, bool>(const Rcpp::NumericVector&, std::__cxx11::basic_string<char>)'
  518 |         const auto latlon{ get_vec_attr<NumericVector, bool>(nv, "latlon"s) };
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:102:18: note: candidate: 'template<<declaration error>, class U> std::vector<U> get_vec_attr(const int&, std::string)'
  102 | inline vector<U> get_vec_attr(const T& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:102:18: note:   template argument deduction/substitution failed:
CoordBase.cpp:519:61: error: no matching function for call to 'std::_Bit_const_iterator::_Bit_const_iterator(<brace-enclosed initializer list>)'
  519 |         vector<bool>::const_iterator ll_it { latlon.begin() };
      |                                                             ^
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:430:5: note: candidate: 'std::_Bit_const_iterator::_Bit_const_iterator(const std::_Bit_iterator&)'
  430 |     _Bit_const_iterator(const _Bit_iterator& __x)
      |     ^~~~~~~~~~~~~~~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:430:5: note:   conversion of argument 1 would be ill-formed:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:426:5: note: candidate: 'std::_Bit_const_iterator::_Bit_const_iterator(std::_Bit_type*, unsigned int)'
  426 |     _Bit_const_iterator(_Bit_type * __x, unsigned int __y)
      |     ^~~~~~~~~~~~~~~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:426:5: note:   candidate expects 2 arguments, 1 provided
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:423:5: note: candidate: 'std::_Bit_const_iterator::_Bit_const_iterator()'
  423 |     _Bit_const_iterator() : _Bit_iterator_base(0, 0) { }
      |     ^~~~~~~~~~~~~~~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:423:5: note:   candidate expects 0 arguments, 1 provided
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:411:10: note: candidate: 'constexpr std::_Bit_const_iterator::_Bit_const_iterator(const std::_Bit_const_iterator&)'
  411 |   struct _Bit_const_iterator : public _Bit_iterator_base
      |          ^~~~~~~~~~~~~~~~~~~
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:411:10: note:   conversion of argument 1 would be ill-formed:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:411:10: note: candidate: 'constexpr std::_Bit_const_iterator::_Bit_const_iterator(std::_Bit_const_iterator&&)'
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_bvector.h:411:10: note:   conversion of argument 1 would be ill-formed:
CoordBase.cpp: In constructor 'Waypoints::Waypoints(Rcpp::DataFrame)':
CoordBase.cpp:551:36: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  551 |         CrdWptBase { get_coordtype(df) }, df{ df },
      |                                    ^~
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:262:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  262 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp:552:47: error: no matching function for call to 'get_vec_attr<Rcpp::DataFrame, int>(Rcpp::DataFrame&, const char [7])'
  552 |         nvlat( df[get_vec_attr<DataFrame, int>(df, "llcols")[0] - 1] ),
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:102:18: note: candidate: 'template<<declaration error>, class U> std::vector<U> get_vec_attr(const int&, std::string)'
  102 | inline vector<U> get_vec_attr(const T& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:102:18: note:   template argument deduction/substitution failed:
CoordBase.cpp:553:47: error: no matching function for call to 'get_vec_attr<Rcpp::DataFrame, int>(Rcpp::DataFrame&, const char [7])'
  553 |         nvlon( df[get_vec_attr<DataFrame, int>(df, "llcols")[1] - 1] )
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:102:18: note: candidate: 'template<<declaration error>, class U> std::vector<U> get_vec_attr(const int&, std::string)'
  102 | inline vector<U> get_vec_attr(const T& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:102:18: note:   template argument deduction/substitution failed:
CoordBase.cpp: In member function 'virtual std::vector<std::__cxx11::basic_string<char> > Waypoints::format(CoordType) const':
CoordBase.cpp:588:20: error: 'using enum' only available with '-std=c++20' or '-std=gnu++20'
  588 |         using enum CoordType;
      |                    ^~~~~~~~~
CoordBase.cpp:588:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
  588 |         using enum CoordType;
      |                             ^
CoordBase.cpp:588:29: error: 'using' with enumeration scope 'enum class CoordType' only available with '-std=c++20' or '-std=gnu++20'
CoordBase.cpp:588: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)':
CoordBase.cpp:638:43: error: missing template arguments before '(' token
  638 |         int validated = check_logical_attr(nv, "valid"s);
      |                                           ^
CoordBase.cpp:640:34: error: no matching function for call to 'revalidate(const Rcpp::NumericVector&)'
  640 |                 return revalidate(nv);
      |                        ~~~~~~~~~~^~~~
CoordBase.h:301:6: note: candidate: 'template<<declaration error> > bool revalidate(int)'
  301 | bool revalidate(const T);
      |      ^~~~~~~~~~
CoordBase.h:301:6: note:   template argument deduction/substitution failed:
CoordBase.cpp: In function 'bool check_valid(Rcpp::DataFrame)':
CoordBase.cpp:652:46: error: missing template arguments before '(' token
  652 |         int latvalidated = check_logical_attr(df, "validlat"s);
      |                                              ^
CoordBase.cpp:653:46: error: missing template arguments before '(' token
  653 |         int lonvalidated = check_logical_attr(df, "validlon"s);
      |                                              ^
CoordBase.cpp:656:34: error: no matching function for call to 'revalidate(const Rcpp::DataFrame&)'
  656 |                 return revalidate(df);
      |                        ~~~~~~~~~~^~~~
CoordBase.h:301:6: note: candidate: 'template<<declaration error> > bool revalidate(int)'
  301 | bool revalidate(const T);
      |      ^~~~~~~~~~
CoordBase.h:301:6: note:   template argument deduction/substitution failed:
CoordBase.cpp: At global scope:
CoordBase.cpp:667:10: error: 'NumVec_or_DataFrame' has not been declared
  667 | template<NumVec_or_DataFrame T>
      |          ^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:668:23: error: 'T' does not name a type
  668 | bool revalidate(const T t)
      |                       ^
CoordBase.cpp: In function 'bool revalidate(int)':
CoordBase.cpp:674:41: error: 'T' was not declared in this scope
  674 |         if constexpr (isNumericVector_v<T>) {
      |                                         ^
CoordBase.cpp:674:42: error: template argument 1 is invalid
  674 |         if constexpr (isNumericVector_v<T>) {
      |                                          ^
CoordBase.cpp:674:43: error: expected unqualified-id before ')' token
  674 |         if constexpr (isNumericVector_v<T>) {
      |                                           ^
CoordBase.cpp:680:37: error: 'T' was not declared in this scope
  680 |         if constexpr (isDataFrame_v<T>) {
      |                                     ^
CoordBase.cpp:680:38: error: template argument 1 is invalid
  680 |         if constexpr (isDataFrame_v<T>) {
      |                                      ^
CoordBase.cpp:680:39: error: expected unqualified-id before ')' token
  680 |         if constexpr (isDataFrame_v<T>) {
      |                                       ^
CoordBase.cpp:686:27: error: call of overloaded 'check_valid(const int&)' is ambiguous
  686 |         return check_valid(t);
      |                ~~~~~~~~~~~^~~
CoordBase.cpp:633:6: note: candidate: 'bool check_valid(Rcpp::NumericVector)'
  633 | bool check_valid(const NumericVector nv)
      |      ^~~~~~~~~~~
CoordBase.cpp:646:6: note: candidate: 'bool check_valid(Rcpp::DataFrame)'
  646 | bool check_valid(const DataFrame df)
      |      ^~~~~~~~~~~
CoordBase.cpp: In function 'bool valid_ll(Rcpp::DataFrame)':
CoordBase.cpp:695:53: error: no matching function for call to 'get_vec_attr<Rcpp::DataFrame, int>(const Rcpp::DataFrame&, std::__cxx11::basic_string<char>)'
  695 |         vector llcols { get_vec_attr<DataFrame, int>(df, "llcols"s) };
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:102:18: note: candidate: 'template<<declaration error>, class U> std::vector<U> get_vec_attr(const int&, std::string)'
  102 | inline vector<U> get_vec_attr(const T& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:102:18: note:   template argument deduction/substitution failed:
CoordBase.cpp: In function 'Rcpp::NumericVector convertcoords(Rcpp::NumericVector, int)':
CoordBase.cpp:728:23: error: invalid user-defined conversion from 'Rcpp::NumericVector' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  728 |         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:728:22: error: too many arguments to function 'void checkinherits(int)'
  728 |         checkinherits(x, "coords"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:132:13: note: declared here
  132 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:729:40: error: invalid user-defined conversion from 'Rcpp::NumericVector' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  729 |         CoordType type = 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:262:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  262 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp: In function 'Rcpp::NumericVector latlon(Rcpp::NumericVector, Rcpp::LogicalVector)':
CoordBase.cpp:748:23: error: invalid user-defined conversion from 'Rcpp::NumericVector' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  748 |         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:748:22: error: too many arguments to function 'void checkinherits(int)'
  748 |         checkinherits(cd, "coords"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
CoordBase.cpp:132:13: note: declared here
  132 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp: In function 'Rcpp::CharacterVector formatcoords(Rcpp::NumericVector, bool, bool, int)':
CoordBase.cpp:764:23: error: invalid user-defined conversion from 'Rcpp::NumericVector' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  764 |         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:764:22: error: too many arguments to function 'void checkinherits(int)'
  764 |         checkinherits(x, "coords"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:132:13: note: declared here
  132 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:771:84: error: invalid user-defined conversion from 'Rcpp::NumericVector' {aka 'Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  771 |         vector sv_out{ Coords{ x }.format(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<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:262:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  262 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp:773:58: error: no matching function for call to 'get_vec_attr<Rcpp::NumericVector, std::string>(Rcpp::NumericVector&, std::__cxx11::basic_string<char>)'
  773 |         vector names{ get_vec_attr<NumericVector, string>(x, "names"s) };
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
CoordBase.cpp:102:18: note: candidate: 'template<<declaration error>, class U> std::vector<U> get_vec_attr(const int&, std::string)'
  102 | inline vector<U> get_vec_attr(const T& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:102:18: note:   template argument deduction/substitution failed:
CoordBase.cpp: In function 'Rcpp::NumericVector validatecoords(Rcpp::NumericVector, bool)':
CoordBase.cpp:788:23: error: invalid user-defined conversion from 'const Rcpp::NumericVector' {aka 'const Rcpp::Vector<14, Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  788 |         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:788:22: error: too many arguments to function 'void checkinherits(int)'
  788 |         checkinherits(x, "coords"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~
CoordBase.cpp:132:13: note: declared here
  132 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp: In function 'Rcpp::DataFrame convertwaypoints(Rcpp::DataFrame, int)':
CoordBase.cpp:827:23: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  827 |         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:827:22: error: too many arguments to function 'void checkinherits(int)'
  827 |         checkinherits(x, "waypoints"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:132:13: note: declared here
  132 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:828:40: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  828 |         CoordType type = 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:262:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  262 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp: In function 'Rcpp::CharacterVector formatwaypoints(Rcpp::DataFrame, bool, bool, int)':
CoordBase.cpp:849:23: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  849 |         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:849:22: error: too many arguments to function 'void checkinherits(int)'
  849 |         checkinherits(x, "waypoints"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:132:13: note: declared here
  132 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:857:87: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  857 |         vector sv_out{ Waypoints{ x }.format(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:262:42: note:   initializing argument 1 of 'const CoordType get_coordtype(int)'
  262 | inline const CoordType get_coordtype(int i)
      |                                      ~~~~^
CoordBase.cpp: In function 'Rcpp::DataFrame validatewaypoints(Rcpp::DataFrame, bool)':
CoordBase.cpp:874:23: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  874 |         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:874:22: error: too many arguments to function 'void checkinherits(int)'
  874 |         checkinherits(x, "waypoints"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CoordBase.cpp:132:13: note: declared here
  132 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp: In function 'Rcpp::NumericVector as_coordswaypoints(Rcpp::DataFrame, bool)':
CoordBase.cpp:906:23: error: invalid user-defined conversion from 'Rcpp::DataFrame' {aka 'Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>'} to 'int' [-fpermissive]
  906 |         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:906:22: error: too many arguments to function 'void checkinherits(int)'
  906 |         checkinherits(object, "waypoints"s);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
CoordBase.cpp:132:13: note: declared here
  132 | inline void checkinherits(const NumVec_or_DataFrame auto& t, const string classname)
      |             ^~~~~~~~~~~~~
CoordBase.cpp:907:63: error: no matching function for call to 'get_vec_attr<Rcpp::DataFrame, int>(Rcpp::DataFrame&, std::__cxx11::basic_string<char>)'
  907 |         NumericVector nv = object[get_vec_attr<DataFrame, int>(object, "llcols"s)[which ? 0 : 1] - 1];
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
CoordBase.cpp:102:18: note: candidate: 'template<<declaration error>, class U> std::vector<U> get_vec_attr(const int&, std::string)'
  102 | inline vector<U> get_vec_attr(const T& t, const string attrname)
      |                  ^~~~~~~~~~~~
CoordBase.cpp:102:18: note:   template argument deduction/substitution failed:
CoordBase.cpp: In function 'Rcpp::RObject getnames(Rcpp::DataFrame)':
CoordBase.cpp:241:1: warning: control reaches end of non-void function [-Wreturn-type]
  241 | }
      | ^
make[1]: *** [D:/RCompile/recent/R-4.5.3/etc/x64/Makeconf:302: CoordBase.o] Error 1
make[1]: Leaving directory '/d/temp/2026_06_27_01_50_00_12844/RtmpoBqTqn/R.INSTALL1285025cb2af7/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'