* 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'