[Debian-med-packaging] Bug#1002203: mrtrix3: FTBFS: ./core/types.h:326:49: error: ‘using Vector3 = class Eigen::Matrix<double, 3, 1>’ redeclared as different kind of entity
Lucas Nussbaum
lucas at debian.org
Tue Dec 21 16:03:19 GMT 2021
Source: mrtrix3
Version: 3.0.3-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20211220 ftbfs-bookworm
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> g++ -c -std=c++11 -DMRTRIX_BUILD_TYPE="release version with openmp" -pthread -fPIC -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -mmmx -msse -msse2 -mfpmath=sse -DMRTRIX_WORD64 -DMRTRIX_HAVE_EIGEN_UNSUPPORTED_SPECIAL_FUNCTIONS -DMRTRIX_TIFF_SUPPORT -idirafter /usr/include/x86_64-linux-gnu -DMRTRIX_PNG_SUPPORT -idirafter /usr/include/libpng16 -DEIGEN_FFTW_DEFAULT -fopenmp -Wall -O3 -DNDEBUG -Isrc -I./core -Icmd -idirafter /usr/include/eigen3 core/image_io/fetch_store.cpp -o tmp/core/image_io/fetch_store.o
>
> failed with output
>
> In file included from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/types.h:326:49: error: ‘using Vector3 = class Eigen::Matrix<double, 3, 1>’ redeclared as different kind of entity
> 326 | using Vector3 = Matrix<MR::default_type, 3, 1>;
> | ^
> In file included from /usr/include/eigen3/Eigen/Core:295,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/Matrix.h:541:1: note: previous declaration ‘template<class Type> using Vector3 = Eigen::Matrix<Type, 3, 1>’
> 541 | EIGEN_MAKE_TYPEDEFS(3, 3)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/types.h:327:49: error: ‘using Vector4 = class Eigen::Matrix<double, 4, 1>’ redeclared as different kind of entity
> 327 | using Vector4 = Matrix<MR::default_type, 4, 1>;
> | ^
> In file included from /usr/include/eigen3/Eigen/Core:295,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/Matrix.h:542:1: note: previous declaration ‘template<class Type> using Vector4 = Eigen::Matrix<Type, 4, 1>’
> 542 | EIGEN_MAKE_TYPEDEFS(4, 4)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./core/mrtrix.h:38,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/exception.h:112:7: error: ‘vector’ does not name a type
> 112 | vector<std::string> description;
> | ^~~~~~
> ./core/exception.h: In constructor ‘MR::Exception::Exception(const string&)’:
> ./core/exception.h:85:9: error: ‘description’ was not declared in this scope
> 85 | description.push_back (msg);
> | ^~~~~~~~~~~
> ./core/exception.h: In constructor ‘MR::Exception::Exception(const MR::Exception&, const string&)’:
> ./core/exception.h:88:9: error: class ‘MR::Exception’ does not have any field named ‘description’
> 88 | description (previous_exception.description) {
> | ^~~~~~~~~~~
> ./core/exception.h:88:41: error: ‘const class MR::Exception’ has no member named ‘description’
> 88 | description (previous_exception.description) {
> | ^~~~~~~~~~~
> ./core/exception.h:89:9: error: ‘description’ was not declared in this scope
> 89 | description.push_back (msg);
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘std::size_t MR::Exception::num() const’:
> ./core/exception.h:97:16: error: ‘description’ was not declared in this scope
> 97 | return description.size();
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘const string& MR::Exception::operator[](std::size_t) const’:
> ./core/exception.h:100:16: error: ‘description’ was not declared in this scope
> 100 | return description[n];
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘void MR::Exception::push_back(const string&)’:
> ./core/exception.h:103:9: error: ‘description’ was not declared in this scope
> 103 | description.push_back (s);
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘void MR::Exception::push_back(const MR::Exception&)’:
> ./core/exception.h:106:25: error: ‘const class MR::Exception’ has no member named ‘description’
> 106 | for (auto s : e.description)
> | ^~~~~~~~~~~
> ./core/exception.h: At global scope:
> ./core/exception.h:115:50: error: expected class-name before ‘{’ token
> 115 | class InvalidImageException : public Exception { NOMEMALIGN
> | ^
> ./core/exception.h:118:36: error: ‘Exception’ does not name a type
> 118 | InvalidImageException (const Exception& previous_exception, const std::string& msg)
> | ^~~~~~~~~
> ./core/exception.h: In constructor ‘MR::InvalidImageException::InvalidImageException(const string&)’:
> ./core/exception.h:117:56: error: class ‘MR::InvalidImageException’ does not have any field named ‘Exception’
> 117 | InvalidImageException (const std::string& msg) : Exception(msg) {}
> | ^~~~~~~~~
> ./core/exception.h: In constructor ‘MR::InvalidImageException::InvalidImageException(const int&, const string&)’:
> ./core/exception.h:119:11: error: class ‘MR::InvalidImageException’ does not have any field named ‘Exception’
> 119 | : Exception(previous_exception, msg) {}
> | ^~~~~~~~~
> ./core/exception.h: At global scope:
> ./core/exception.h:123:44: error: expected class-name before ‘{’ token
> 123 | class CancelException : public Exception { NOMEMALIGN
> | ^
> ./core/exception.h: In constructor ‘MR::CancelException::CancelException()’:
> ./core/exception.h:125:28: error: class ‘MR::CancelException’ does not have any field named ‘Exception’
> 125 | CancelException () : Exception ("operation cancelled by user") { }
> | ^~~~~~~~~
> ./core/exception.h: At global scope:
> ./core/exception.h:128:41: error: ‘Exception’ does not name a type
> 128 | void display_exception_cmdline (const Exception& E, int log_level);
> | ^~~~~~~~~
> ./core/exception.h: In constructor ‘MR::LogLevelLatch::LogLevelLatch(int)’:
> ./core/exception.h:137:23: error: ‘App’ has not been declared
> 137 | prev_level (App::log_level)
> | ^~~
> ./core/exception.h:139:9: error: ‘App’ has not been declared
> 139 | App::log_level = new_level;
> | ^~~
> ./core/exception.h: In destructor ‘MR::LogLevelLatch::~LogLevelLatch()’:
> ./core/exception.h:142:9: error: ‘App’ has not been declared
> 142 | App::log_level = prev_level;
> | ^~~
> In file included from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:64:12: error: ‘max_digits’ is not a class template
> 64 | struct max_digits<X, typename std::enable_if<std::is_fundamental<X>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:64:91: error: redeclared with 1 template parameter
> 64 | struct max_digits<X, typename std::enable_if<std::is_fundamental<X>::value, int>::type> { NOMEMALIGN
> | ^
> ./core/mrtrix.h:59:12: note: previous declaration ‘template<class X, class ReturnType> struct MR::max_digits’ used 2 template parameters
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:69:12: error: ‘max_digits’ is not a class template
> 69 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:69:108: error: redeclared with 1 template parameter
> 69 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^
> ./core/mrtrix.h:59:12: note: previous declaration ‘template<class X, class ReturnType> struct MR::max_digits’ used 2 template parameters
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:74:12: error: ‘max_digits’ is not a class template
> 74 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::value_type>::value && !std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~
> In file included from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/mrtrix.h:74:163: error: redeclared with 1 template parameter
> 74 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::value_type>::value && !std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^
> In file included from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/mrtrix.h:59:12: note: previous declaration ‘template<class X, class ReturnType> struct MR::max_digits’ used 2 template parameters
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> In file included from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/mrtrix.h: In function ‘std::string Eigen::unquote(const string&)’:
> ./core/mrtrix.h:149:76: error: definition of ‘auto Eigen::unquote(const string&)::<lambda>::operator()(const char&) const’ is not in namespace enclosing ‘Eigen::unquote(const string&)::<lambda>’ [-fpermissive]
> 149 | if (std::none_of (substring.begin(), substring.end(), [] (const char& c) { return c == '\"'; }))
> | ^
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:173:3: error: ‘vector’ does not name a type
> 173 | vector<std::string> split (
> | ^~~~~~
> ./core/mrtrix.h:179:10: error: ‘vector’ does not name a type
> 179 | inline vector<std::string> split_lines (
> | ^~~~~~
> ./core/mrtrix.h: In function ‘std::size_t Eigen::is_dash(const string&)’:
> ./core/mrtrix.h:227:21: error: ‘char_is_dash’ was not declared in this scope; did you mean ‘Eigen::char_is_dash’?
> 227 | size_t nbytes = char_is_dash (arg.c_str());
> | ^~~~~~~~~~~~
> | Eigen::char_is_dash
> ./core/mrtrix.h:205:17: note: ‘Eigen::char_is_dash’ declared here
> 205 | inline size_t char_is_dash (const char* arg)
> | ^~~~~~~~~~~~
> ./core/mrtrix.h: In function ‘bool Eigen::consume_dash(const char*&)’:
> ./core/mrtrix.h:238:21: error: ‘char_is_dash’ was not declared in this scope; did you mean ‘Eigen::char_is_dash’?
> 238 | size_t nbytes = char_is_dash (arg);
> | ^~~~~~~~~~~~
> | Eigen::char_is_dash
> ./core/mrtrix.h:205:17: note: ‘Eigen::char_is_dash’ declared here
> 205 | inline size_t char_is_dash (const char* arg)
> | ^~~~~~~~~~~~
> ./core/mrtrix.h: In function ‘std::string Eigen::str(const T&, int)’:
> ./core/mrtrix.h:252:14: error: ‘max_digits’ was not declared in this scope; did you mean ‘MR::max_digits’?
> 252 | else if (max_digits<T>::value())
> | ^~~~~~~~~~
> | MR::max_digits
> In file included from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/mrtrix.h:59:12: note: ‘MR::max_digits’ declared here
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> In file included from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/mrtrix.h:252:26: error: expected primary-expression before ‘>’ token
> 252 | else if (max_digits<T>::value())
> | ^
> ./core/mrtrix.h:252:29: error: ‘::value’ has not been declared
> 252 | else if (max_digits<T>::value())
> | ^~~~~
> ./core/mrtrix.h:253:37: error: expected primary-expression before ‘>’ token
> 253 | stream.precision (max_digits<T>::value());
> | ^
> ./core/mrtrix.h:253:40: error: ‘::value’ has not been declared
> 253 | stream.precision (max_digits<T>::value());
> | ^~~~~
> ./core/mrtrix.h:256:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 256 | throw Exception (std::string("error converting type \"") + typeid(T).name() + "\" value to string");
> | ^~~~~~~~~
> ./core/mrtrix.h:256:13: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
> ./core/mrtrix.h: In function ‘T Eigen::to(const string&)’:
> ./core/mrtrix.h:262:33: error: there are no arguments to ‘strip’ that depend on a template parameter, so a declaration of ‘strip’ must be available [-fpermissive]
> 262 | const std::string stripped (strip (string));
> | ^~~~~
> ./core/mrtrix.h:268:37: error: there are no arguments to ‘lowercase’ that depend on a template parameter, so a declaration of ‘lowercase’ must be available [-fpermissive]
> 268 | const std::string lstring = lowercase (stripped);
> | ^~~~~~~~~
> ./core/mrtrix.h:278:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 278 | throw Exception ("error converting string \"" + string + "\" to type \"" + typeid(T).name() + "\"");
> | ^~~~~~~~~
> ./core/mrtrix.h:280:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 280 | throw Exception ("incomplete use of string \"" + string + "\" in conversion to type \"" + typeid(T).name() + "\"");
> | ^~~~~~~~~
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:285:29: error: expected initializer before ‘<’ token
> 285 | template <> inline bool to<bool> (const std::string& string)
> | ^
> ./core/mrtrix.h:295:37: error: expected initializer before ‘<’ token
> 295 | template <> inline std::string str<cfloat> (const cfloat& value, int precision)
> | ^
> ./core/mrtrix.h:308:22: error: ‘cfloat’ does not name a type
> 308 | template <> inline cfloat to<cfloat> (const std::string& string)
> | ^~~~~~
> ./core/mrtrix.h:353:37: error: expected initializer before ‘<’ token
> 353 | template <> inline std::string str<cdouble> (const cdouble& value, int precision)
> | ^
> ./core/mrtrix.h:366:22: error: ‘cdouble’ does not name a type
> 366 | template <> inline cdouble to<cdouble> (const std::string& string)
> | ^~~~~~~
> ./core/mrtrix.h:417:3: error: ‘vector’ does not name a type
> 417 | vector<default_type> parse_floats (const std::string& spec);
> | ^~~~~~
> ./core/mrtrix.h:422:3: error: ‘vector’ does not name a type
> 422 | vector<IntType> parse_ints (const std::string& spec, const IntType last = std::numeric_limits<IntType>::max())
> | ^~~~~~
> ./core/mrtrix.h:498:34: error: ‘vector’ does not name a type
> 498 | inline std::string join (const vector<std::string>& V, const std::string& delimiter)
> | ^~~~~~
> ./core/mrtrix.h:498:40: error: expected ‘,’ or ‘...’ before ‘<’ token
> 498 | inline std::string join (const vector<std::string>& V, const std::string& delimiter)
> | ^
> ./core/mrtrix.h: In function ‘std::string Eigen::join(int)’:
> ./core/mrtrix.h:501:9: error: ‘V’ was not declared in this scope
> 501 | if (V.empty())
> | ^
> ./core/mrtrix.h:503:11: error: ‘V’ was not declared in this scope
> 503 | ret = V[0];
> | ^
> ./core/mrtrix.h:504:10: error: ‘vector’ was not declared in this scope
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~~~~
> ./core/mrtrix.h:504:10: note: suggested alternatives:
> In file included from /usr/include/c++/11/vector:67,
> from ./core/types.h:27,
> from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> /usr/include/c++/11/bits/stl_vector.h:389:11: note: ‘std::vector’
> 389 | class vector : protected _Vector_base<_Tp, _Alloc>
> | ^~~~~~
> In file included from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/types.h:253:11: note: ‘MR::vector’
> 253 | class vector : public ::std::vector<X, Eigen::aligned_allocator<X>> { NOMEMALIGN
> | ^~~~~~
> In file included from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/mrtrix.h:504:28: error: expected primary-expression before ‘>’ token
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:504:31: error: ‘::const_iterator’ has not been declared
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~~~~~~~~~~~~
> ./core/mrtrix.h:504:64: error: ‘i’ was not declared in this scope
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:505:14: error: ‘delimiter’ was not declared in this scope
> 505 | ret += delimiter + *i;
> | ^~~~~~~~~
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:510:34: error: ‘vector’ does not name a type
> 510 | inline std::string join (const vector<T>& V, const std::string& delimiter)
> | ^~~~~~
> ./core/mrtrix.h:510:40: error: expected ‘,’ or ‘...’ before ‘<’ token
> 510 | inline std::string join (const vector<T>& V, const std::string& delimiter)
> | ^
> ./core/mrtrix.h: In function ‘std::string Eigen::join(int)’:
> ./core/mrtrix.h:513:9: error: ‘V’ was not declared in this scope
> 513 | if (V.empty())
> | ^
> ./core/mrtrix.h:515:15: error: ‘V’ was not declared in this scope
> 515 | ret = str(V[0]);
> | ^
> ./core/mrtrix.h:515:11: error: there are no arguments to ‘str’ that depend on a template parameter, so a declaration of ‘str’ must be available [-fpermissive]
> 515 | ret = str(V[0]);
> | ^~~
> ./core/mrtrix.h:516:25: error: expected ‘;’ before ‘<’ token
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> | ;
> ./core/mrtrix.h:516:25: error: expected primary-expression before ‘<’ token
> ./core/mrtrix.h:516:27: error: expected primary-expression before ‘>’ token
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:516:30: error: ‘::const_iterator’ has not been declared
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~~~~~~~~~~~~
> ./core/mrtrix.h:516:44: error: expected ‘;’ before ‘i’
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~
> | ;
> ./core/mrtrix.h:516:45: error: ‘i’ was not declared in this scope
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:516:61: error: expected ‘)’ before ‘;’ token
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ~ ^
> | )
> ./core/mrtrix.h:516:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~
> ./core/mrtrix.h:516:63: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:516:63: error: ‘i’ was not declared in this scope
> In file included from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/raw.h: At global scope:
> ./core/raw.h:88:38: error: ‘is_complex’ was not declared in this scope; did you mean ‘MR::is_complex’?
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^~~~~~~~~~
> | MR::is_complex
> In file included from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/types.h:242:37: note: ‘MR::is_complex’ declared here
> 242 | template <class ValueType> struct is_complex : std::false_type { NOMEMALIGN };
> | ^~~~~~~~~~
> In file included from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/raw.h:88:58: error: template argument 1 is invalid
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^
> ./core/raw.h:88:59: error: expected identifier before ‘::’ token
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^~
> ./core/raw.h:88:61: error: declaration of ‘value’ not in a namespace surrounding ‘::’
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^~~~~
> ./core/raw.h:88:61: error: ‘value’ should have been declared inside ‘::’
> ./core/raw.h:88:7: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^~~~~~
> ./core/raw.h:88:59: warning: variable templates only available with ‘-std=c++14’ or ‘-std=gnu++14’
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^~
> ./core/raw.h:88:66: error: expected ‘;’ before ‘,’ token
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^
> | ;
> ./core/raw.h: In function ‘ValueType Eigen::fetch_LE(const void*)’:
> ./core/raw.h:111:64: error: ‘ByteOrder’ has not been declared
> 111 | inline ValueType fetch_LE (const void* address) { return ByteOrder::LE (*as<ValueType> (address)); }
> | ^~~~~~~~~
> ./core/raw.h:111:80: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 111 | inline ValueType fetch_LE (const void* address) { return ByteOrder::LE (*as<ValueType> (address)); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:111:92: error: expected primary-expression before ‘>’ token
> 111 | inline ValueType fetch_LE (const void* address) { return ByteOrder::LE (*as<ValueType> (address)); }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch_BE(const void*)’:
> ./core/raw.h:114:64: error: ‘ByteOrder’ has not been declared
> 114 | inline ValueType fetch_BE (const void* address) { return ByteOrder::BE (*as<ValueType> (address)); }
> | ^~~~~~~~~
> ./core/raw.h:114:80: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 114 | inline ValueType fetch_BE (const void* address) { return ByteOrder::BE (*as<ValueType> (address)); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:114:92: error: expected primary-expression before ‘>’ token
> 114 | inline ValueType fetch_BE (const void* address) { return ByteOrder::BE (*as<ValueType> (address)); }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch_(const void*, bool)’:
> ./core/raw.h:117:105: error: ‘ByteOrder’ has not been declared
> 117 | inline ValueType fetch_ (const void* address, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (*as<ValueType>(address), is_big_endian); }
> | ^~~~~~~~~
> ./core/raw.h:117:123: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 117 | inline ValueType fetch_ (const void* address, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (*as<ValueType>(address), is_big_endian); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:117:135: error: expected primary-expression before ‘>’ token
> 117 | inline ValueType fetch_ (const void* address, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (*as<ValueType>(address), is_big_endian); }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch__native(const void*)’:
> ./core/raw.h:120:70: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 120 | inline ValueType fetch__native (const void* address) { return *as<ValueType>(address); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:120:82: error: expected primary-expression before ‘>’ token
> 120 | inline ValueType fetch__native (const void* address) { return *as<ValueType>(address); }
> | ^
> ./core/raw.h: In function ‘void Eigen::store_LE(ValueType, void*)’:
> ./core/raw.h:124:70: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 124 | inline void store_LE (const ValueType value, void* address) { *as<ValueType>(address) = ByteOrder::LE (value); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:124:82: error: expected primary-expression before ‘>’ token
> 124 | inline void store_LE (const ValueType value, void* address) { *as<ValueType>(address) = ByteOrder::LE (value); }
> | ^
> ./core/raw.h:124:95: error: ‘ByteOrder’ has not been declared
> 124 | inline void store_LE (const ValueType value, void* address) { *as<ValueType>(address) = ByteOrder::LE (value); }
> | ^~~~~~~~~
> ./core/raw.h: In function ‘void Eigen::store_BE(ValueType, void*)’:
> ./core/raw.h:127:70: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 127 | inline void store_BE (const ValueType value, void* address) { *as<ValueType>(address) = ByteOrder::BE (value); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:127:82: error: expected primary-expression before ‘>’ token
> 127 | inline void store_BE (const ValueType value, void* address) { *as<ValueType>(address) = ByteOrder::BE (value); }
> | ^
> ./core/raw.h:127:95: error: ‘ByteOrder’ has not been declared
> 127 | inline void store_BE (const ValueType value, void* address) { *as<ValueType>(address) = ByteOrder::BE (value); }
> | ^~~~~~~~~
> ./core/raw.h: In function ‘void Eigen::store(ValueType, void*, bool)’:
> ./core/raw.h:130:110: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 130 | inline void store (const ValueType value, void* address, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { *as<ValueType>(address) = ByteOrder::swap (value, is_big_endian); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:130:122: error: expected primary-expression before ‘>’ token
> 130 | inline void store (const ValueType value, void* address, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { *as<ValueType>(address) = ByteOrder::swap (value, is_big_endian); }
> | ^
> ./core/raw.h:130:135: error: ‘ByteOrder’ has not been declared
> 130 | inline void store (const ValueType value, void* address, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { *as<ValueType>(address) = ByteOrder::swap (value, is_big_endian); }
> | ^~~~~~~~~
> ./core/raw.h: In function ‘void Eigen::store_native(ValueType, void*)’:
> ./core/raw.h:133:74: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 133 | inline void store_native (const ValueType value, void* address) { *as<ValueType>(address) = value; }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:133:86: error: expected primary-expression before ‘>’ token
> 133 | inline void store_native (const ValueType value, void* address) { *as<ValueType>(address) = value; }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch_LE(const void*, std::size_t)’:
> ./core/raw.h:139:71: error: ‘ByteOrder’ has not been declared
> 139 | inline ValueType fetch_LE (const void* data, size_t i) { return ByteOrder::LE (as<ValueType>(data)[i]); }
> | ^~~~~~~~~
> ./core/raw.h:139:86: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 139 | inline ValueType fetch_LE (const void* data, size_t i) { return ByteOrder::LE (as<ValueType>(data)[i]); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:139:98: error: expected primary-expression before ‘>’ token
> 139 | inline ValueType fetch_LE (const void* data, size_t i) { return ByteOrder::LE (as<ValueType>(data)[i]); }
> | ^
> ./core/raw.h:139:107: error: ‘const void*’ is not a pointer-to-object type
> 139 | inline ValueType fetch_LE (const void* data, size_t i) { return ByteOrder::LE (as<ValueType>(data)[i]); }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch_BE(const void*, std::size_t)’:
> ./core/raw.h:143:71: error: ‘ByteOrder’ has not been declared
> 143 | inline ValueType fetch_BE (const void* data, size_t i) { return ByteOrder::BE (as<ValueType>(data)[i]); }
> | ^~~~~~~~~
> ./core/raw.h:143:86: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 143 | inline ValueType fetch_BE (const void* data, size_t i) { return ByteOrder::BE (as<ValueType>(data)[i]); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:143:98: error: expected primary-expression before ‘>’ token
> 143 | inline ValueType fetch_BE (const void* data, size_t i) { return ByteOrder::BE (as<ValueType>(data)[i]); }
> | ^
> ./core/raw.h:143:107: error: ‘const void*’ is not a pointer-to-object type
> 143 | inline ValueType fetch_BE (const void* data, size_t i) { return ByteOrder::BE (as<ValueType>(data)[i]); }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch(const void*, std::size_t, bool)’:
> ./core/raw.h:147:111: error: ‘ByteOrder’ has not been declared
> 147 | inline ValueType fetch (const void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (as<ValueType>(data)[i], is_big_endian); }
> | ^~~~~~~~~
> ./core/raw.h:147:128: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 147 | inline ValueType fetch (const void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (as<ValueType>(data)[i], is_big_endian); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:147:140: error: expected primary-expression before ‘>’ token
> 147 | inline ValueType fetch (const void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (as<ValueType>(data)[i], is_big_endian); }
> | ^
> ./core/raw.h:147:149: error: ‘const void*’ is not a pointer-to-object type
> 147 | inline ValueType fetch (const void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (as<ValueType>(data)[i], is_big_endian); }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch_native(const void*, std::size_t)’:
> ./core/raw.h:151:75: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 151 | inline ValueType fetch_native (const void* data, size_t i) { return as<ValueType>(data)[i]; }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:151:87: error: expected primary-expression before ‘>’ token
> 151 | inline ValueType fetch_native (const void* data, size_t i) { return as<ValueType>(data)[i]; }
> | ^
> ./core/raw.h:151:96: error: ‘const void*’ is not a pointer-to-object type
> 151 | inline ValueType fetch_native (const void* data, size_t i) { return as<ValueType>(data)[i]; }
> | ^
> ./core/raw.h: In function ‘void Eigen::store_LE(ValueType, void*, std::size_t)’:
> ./core/raw.h:157:76: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 157 | inline void store_LE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::LE (value); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:157:88: error: expected primary-expression before ‘>’ token
> 157 | inline void store_LE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::LE (value); }
> | ^
> ./core/raw.h:157:97: error: ‘void*’ is not a pointer-to-object type
> 157 | inline void store_LE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::LE (value); }
> | ^
> ./core/raw.h:157:101: error: ‘ByteOrder’ has not been declared
> 157 | inline void store_LE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::LE (value); }
> | ^~~~~~~~~
> ./core/raw.h: In function ‘void Eigen::store_BE(ValueType, void*, std::size_t)’:
> ./core/raw.h:161:76: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 161 | inline void store_BE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::BE (value); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:161:88: error: expected primary-expression before ‘>’ token
> 161 | inline void store_BE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::BE (value); }
> | ^
> ./core/raw.h:161:97: error: ‘void*’ is not a pointer-to-object type
> 161 | inline void store_BE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::BE (value); }
> | ^
> ./core/raw.h:161:101: error: ‘ByteOrder’ has not been declared
> 161 | inline void store_BE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::BE (value); }
> | ^~~~~~~~~
> ./core/raw.h: In function ‘void Eigen::store(ValueType, void*, std::size_t, bool)’:
> ./core/raw.h:165:116: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 165 | inline void store (const ValueType value, void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { as<ValueType>(data)[i] = ByteOrder::swap (value, is_big_endian); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:165:128: error: expected primary-expression before ‘>’ token
> 165 | inline void store (const ValueType value, void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { as<ValueType>(data)[i] = ByteOrder::swap (value, is_big_endian); }
> | ^
> ./core/raw.h:165:137: error: ‘void*’ is not a pointer-to-object type
> 165 | inline void store (const ValueType value, void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { as<ValueType>(data)[i] = ByteOrder::swap (value, is_big_endian); }
> | ^
> ./core/raw.h:165:141: error: ‘ByteOrder’ has not been declared
> 165 | inline void store (const ValueType value, void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { as<ValueType>(data)[i] = ByteOrder::swap (value, is_big_endian); }
> | ^~~~~~~~~
> ./core/raw.h: In function ‘void Eigen::store_native(ValueType, void*, std::size_t)’:
> ./core/raw.h:169:80: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 169 | inline void store_native (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = value; }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:169:92: error: expected primary-expression before ‘>’ token
> 169 | inline void store_native (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = value; }
> | ^
> ./core/raw.h:169:101: error: ‘void*’ is not a pointer-to-object type
> 169 | inline void store_native (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = value; }
> | ^
> ./core/raw.h: At global scope:
> ./core/raw.h:176:31: error: expected initializer before ‘<’ token
> 176 | inline bool fetch_native<bool> (const void* data, size_t i) { return ( as<uint8_t>(data)[i/8]) & (BITMASK >> i%8 ); }
> | ^
> ./core/raw.h:179:31: error: expected initializer before ‘<’ token
> 179 | inline void store_native<bool> (const bool value, void* data, size_t i) {
> | ^
> ./core/raw.h:193:24: error: expected initializer before ‘<’ token
> 193 | inline bool fetch<bool> (const void* data, size_t i, bool) { return fetch_native<bool> (data, i); }
> | ^
> ./core/raw.h:196:24: error: expected initializer before ‘<’ token
> 196 | inline void store<bool> (const bool value, void* data, size_t i, bool) { store_native<bool> (value, data, i); }
> | ^
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:65:15: error: ‘ArgFlags’ does not name a type
> 65 | constexpr ArgFlags None = 0;
> | ^~~~~~~~
> ./core/cmdline_option.h:66:15: error: ‘ArgFlags’ does not name a type
> 66 | constexpr ArgFlags Optional = 0x1;
> | ^~~~~~~~
> ./core/cmdline_option.h:67:15: error: ‘ArgFlags’ does not name a type
> 67 | constexpr ArgFlags AllowMultiple = 0x2;
> | ^~~~~~~~
> ./core/cmdline_option.h:122:9: error: ‘ArgType’ does not name a type
> 122 | ArgType type;
> | ^~~~~~~
> ./core/cmdline_option.h:124:9: error: ‘ArgFlags’ does not name a type
> 124 | ArgFlags flags;
> | ^~~~~~~~
> ./core/cmdline_option.h:133:13: error: ‘default_type’ does not name a type
> 133 | default_type min, max;
> | ^~~~~~~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:206:37: error: ‘default_type’ does not name a type
> 206 | Argument& type_float (const default_type min = -std::numeric_limits<default_type>::infinity(),
> | ^~~~~~~~~~~~
> ./core/cmdline_option.h:207:37: error: ‘default_type’ does not name a type
> 207 | const default_type max = std::numeric_limits<default_type>::infinity()) {
> | ^~~~~~~~~~~~
> ./core/cmdline_option.h:206:77: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 206 | Argument& type_float (const default_type min = -std::numeric_limits<default_type>::infinity(),
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:206:89: error: template argument 1 is invalid
> 206 | Argument& type_float (const default_type min = -std::numeric_limits<default_type>::infinity(),
> | ^
> ./core/cmdline_option.h:207:76: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 207 | const default_type max = std::numeric_limits<default_type>::infinity()) {
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:207:88: error: template argument 1 is invalid
> 207 | const default_type max = std::numeric_limits<default_type>::infinity()) {
> | ^
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In constructor ‘MR::App::Argument::Argument(const char*, std::string)’:
> ./core/cmdline_option.h:112:42: error: class ‘MR::App::Argument’ does not have any field named ‘type’
> 112 | id (name), desc (description), type (Undefined), flags (None)
> | ^~~~
> ./core/cmdline_option.h:112:48: error: ‘Undefined’ was not declared in this scope; did you mean ‘MR::App::Undefined’?
> 112 | id (name), desc (description), type (Undefined), flags (None)
> | ^~~~~~~~~
> | MR::App::Undefined
> ./core/cmdline_option.h:45:7: note: ‘MR::App::Undefined’ declared here
> 45 | Undefined,
> | ^~~~~~~~~
> ./core/cmdline_option.h:112:60: error: class ‘MR::App::Argument’ does not have any field named ‘flags’
> 112 | id (name), desc (description), type (Undefined), flags (None)
> | ^~~~~
> ./core/cmdline_option.h:112:67: error: ‘None’ was not declared in this scope
> 112 | id (name), desc (description), type (Undefined), flags (None)
> | ^~~~
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::optional()’:
> ./core/cmdline_option.h:154:11: error: ‘flags’ was not declared in this scope
> 154 | flags |= Optional;
> | ^~~~~
> ./core/cmdline_option.h:154:20: error: ‘Optional’ was not declared in this scope; did you mean ‘optional’?
> 154 | flags |= Optional;
> | ^~~~~~~~
> | optional
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::allow_multiple()’:
> ./core/cmdline_option.h:161:11: error: ‘flags’ was not declared in this scope
> 161 | flags |= AllowMultiple;
> | ^~~~~
> ./core/cmdline_option.h:161:20: error: ‘AllowMultiple’ was not declared in this scope; did you mean ‘allow_multiple’?
> 161 | flags |= AllowMultiple;
> | ^~~~~~~~~~~~~
> | allow_multiple
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_text()’:
> ./core/cmdline_option.h:168:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 168 | type = Text;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:168:18: error: ‘Text’ was not declared in this scope; did you mean ‘MR::App::Text’?
> 168 | type = Text;
> | ^~~~
> | MR::App::Text
> ./core/cmdline_option.h:46:7: note: ‘MR::App::Text’ declared here
> 46 | Text,
> | ^~~~
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_image_in()’:
> ./core/cmdline_option.h:175:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 175 | type = ImageIn;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:175:18: error: ‘ImageIn’ was not declared in this scope; did you mean ‘MR::App::ImageIn’?
> 175 | type = ImageIn;
> | ^~~~~~~
> | MR::App::ImageIn
> ./core/cmdline_option.h:55:7: note: ‘MR::App::ImageIn’ declared here
> 55 | ImageIn,
> | ^~~~~~~
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_image_out()’:
> ./core/cmdline_option.h:182:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 182 | type = ImageOut;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:182:18: error: ‘ImageOut’ was not declared in this scope; did you mean ‘MR::App::ImageOut’?
> 182 | type = ImageOut;
> | ^~~~~~~~
> | MR::App::ImageOut
> ./core/cmdline_option.h:56:7: note: ‘MR::App::ImageOut’ declared here
> 56 | ImageOut,
> | ^~~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_integer(int64_t, int64_t)’:
> ./core/cmdline_option.h:190:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 190 | type = Integer;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:190:18: error: ‘Integer’ was not declared in this scope; did you mean ‘MR::App::Integer’?
> 190 | type = Integer;
> | ^~~~~~~
> | MR::App::Integer
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:48:7: note: ‘MR::App::Integer’ declared here
> 48 | Integer,
> | ^~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_bool()’:
> ./core/cmdline_option.h:200:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 200 | type = Boolean;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:200:18: error: ‘Boolean’ was not declared in this scope; did you mean ‘MR::App::Boolean’?
> 200 | type = Boolean;
> | ^~~~~~~
> | MR::App::Boolean
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:47:7: note: ‘MR::App::Boolean’ declared here
> 47 | Boolean,
> | ^~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_float(int, int)’:
> ./core/cmdline_option.h:209:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 209 | type = Float;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:209:18: error: ‘Float’ was not declared in this scope; did you mean ‘MR::App::Float’?
> 209 | type = Float;
> | ^~~~~
> | MR::App::Float
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:49:7: note: ‘MR::App::Float’ declared here
> 49 | Float,
> | ^~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:210:20: error: ‘struct MR::App::Argument::<unnamed union>::<unnamed>’ has no member named ‘min’
> 210 | limits.f.min = min;
> | ^~~
> ./core/cmdline_option.h:211:20: error: ‘struct MR::App::Argument::<unnamed union>::<unnamed>’ has no member named ‘max’
> 211 | limits.f.max = max;
> | ^~~
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_choice(const char* const*)’:
> ./core/cmdline_option.h:228:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 228 | type = Choice;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:228:18: error: ‘Choice’ was not declared in this scope; did you mean ‘MR::App::Choice’?
> 228 | type = Choice;
> | ^~~~~~
> | MR::App::Choice
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:54:7: note: ‘MR::App::Choice’ declared here
> 54 | Choice,
> | ^~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_file_in()’:
> ./core/cmdline_option.h:236:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 236 | type = ArgFileIn;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:236:18: error: ‘ArgFileIn’ was not declared in this scope; did you mean ‘MR::App::ArgFileIn’?
> 236 | type = ArgFileIn;
> | ^~~~~~~~~
> | MR::App::ArgFileIn
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:50:7: note: ‘MR::App::ArgFileIn’ declared here
> 50 | ArgFileIn,
> | ^~~~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_file_out()’:
> ./core/cmdline_option.h:243:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 243 | type = ArgFileOut;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:243:18: error: ‘ArgFileOut’ was not declared in this scope; did you mean ‘MR::App::ArgFileOut’?
> 243 | type = ArgFileOut;
> | ^~~~~~~~~~
> | MR::App::ArgFileOut
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:51:7: note: ‘MR::App::ArgFileOut’ declared here
> 51 | ArgFileOut,
> | ^~~~~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_directory_in()’:
> ./core/cmdline_option.h:250:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 250 | type = ArgDirectoryIn;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:250:18: error: ‘ArgDirectoryIn’ was not declared in this scope; did you mean ‘MR::App::ArgDirectoryIn’?
> 250 | type = ArgDirectoryIn;
> | ^~~~~~~~~~~~~~
> | MR::App::ArgDirectoryIn
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:52:7: note: ‘MR::App::ArgDirectoryIn’ declared here
> 52 | ArgDirectoryIn,
> | ^~~~~~~~~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_directory_out()’:
> ./core/cmdline_option.h:257:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 257 | type = ArgDirectoryOut;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:257:18: error: ‘ArgDirectoryOut’ was not declared in this scope; did you mean ‘MR::App::ArgDirectoryOut’?
> 257 | type = ArgDirectoryOut;
> | ^~~~~~~~~~~~~~~
> | MR::App::ArgDirectoryOut
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:53:7: note: ‘MR::App::ArgDirectoryOut’ declared here
> 53 | ArgDirectoryOut,
> | ^~~~~~~~~~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_sequence_int()’:
> ./core/cmdline_option.h:264:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 264 | type = IntSeq;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:264:18: error: ‘IntSeq’ was not declared in this scope; did you mean ‘MR::App::IntSeq’?
> 264 | type = IntSeq;
> | ^~~~~~
> | MR::App::IntSeq
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:57:7: note: ‘MR::App::IntSeq’ declared here
> 57 | IntSeq,
> | ^~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_sequence_float()’:
> ./core/cmdline_option.h:271:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 271 | type = FloatSeq;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:271:18: error: ‘FloatSeq’ was not declared in this scope; did you mean ‘MR::App::FloatSeq’?
> 271 | type = FloatSeq;
> | ^~~~~~~~
> | MR::App::FloatSeq
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:58:7: note: ‘MR::App::FloatSeq’ declared here
> 58 | FloatSeq,
> | ^~~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_tracks_in()’:
> ./core/cmdline_option.h:278:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 278 | type = TracksIn;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:278:18: error: ‘TracksIn’ was not declared in this scope; did you mean ‘MR::App::TracksIn’?
> 278 | type = TracksIn;
> | ^~~~~~~~
> | MR::App::TracksIn
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:59:7: note: ‘MR::App::TracksIn’ declared here
> 59 | TracksIn,
> | ^~~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_tracks_out()’:
> ./core/cmdline_option.h:285:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 285 | type = TracksOut;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:285:18: error: ‘TracksOut’ was not declared in this scope; did you mean ‘MR::App::TracksOut’?
> 285 | type = TracksOut;
> | ^~~~~~~~~
> | MR::App::TracksOut
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:60:7: note: ‘MR::App::TracksOut’ declared here
> 60 | TracksOut,
> | ^~~~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_various()’:
> ./core/cmdline_option.h:292:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 292 | type = Various;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:292:18: error: ‘Various’ was not declared in this scope; did you mean ‘MR::App::Various’?
> 292 | type = Various;
> | ^~~~~~~
> | MR::App::Various
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h:61:7: note: ‘MR::App::Various’ declared here
> 61 | Various
> | ^~~~~~~
> In file included from ./core/datatype.h:20,
> from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/cmdline_option.h: At global scope:
> ./core/cmdline_option.h:343:33: error: expected template-name before ‘<’ token
> 343 | class Option : public vector<Argument> { NOMEMALIGN
> | ^
> ./core/cmdline_option.h:343:33: error: expected ‘{’ before ‘<’ token
> ./core/cmdline_option.h:343:33: error: expected unqualified-id before ‘<’ token
> ./core/cmdline_option.h:418:38: error: expected template-name before ‘<’ token
> 418 | class OptionGroup : public vector<Option> { NOMEMALIGN
> | ^
> ./core/cmdline_option.h:418:38: error: expected ‘{’ before ‘<’ token
> ./core/cmdline_option.h:418:38: error: expected unqualified-id before ‘<’ token
> In file included from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/datatype.h:184:14: error: ‘App’ does not name a type
> 184 | static App::OptionGroup options ();
> | ^~~
> ./core/datatype.h: In member function ‘bool MR::DataType::is_byte_order_native()’:
> ./core/datatype.h:70:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 70 | throw Exception ("byte order not set!");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/image_io/fetch_store.h:21,
> from core/image_io/fetch_store.cpp:17:
> ./core/datatype.h: At global scope:
> ./core/datatype.h:200:22: error: ‘DataType’ does not name a type
> 200 | template <> inline DataType DataType::from<bool> ()
> | ^~~~~~~~
> ./core/datatype.h:204:22: error: ‘DataType’ does not name a type
> 204 | template <> inline DataType DataType::from<int8_t> ()
> | ^~~~~~~~
> ./core/datatype.h:208:22: error: ‘DataType’ does not name a type
> 208 | template <> inline DataType DataType::from<uint8_t> ()
> | ^~~~~~~~
> ./core/datatype.h:212:22: error: ‘DataType’ does not name a type
> 212 | template <> inline DataType DataType::from<int16_t> ()
> | ^~~~~~~~
> ./core/datatype.h:216:22: error: ‘DataType’ does not name a type
> 216 | template <> inline DataType DataType::from<uint16_t> ()
> | ^~~~~~~~
> ./core/datatype.h:220:22: error: ‘DataType’ does not name a type
> 220 | template <> inline DataType DataType::from<int32_t> ()
> | ^~~~~~~~
> ./core/datatype.h:224:22: error: ‘DataType’ does not name a type
> 224 | template <> inline DataType DataType::from<uint32_t> ()
> | ^~~~~~~~
> ./core/datatype.h:228:22: error: ‘DataType’ does not name a type
> 228 | template <> inline DataType DataType::from<int64_t> ()
> | ^~~~~~~~
> ./core/datatype.h:232:22: error: ‘DataType’ does not name a type
> 232 | template <> inline DataType DataType::from<uint64_t> ()
> | ^~~~~~~~
> ./core/datatype.h:236:22: error: ‘DataType’ does not name a type
> 236 | template <> inline DataType DataType::from<float> ()
> | ^~~~~~~~
> ./core/datatype.h:240:22: error: ‘DataType’ does not name a type
> 240 | template <> inline DataType DataType::from<double> ()
> | ^~~~~~~~
> ./core/datatype.h:244:22: error: ‘DataType’ does not name a type
> 244 | template <> inline DataType DataType::from<cfloat> ()
> | ^~~~~~~~
> ./core/datatype.h:248:22: error: ‘DataType’ does not name a type
> 248 | template <> inline DataType DataType::from<cdouble> ()
> | ^~~~~~~~
> In file included from core/image_io/fetch_store.cpp:17:
> ./core/image_io/fetch_store.h:28:30: error: ‘is_data_type’ was not declared in this scope; did you mean ‘MR::is_data_type’?
> 28 | typename std::enable_if<!is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~~~~~~~~~~~
> | MR::is_data_type
> In file included from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/types.h:248:12: note: ‘MR::is_data_type’ declared here
> 248 | struct is_data_type :
> | ^~~~~~~~~~~~
> In file included from core/image_io/fetch_store.cpp:17:
> ./core/image_io/fetch_store.h:28:42: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
> 28 | typename std::enable_if<!is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^
> ./core/image_io/fetch_store.h:28:52: error: template argument 1 is invalid
> 28 | typename std::enable_if<!is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^
> ./core/image_io/fetch_store.h:28:53: error: expected identifier before ‘::’ token
> 28 | typename std::enable_if<!is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~
> ./core/image_io/fetch_store.h:28:55: error: declaration of ‘value’ not in a namespace surrounding ‘::’
> 28 | typename std::enable_if<!is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~~~~
> ./core/image_io/fetch_store.h:28:55: error: ‘value’ should have been declared inside ‘::’
> ./core/image_io/fetch_store.h:28:53: warning: variable templates only available with ‘-std=c++14’ or ‘-std=gnu++14’
> 28 | typename std::enable_if<!is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~
> ./core/image_io/fetch_store.h:28:60: error: expected ‘;’ before ‘,’ token
> 28 | typename std::enable_if<!is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^
> | ;
> ./core/image_io/fetch_store.h:36:29: error: ‘is_data_type’ was not declared in this scope; did you mean ‘MR::is_data_type’?
> 36 | typename std::enable_if<is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~~~~~~~~~~~
> | MR::is_data_type
> In file included from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/types.h:248:12: note: ‘MR::is_data_type’ declared here
> 248 | struct is_data_type :
> | ^~~~~~~~~~~~
> In file included from core/image_io/fetch_store.cpp:17:
> ./core/image_io/fetch_store.h:36:51: error: template argument 1 is invalid
> 36 | typename std::enable_if<is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^
> ./core/image_io/fetch_store.h:36:52: error: expected identifier before ‘::’ token
> 36 | typename std::enable_if<is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~
> ./core/image_io/fetch_store.h:36:54: error: declaration of ‘value’ not in a namespace surrounding ‘::’
> 36 | typename std::enable_if<is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~~~~
> ./core/image_io/fetch_store.h:36:54: error: ‘value’ should have been declared inside ‘::’
> ./core/image_io/fetch_store.h:36:54: error: redeclaration of ‘template<class ValueType> int value’
> ./core/image_io/fetch_store.h:28:53: note: previous declaration ‘template<class ValueType> int value<ValueType>’
> 28 | typename std::enable_if<!is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~
> ./core/image_io/fetch_store.h:36:52: warning: variable templates only available with ‘-std=c++14’ or ‘-std=gnu++14’
> 36 | typename std::enable_if<is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~
> ./core/image_io/fetch_store.h:36:59: error: expected ‘;’ before ‘,’ token
> 36 | typename std::enable_if<is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^
> | ;
> core/image_io/fetch_store.cpp: In function ‘typename std::enable_if<std::is_same<std::complex<typename TypeOUT::value_type>, TypeOUT>::value, TypeOUT>::type Eigen::round_func(TypeIN, typename std::enable_if<std::is_arithmetic<TypeIN>::value>::type*)’:
> core/image_io/fetch_store.cpp:60:16: error: ‘round_func’ was not declared in this scope; did you mean ‘Eigen::round_func’?
> 60 | return round_func<typename TypeOUT::value_type> (in);
> | ^~~~~~~~~~
> | Eigen::round_func
> core/image_io/fetch_store.cpp:59:7: note: ‘Eigen::round_func’ declared here
> 59 | round_func (TypeIN in, typename std::enable_if<std::is_arithmetic<TypeIN>::value>::type* = nullptr) {
> | ^~~~~~~~~~
> core/image_io/fetch_store.cpp:60:55: error: expected ‘(’ before ‘>’ token
> 60 | return round_func<typename TypeOUT::value_type> (in);
> | ^
> | (
> core/image_io/fetch_store.cpp: In function ‘typename std::enable_if<std::is_arithmetic<_Tp>::value, TypeOUT>::type Eigen::round_func(TypeIN, typename std::enable_if<std::is_same<std::complex<typename TypeIN::value_type>, TypeIN>::value>::type*)’:
> core/image_io/fetch_store.cpp:67:16: error: ‘round_func’ was not declared in this scope; did you mean ‘Eigen::round_func’?
> 67 | return round_func<TypeOUT> (in.real());
> | ^~~~~~~~~~
> | Eigen::round_func
> core/image_io/fetch_store.cpp:66:7: note: ‘Eigen::round_func’ declared here
> 66 | round_func (TypeIN in, typename std::enable_if<std::is_same<std::complex<typename TypeIN::value_type>, TypeIN>::value>::type* = nullptr) {
> | ^~~~~~~~~~
> core/image_io/fetch_store.cpp:67:34: error: expected primary-expression before ‘>’ token
> 67 | return round_func<TypeOUT> (in.real());
> | ^
> core/image_io/fetch_store.cpp: At global scope:
> core/image_io/fetch_store.cpp:74:75: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 74 | inline typename std::enable_if<std::is_arithmetic<DiskType>::value, default_type>::type
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:74:87: error: template argument 2 is invalid
> 74 | inline typename std::enable_if<std::is_arithmetic<DiskType>::value, default_type>::type
> | ^
> core/image_io/fetch_store.cpp:74:88: error: ‘<declaration error>’ is not a template [-fpermissive]
> 74 | inline typename std::enable_if<std::is_arithmetic<DiskType>::value, default_type>::type
> | ^~
> core/image_io/fetch_store.cpp:75:41: error: ‘default_type’ has not been declared
> 75 | scale_from_storage (DiskType val, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:75:62: error: ‘default_type’ has not been declared
> 75 | scale_from_storage (DiskType val, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:81:41: error: ‘default_type’ has not been declared
> 81 | scale_from_storage (DiskType val, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:81:62: error: ‘default_type’ has not been declared
> 81 | scale_from_storage (DiskType val, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:87:75: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 87 | inline typename std::enable_if<std::is_arithmetic<DiskType>::value, default_type>::type
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:87:87: error: template argument 2 is invalid
> 87 | inline typename std::enable_if<std::is_arithmetic<DiskType>::value, default_type>::type
> | ^
> core/image_io/fetch_store.cpp:87:88: error: ‘<declaration error>’ is not a template [-fpermissive]
> 87 | inline typename std::enable_if<std::is_arithmetic<DiskType>::value, default_type>::type
> | ^~
> core/image_io/fetch_store.cpp:88:39: error: ‘default_type’ has not been declared
> 88 | scale_to_storage (DiskType val, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:88:60: error: ‘default_type’ has not been declared
> 88 | scale_to_storage (DiskType val, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:94:39: error: ‘default_type’ has not been declared
> 94 | scale_to_storage (DiskType val, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:94:60: error: ‘default_type’ has not been declared
> 94 | scale_to_storage (DiskType val, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:103:52: error: ‘default_type’ has not been declared
> 103 | RAMType __fetch (const void* data, size_t i, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:103:73: error: ‘default_type’ has not been declared
> 103 | RAMType __fetch (const void* data, size_t i, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp: In function ‘RAMType Eigen::__fetch(const void*, std::size_t, int, int)’:
> core/image_io/fetch_store.cpp:104:16: error: ‘round_func’ was not declared in this scope; did you mean ‘Eigen::round_func’?
> 104 | return round_func<RAMType> (scale_from_storage (Raw::fetch<DiskType> (data, i), offset, scale));
> | ^~~~~~~~~~
> | Eigen::round_func
> core/image_io/fetch_store.cpp:66:7: note: ‘Eigen::round_func’ declared here
> 66 | round_func (TypeIN in, typename std::enable_if<std::is_same<std::complex<typename TypeIN::value_type>, TypeIN>::value>::type* = nullptr) {
> | ^~~~~~~~~~
> core/image_io/fetch_store.cpp:104:34: error: expected primary-expression before ‘>’ token
> 104 | return round_func<RAMType> (scale_from_storage (Raw::fetch<DiskType> (data, i), offset, scale));
> | ^
> core/image_io/fetch_store.cpp:104:57: error: ‘Raw’ has not been declared
> 104 | return round_func<RAMType> (scale_from_storage (Raw::fetch<DiskType> (data, i), offset, scale));
> | ^~~
> core/image_io/fetch_store.cpp:104:76: error: expected primary-expression before ‘>’ token
> 104 | return round_func<RAMType> (scale_from_storage (Raw::fetch<DiskType> (data, i), offset, scale));
> | ^
> core/image_io/fetch_store.cpp:104:37: error: there are no arguments to ‘scale_from_storage’ that depend on a template parameter, so a declaration of ‘scale_from_storage’ must be available [-fpermissive]
> 104 | return round_func<RAMType> (scale_from_storage (Raw::fetch<DiskType> (data, i), offset, scale));
> | ^~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp: At global scope:
> core/image_io/fetch_store.cpp:108:56: error: ‘default_type’ has not been declared
> 108 | void __store (RAMType val, void* data, size_t i, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:108:77: error: ‘default_type’ has not been declared
> 108 | void __store (RAMType val, void* data, size_t i, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp: In function ‘void Eigen::__store(RAMType, void*, std::size_t, int, int)’:
> core/image_io/fetch_store.cpp:109:16: error: ‘Raw’ has not been declared
> 109 | return Raw::store<DiskType> (round_func<DiskType> (scale_to_storage (val, offset, scale)), data, i);
> | ^~~
> core/image_io/fetch_store.cpp:109:35: error: expected primary-expression before ‘>’ token
> 109 | return Raw::store<DiskType> (round_func<DiskType> (scale_to_storage (val, offset, scale)), data, i);
> | ^
> core/image_io/fetch_store.cpp:109:38: error: ‘round_func’ was not declared in this scope; did you mean ‘Eigen::round_func’?
> 109 | return Raw::store<DiskType> (round_func<DiskType> (scale_to_storage (val, offset, scale)), data, i);
> | ^~~~~~~~~~
> | Eigen::round_func
> core/image_io/fetch_store.cpp:66:7: note: ‘Eigen::round_func’ declared here
> 66 | round_func (TypeIN in, typename std::enable_if<std::is_same<std::complex<typename TypeIN::value_type>, TypeIN>::value>::type* = nullptr) {
> | ^~~~~~~~~~
> core/image_io/fetch_store.cpp:109:57: error: expected primary-expression before ‘>’ token
> 109 | return Raw::store<DiskType> (round_func<DiskType> (scale_to_storage (val, offset, scale)), data, i);
> | ^
> core/image_io/fetch_store.cpp: At global scope:
> core/image_io/fetch_store.cpp:115:55: error: ‘default_type’ has not been declared
> 115 | RAMType __fetch_LE (const void* data, size_t i, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:115:76: error: ‘default_type’ has not been declared
> 115 | RAMType __fetch_LE (const void* data, size_t i, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp: In function ‘RAMType Eigen::__fetch_LE(const void*, std::size_t, int, int)’:
> core/image_io/fetch_store.cpp:116:16: error: ‘round_func’ was not declared in this scope; did you mean ‘Eigen::round_func’?
> 116 | return round_func<RAMType> (scale_from_storage (Raw::fetch_LE<DiskType> (data, i), offset, scale));
> | ^~~~~~~~~~
> | Eigen::round_func
> core/image_io/fetch_store.cpp:66:7: note: ‘Eigen::round_func’ declared here
> 66 | round_func (TypeIN in, typename std::enable_if<std::is_same<std::complex<typename TypeIN::value_type>, TypeIN>::value>::type* = nullptr) {
> | ^~~~~~~~~~
> core/image_io/fetch_store.cpp:116:34: error: expected primary-expression before ‘>’ token
> 116 | return round_func<RAMType> (scale_from_storage (Raw::fetch_LE<DiskType> (data, i), offset, scale));
> | ^
> core/image_io/fetch_store.cpp:116:57: error: ‘Raw’ has not been declared
> 116 | return round_func<RAMType> (scale_from_storage (Raw::fetch_LE<DiskType> (data, i), offset, scale));
> | ^~~
> core/image_io/fetch_store.cpp:116:79: error: expected primary-expression before ‘>’ token
> 116 | return round_func<RAMType> (scale_from_storage (Raw::fetch_LE<DiskType> (data, i), offset, scale));
> | ^
> core/image_io/fetch_store.cpp:116:37: error: there are no arguments to ‘scale_from_storage’ that depend on a template parameter, so a declaration of ‘scale_from_storage’ must be available [-fpermissive]
> 116 | return round_func<RAMType> (scale_from_storage (Raw::fetch_LE<DiskType> (data, i), offset, scale));
> | ^~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp: At global scope:
> core/image_io/fetch_store.cpp:120:59: error: ‘default_type’ has not been declared
> 120 | void __store_LE (RAMType val, void* data, size_t i, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:120:80: error: ‘default_type’ has not been declared
> 120 | void __store_LE (RAMType val, void* data, size_t i, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp: In function ‘void Eigen::__store_LE(RAMType, void*, std::size_t, int, int)’:
> core/image_io/fetch_store.cpp:121:16: error: ‘Raw’ has not been declared
> 121 | return Raw::store_LE<DiskType> (round_func<DiskType> (scale_to_storage (val, offset, scale)), data, i);
> | ^~~
> core/image_io/fetch_store.cpp:121:38: error: expected primary-expression before ‘>’ token
> 121 | return Raw::store_LE<DiskType> (round_func<DiskType> (scale_to_storage (val, offset, scale)), data, i);
> | ^
> core/image_io/fetch_store.cpp:121:41: error: ‘round_func’ was not declared in this scope; did you mean ‘Eigen::round_func’?
> 121 | return Raw::store_LE<DiskType> (round_func<DiskType> (scale_to_storage (val, offset, scale)), data, i);
> | ^~~~~~~~~~
> | Eigen::round_func
> core/image_io/fetch_store.cpp:66:7: note: ‘Eigen::round_func’ declared here
> 66 | round_func (TypeIN in, typename std::enable_if<std::is_same<std::complex<typename TypeIN::value_type>, TypeIN>::value>::type* = nullptr) {
> | ^~~~~~~~~~
> core/image_io/fetch_store.cpp:121:60: error: expected primary-expression before ‘>’ token
> 121 | return Raw::store_LE<DiskType> (round_func<DiskType> (scale_to_storage (val, offset, scale)), data, i);
> | ^
> core/image_io/fetch_store.cpp: At global scope:
> core/image_io/fetch_store.cpp:128:55: error: ‘default_type’ has not been declared
> 128 | RAMType __fetch_BE (const void* data, size_t i, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:128:76: error: ‘default_type’ has not been declared
> 128 | RAMType __fetch_BE (const void* data, size_t i, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp: In function ‘RAMType Eigen::__fetch_BE(const void*, std::size_t, int, int)’:
> core/image_io/fetch_store.cpp:129:16: error: ‘round_func’ was not declared in this scope; did you mean ‘Eigen::round_func’?
> 129 | return round_func<RAMType> (scale_from_storage (Raw::fetch_BE<DiskType> (data, i), offset, scale));
> | ^~~~~~~~~~
> | Eigen::round_func
> core/image_io/fetch_store.cpp:66:7: note: ‘Eigen::round_func’ declared here
> 66 | round_func (TypeIN in, typename std::enable_if<std::is_same<std::complex<typename TypeIN::value_type>, TypeIN>::value>::type* = nullptr) {
> | ^~~~~~~~~~
> core/image_io/fetch_store.cpp:129:34: error: expected primary-expression before ‘>’ token
> 129 | return round_func<RAMType> (scale_from_storage (Raw::fetch_BE<DiskType> (data, i), offset, scale));
> | ^
> core/image_io/fetch_store.cpp:129:57: error: ‘Raw’ has not been declared
> 129 | return round_func<RAMType> (scale_from_storage (Raw::fetch_BE<DiskType> (data, i), offset, scale));
> | ^~~
> core/image_io/fetch_store.cpp:129:79: error: expected primary-expression before ‘>’ token
> 129 | return round_func<RAMType> (scale_from_storage (Raw::fetch_BE<DiskType> (data, i), offset, scale));
> | ^
> core/image_io/fetch_store.cpp:129:37: error: there are no arguments to ‘scale_from_storage’ that depend on a template parameter, so a declaration of ‘scale_from_storage’ must be available [-fpermissive]
> 129 | return round_func<RAMType> (scale_from_storage (Raw::fetch_BE<DiskType> (data, i), offset, scale));
> | ^~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp: At global scope:
> core/image_io/fetch_store.cpp:133:59: error: ‘default_type’ has not been declared
> 133 | void __store_BE (RAMType val, void* data, size_t i, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:133:80: error: ‘default_type’ has not been declared
> 133 | void __store_BE (RAMType val, void* data, size_t i, default_type offset, default_type scale) {
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp: In function ‘void Eigen::__store_BE(RAMType, void*, std::size_t, int, int)’:
> core/image_io/fetch_store.cpp:134:16: error: ‘Raw’ has not been declared
> 134 | return Raw::store_BE<DiskType> (round_func<DiskType> (scale_to_storage (val, offset, scale)), data, i);
> | ^~~
> core/image_io/fetch_store.cpp:134:38: error: expected primary-expression before ‘>’ token
> 134 | return Raw::store_BE<DiskType> (round_func<DiskType> (scale_to_storage (val, offset, scale)), data, i);
> | ^
> core/image_io/fetch_store.cpp:134:41: error: ‘round_func’ was not declared in this scope; did you mean ‘Eigen::round_func’?
> 134 | return Raw::store_BE<DiskType> (round_func<DiskType> (scale_to_storage (val, offset, scale)), data, i);
> | ^~~~~~~~~~
> | Eigen::round_func
> core/image_io/fetch_store.cpp:66:7: note: ‘Eigen::round_func’ declared here
> 66 | round_func (TypeIN in, typename std::enable_if<std::is_same<std::complex<typename TypeIN::value_type>, TypeIN>::value>::type* = nullptr) {
> | ^~~~~~~~~~
> core/image_io/fetch_store.cpp:134:60: error: expected primary-expression before ‘>’ token
> 134 | return Raw::store_BE<DiskType> (round_func<DiskType> (scale_to_storage (val, offset, scale)), data, i);
> | ^
> core/image_io/fetch_store.cpp: At global scope:
> core/image_io/fetch_store.cpp:145:29: error: ‘is_data_type’ was not declared in this scope; did you mean ‘MR::is_data_type’?
> 145 | typename std::enable_if<is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~~~~~~~~~~~
> | MR::is_data_type
> In file included from ./core/mrtrix.h:37,
> from ./core/raw.h:25,
> from ./core/image_io/fetch_store.h:20,
> from core/image_io/fetch_store.cpp:17:
> ./core/types.h:248:12: note: ‘MR::is_data_type’ declared here
> 248 | struct is_data_type :
> | ^~~~~~~~~~~~
> core/image_io/fetch_store.cpp:145:51: error: template argument 1 is invalid
> 145 | typename std::enable_if<is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^
> core/image_io/fetch_store.cpp:145:52: error: expected identifier before ‘::’ token
> 145 | typename std::enable_if<is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~
> core/image_io/fetch_store.cpp:145:54: error: declaration of ‘value’ not in a namespace surrounding ‘::’
> 145 | typename std::enable_if<is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~~~~
> core/image_io/fetch_store.cpp:145:54: error: ‘value’ should have been declared inside ‘::’
> core/image_io/fetch_store.cpp:145:54: error: redeclaration of ‘template<class ValueType> int value’
> In file included from core/image_io/fetch_store.cpp:17:
> ./core/image_io/fetch_store.h:28:53: note: previous declaration ‘template<class ValueType> int value<ValueType>’
> 28 | typename std::enable_if<!is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~
> core/image_io/fetch_store.cpp:145:52: warning: variable templates only available with ‘-std=c++14’ or ‘-std=gnu++14’
> 145 | typename std::enable_if<is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^~
> core/image_io/fetch_store.cpp:145:59: error: expected ‘;’ before ‘,’ token
> 145 | typename std::enable_if<is_data_type<ValueType>::value, void>::type __set_fetch_store_functions (
> | ^
> | ;
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:255:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 255 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(bool);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:255:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 255 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(bool);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:256:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 256 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(uint8_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:256:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 256 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(uint8_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:257:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 257 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(int8_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:257:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 257 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(int8_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:258:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 258 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(uint16_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:258:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 258 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(uint16_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:259:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 259 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(int16_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:259:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 259 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(int16_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:260:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 260 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(uint32_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:260:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 260 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(uint32_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:261:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 261 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(int32_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:261:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 261 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(int32_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:262:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 262 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(uint64_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:262:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 262 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(uint64_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:263:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 263 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(int64_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:263:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 263 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(int64_t);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:264:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 264 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(float);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:264:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 264 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(float);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:265:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 265 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(double);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:265:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 265 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(double);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:266:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 266 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(cfloat);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:266:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 266 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(cfloat);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:17: error: variable or field ‘__set_fetch_store_functions’ declared void
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:267:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 267 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(cdouble);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> core/image_io/fetch_store.cpp:250:44: error: expected ‘;’ before ‘<’ token
> 250 | template void __set_fetch_store_functions<ValueType> ( \
> | ^
> core/image_io/fetch_store.cpp:267:3: note: in expansion of macro ‘__DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE’
> 267 | __DEFINE_FETCH_STORE_FUNCTION_FOR_TYPE(cdouble);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> ERROR: ( 3/546) [CC] tmp/core/math/zstatistic.o
>
> g++ -c -std=c++11 -DMRTRIX_BUILD_TYPE="release version with openmp" -pthread -fPIC -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -mmmx -msse -msse2 -mfpmath=sse -DMRTRIX_WORD64 -DMRTRIX_HAVE_EIGEN_UNSUPPORTED_SPECIAL_FUNCTIONS -DMRTRIX_TIFF_SUPPORT -idirafter /usr/include/x86_64-linux-gnu -DMRTRIX_PNG_SUPPORT -idirafter /usr/include/libpng16 -DEIGEN_FFTW_DEFAULT -fopenmp -Wall -O3 -DNDEBUG -Isrc -I./core -Icmd -idirafter /usr/include/eigen3 core/math/zstatistic.cpp -o tmp/core/math/zstatistic.o
>
> failed with output
>
> In file included from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> ./core/types.h:326:49: error: ‘using Vector3 = class Eigen::Matrix<double, 3, 1>’ redeclared as different kind of entity
> 326 | using Vector3 = Matrix<MR::default_type, 3, 1>;
> | ^
> In file included from /usr/include/eigen3/Eigen/Core:295,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/Matrix.h:541:1: note: previous declaration ‘template<class Type> using Vector3 = Eigen::Matrix<Type, 3, 1>’
> 541 | EIGEN_MAKE_TYPEDEFS(3, 3)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> ./core/types.h:327:49: error: ‘using Vector4 = class Eigen::Matrix<double, 4, 1>’ redeclared as different kind of entity
> 327 | using Vector4 = Matrix<MR::default_type, 4, 1>;
> | ^
> In file included from /usr/include/eigen3/Eigen/Core:295,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/Matrix.h:542:1: note: previous declaration ‘template<class Type> using Vector4 = Eigen::Matrix<Type, 4, 1>’
> 542 | EIGEN_MAKE_TYPEDEFS(4, 4)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/Eigen/Eigenvalues:36,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:20:8: error: ‘traits’ is not a class template
> 20 | struct traits<TridiagonalizationMatrixTReturnType<MatrixType> >
> | ^~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:20:15: error: ‘TridiagonalizationMatrixTReturnType’ was not declared in this scope; did you mean ‘Eigen::internal::TridiagonalizationMatrixTReturnType’?
> 20 | struct traits<TridiagonalizationMatrixTReturnType<MatrixType> >
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | Eigen::internal::TridiagonalizationMatrixTReturnType
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:18:38: note: ‘Eigen::internal::TridiagonalizationMatrixTReturnType’ declared here
> 18 | template<typename MatrixType> struct TridiagonalizationMatrixTReturnType;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:20:8: error: template argument required for ‘struct traits’
> 20 | struct traits<TridiagonalizationMatrixTReturnType<MatrixType> >
> | ^~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:20:63: error: expected unqualified-id before ‘>’ token
> 20 | struct traits<TridiagonalizationMatrixTReturnType<MatrixType> >
> | ^
> In file included from /usr/include/eigen3/Eigen/Eigenvalues:36,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h: In function ‘void Eigen::tridiagonalization_inplace(MatrixType&, DiagonalType&, SubDiagonalType&, CoeffVectorType&, bool)’:
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:434:3: error: ‘tridiagonalization_inplace_selector’ was not declared in this scope; did you mean ‘Eigen::internal::tridiagonalization_inplace_selector’?
> 434 | tridiagonalization_inplace_selector<MatrixType>::run(mat, diag, subdiag, hcoeffs, extractQ);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | Eigen::internal::tridiagonalization_inplace_selector
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:386:8: note: ‘Eigen::internal::tridiagonalization_inplace_selector’ declared here
> 386 | struct tridiagonalization_inplace_selector;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:434:49: error: expected primary-expression before ‘>’ token
> 434 | tridiagonalization_inplace_selector<MatrixType>::run(mat, diag, subdiag, hcoeffs, extractQ);
> | ^
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:434:52: error: ‘::run’ has not been declared
> 434 | tridiagonalization_inplace_selector<MatrixType>::run(mat, diag, subdiag, hcoeffs, extractQ);
> | ^~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h: At global scope:
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:464:8: error: ‘tridiagonalization_inplace_selector’ is not a class template
> 464 | struct tridiagonalization_inplace_selector<MatrixType,3,false>
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:464:62: error: redeclared with 1 template parameter
> 464 | struct tridiagonalization_inplace_selector<MatrixType,3,false>
> | ^
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:386:8: note: previous declaration ‘template<class MatrixType, int Size, bool IsComplex> struct Eigen::internal::tridiagonalization_inplace_selector’ used 3 template parameters
> 386 | struct tridiagonalization_inplace_selector;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:510:8: error: ‘tridiagonalization_inplace_selector’ is not a class template
> 510 | struct tridiagonalization_inplace_selector<MatrixType,1,IsComplex>
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:510:66: error: redeclared with 2 template parameters
> 510 | struct tridiagonalization_inplace_selector<MatrixType,1,IsComplex>
> | ^
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:386:8: note: previous declaration ‘template<class MatrixType, int Size, bool IsComplex> struct Eigen::internal::tridiagonalization_inplace_selector’ used 3 template parameters
> 386 | struct tridiagonalization_inplace_selector;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:532:24: error: ‘TridiagonalizationMatrixTReturnType’ was not declared in this scope; did you mean ‘Eigen::internal::TridiagonalizationMatrixTReturnType’?
> 532 | : public ReturnByValue<TridiagonalizationMatrixTReturnType<MatrixType> >
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | Eigen::internal::TridiagonalizationMatrixTReturnType
> In file included from /usr/include/eigen3/Eigen/Eigenvalues:36,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:18:38: note: ‘Eigen::internal::TridiagonalizationMatrixTReturnType’ declared here
> 18 | template<typename MatrixType> struct TridiagonalizationMatrixTReturnType;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/Eigen/Eigenvalues:36,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:532:70: error: template argument 1 is invalid
> 532 | : public ReturnByValue<TridiagonalizationMatrixTReturnType<MatrixType> >
> | ^
> /usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:532:72: error: expected ‘{’ before ‘>’ token
> 532 | : public ReturnByValue<TridiagonalizationMatrixTReturnType<MatrixType> >
> | ^
> In file included from /usr/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h:14,
> from /usr/include/eigen3/Eigen/Eigenvalues:37,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h:20:8: error: ‘traits’ is not a class template
> 20 | struct traits<HessenbergDecompositionMatrixHReturnType<MatrixType> >
> | ^~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h:20:15: error: ‘HessenbergDecompositionMatrixHReturnType’ was not declared in this scope; did you mean ‘Eigen::internal::HessenbergDecompositionMatrixHReturnType’?
> 20 | struct traits<HessenbergDecompositionMatrixHReturnType<MatrixType> >
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | Eigen::internal::HessenbergDecompositionMatrixHReturnType
> /usr/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h:18:38: note: ‘Eigen::internal::HessenbergDecompositionMatrixHReturnType’ declared here
> 18 | template<typename MatrixType> struct HessenbergDecompositionMatrixHReturnType;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h:20:8: error: template argument required for ‘struct traits’
> 20 | struct traits<HessenbergDecompositionMatrixHReturnType<MatrixType> >
> | ^~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h:20:68: error: expected unqualified-id before ‘>’ token
> 20 | struct traits<HessenbergDecompositionMatrixHReturnType<MatrixType> >
> | ^
> In file included from /usr/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h:14,
> from /usr/include/eigen3/Eigen/Eigenvalues:37,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h:340:24: error: ‘HessenbergDecompositionMatrixHReturnType’ was not declared in this scope; did you mean ‘Eigen::internal::HessenbergDecompositionMatrixHReturnType’?
> 340 | : public ReturnByValue<HessenbergDecompositionMatrixHReturnType<MatrixType> >
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | Eigen::internal::HessenbergDecompositionMatrixHReturnType
> In file included from /usr/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h:14,
> from /usr/include/eigen3/Eigen/Eigenvalues:37,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h:18:38: note: ‘Eigen::internal::HessenbergDecompositionMatrixHReturnType’ declared here
> 18 | template<typename MatrixType> struct HessenbergDecompositionMatrixHReturnType;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h:14,
> from /usr/include/eigen3/Eigen/Eigenvalues:37,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h:340:75: error: template argument 1 is invalid
> 340 | : public ReturnByValue<HessenbergDecompositionMatrixHReturnType<MatrixType> >
> | ^
> /usr/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h:340:77: error: expected ‘{’ before ‘>’ token
> 340 | : public ReturnByValue<HessenbergDecompositionMatrixHReturnType<MatrixType> >
> | ^
> In file included from /usr/include/eigen3/Eigen/Eigenvalues:39,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:582:38: error: ‘direct_selfadjoint_eigenvalues’ is not a class template
> 582 | template<typename SolverType> struct direct_selfadjoint_eigenvalues<SolverType,3,false>
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:582:87: error: redeclared with 1 template parameter
> 582 | template<typename SolverType> struct direct_selfadjoint_eigenvalues<SolverType,3,false>
> | ^
> In file included from /usr/include/eigen3/Eigen/Eigenvalues:39,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:22:62: note: previous declaration ‘template<class SolverType, int Size, bool IsComplex> struct Eigen::internal::direct_selfadjoint_eigenvalues’ used 3 template parameters
> 22 | template<typename SolverType,int Size,bool IsComplex> struct direct_selfadjoint_eigenvalues;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/Eigen/Eigenvalues:39,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:741:8: error: ‘direct_selfadjoint_eigenvalues’ is not a class template
> 741 | struct direct_selfadjoint_eigenvalues<SolverType,2,false>
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:741:57: error: redeclared with 1 template parameter
> 741 | struct direct_selfadjoint_eigenvalues<SolverType,2,false>
> | ^
> In file included from /usr/include/eigen3/Eigen/Eigenvalues:39,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:22:62: note: previous declaration ‘template<class SolverType, int Size, bool IsComplex> struct Eigen::internal::direct_selfadjoint_eigenvalues’ used 3 template parameters
> 22 | template<typename SolverType,int Size,bool IsComplex> struct direct_selfadjoint_eigenvalues;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/Eigen/Eigenvalues:42,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h:368:8: error: ‘complex_schur_reduce_to_hessenberg’ is not a class template
> 368 | struct complex_schur_reduce_to_hessenberg<MatrixType, false>
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h:368:60: error: redeclared with 1 template parameter
> 368 | struct complex_schur_reduce_to_hessenberg<MatrixType, false>
> | ^
> In file included from /usr/include/eigen3/Eigen/Eigenvalues:42,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h:20:54: note: previous declaration ‘template<class MatrixType, bool IsComplex> struct Eigen::internal::complex_schur_reduce_to_hessenberg’ used 2 template parameters
> 20 | template<typename MatrixType, bool IsComplex> struct complex_schur_reduce_to_hessenberg;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/Eigen/Eigenvalues:46,
> from /usr/include/eigen3/Eigen/Dense:7,
> from ./core/math/stats/typedefs.h:22,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h:32:8: error: ‘eigenvalues_selector’ is not a class template
> 32 | struct eigenvalues_selector<Derived, false>
> | ^~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h:32:43: error: redeclared with 1 template parameter
> 32 | struct eigenvalues_selector<Derived, false>
> | ^
> /usr/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h:19:8: note: previous declaration ‘template<class Derived, bool IsComplex> struct Eigen::internal::eigenvalues_selector’ used 2 template parameters
> 19 | struct eigenvalues_selector
> | ^~~~~~~~~~~~~~~~~~~~
> In file included from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> ./core/math/stats/typedefs.h:34:41: error: ‘value_type’ was not declared in this scope; did you mean ‘MR::Math::Stats::value_type’?
> 34 | using matrix_type = Eigen::Matrix<value_type, Eigen::Dynamic, Eigen::Dynamic>;
> | ^~~~~~~~~~
> | MR::Math::Stats::value_type
> ./core/math/stats/typedefs.h:33:13: note: ‘MR::Math::Stats::value_type’ declared here
> 33 | using value_type = MR::default_type;
> | ^~~~~~~~~~
> ./core/math/stats/typedefs.h:34:83: error: template argument 1 is invalid
> 34 | using matrix_type = Eigen::Matrix<value_type, Eigen::Dynamic, Eigen::Dynamic>;
> | ^
> ./core/math/stats/typedefs.h:35:40: error: ‘value_type’ was not declared in this scope; did you mean ‘MR::Math::Stats::value_type’?
> 35 | using vector_type = Eigen::Array<value_type, Eigen::Dynamic, 1>;
> | ^~~~~~~~~~
> | MR::Math::Stats::value_type
> ./core/math/stats/typedefs.h:33:13: note: ‘MR::Math::Stats::value_type’ declared here
> 33 | using value_type = MR::default_type;
> | ^~~~~~~~~~
> ./core/math/stats/typedefs.h:35:69: error: template argument 1 is invalid
> 35 | using vector_type = Eigen::Array<value_type, Eigen::Dynamic, 1>;
> | ^
> In file included from core/math/zstatistic.cpp:18:
> ./core/math/zstatistic.h:33:5: error: ‘default_type’ does not name a type
> 33 | default_type t2z (const default_type stat, const default_type dof);
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:34:5: error: ‘default_type’ does not name a type
> 34 | default_type F2z (const default_type stat, const size_t rank, const default_type dof);
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:44:9: error: ‘default_type’ does not name a type
> 44 | default_type t2z (const default_type t,
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:48:9: error: ‘default_type’ does not name a type
> 48 | default_type F2z (const default_type F,
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:53:9: error: ‘default_type’ does not name a type
> 53 | default_type v2z (const default_type v,
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:57:9: error: ‘default_type’ does not name a type
> 57 | default_type G2z (const default_type G,
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:67:45: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 67 | using array_type = Eigen::Array<default_type, Eigen::Dynamic, 1>;
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> In file included from core/math/zstatistic.cpp:18:
> ./core/math/zstatistic.h:67:76: error: template argument 1 is invalid
> 67 | using array_type = Eigen::Array<default_type, Eigen::Dynamic, 1>;
> | ^
> ./core/math/zstatistic.h:68:21: error: ‘default_type’ does not name a type
> 68 | virtual default_type operator() (const default_type) const = 0;
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:74:13: error: ‘default_type’ does not name a type
> 74 | default_type interp (const default_type stat,
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:85:13: error: ‘default_type’ does not name a type
> 85 | default_type operator() (const default_type) const override;
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:89:19: error: ‘default_type’ does not name a type
> 89 | const default_type offset, scale;
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:90:13: error: ‘array_type’ does not name a type
> 90 | array_type data;
> | ^~~~~~~~~~
> ./core/math/zstatistic.h:97:13: error: ‘default_type’ does not name a type
> 97 | default_type operator() (const default_type) const override;
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:100:19: error: ‘default_type’ does not name a type
> 100 | const default_type offset_upper, scale_upper;
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:101:13: error: ‘array_type’ does not name a type
> 101 | array_type data_upper;
> | ^~~~~~~~~~
> ./core/math/zstatistic.h:102:19: error: ‘default_type’ does not name a type
> 102 | const default_type offset_lower, scale_lower;
> | ^~~~~~~~~~~~
> ./core/math/zstatistic.h:103:13: error: ‘array_type’ does not name a type
> 103 | array_type data_lower;
> | ^~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:63,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:49:54: error: expected nested-name-specifier before ‘unpacket_traits’
> 49 | template <typename T, typename ScalarType = typename unpacket_traits<T>::type>
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:49:54: error: expected ‘>’ before ‘unpacket_traits’
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:60:8: error: ‘generic_i0e’ is not a class template
> 60 | struct generic_i0e<T, float> {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:60:28: error: redeclared with 1 template parameter
> 60 | struct generic_i0e<T, float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:50:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_i0e’ used 2 template parameters
> 50 | struct generic_i0e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:125:8: error: ‘generic_i0e’ is not a class template
> 125 | struct generic_i0e<T, double> {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:125:29: error: redeclared with 1 template parameter
> 125 | struct generic_i0e<T, double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:50:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_i0e’ used 2 template parameters
> 50 | struct generic_i0e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::bessel_i0e_impl<T>::run(T)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:208:12: error: ‘generic_i0e’ was not declared in this scope; did you mean ‘Eigen::internal::generic_i0e’?
> 208 | return generic_i0e<T>::run(x);
> | ^~~~~~~~~~~
> | Eigen::internal::generic_i0e
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:50:8: note: ‘Eigen::internal::generic_i0e’ declared here
> 50 | struct generic_i0e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:208:25: error: expected primary-expression before ‘>’ token
> 208 | return generic_i0e<T>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:208:28: error: ‘::run’ has not been declared
> 208 | return generic_i0e<T>::run(x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:217:54: error: expected nested-name-specifier before ‘unpacket_traits’
> 217 | template <typename T, typename ScalarType = typename unpacket_traits<T>::type>
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:217:54: error: expected ‘>’ before ‘unpacket_traits’
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::generic_i0<T, ScalarType>::run(const T&)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:223:9: error: ‘generic_i0e’ was not declared in this scope; did you mean ‘Eigen::internal::generic_i0e’?
> 223 | generic_i0e<T, ScalarType>::run(x));
> | ^~~~~~~~~~~
> | Eigen::internal::generic_i0e
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:50:8: note: ‘Eigen::internal::generic_i0e’ declared here
> 50 | struct generic_i0e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:223:22: error: expected primary-expression before ‘,’ token
> 223 | generic_i0e<T, ScalarType>::run(x));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:223:34: error: expected primary-expression before ‘>’ token
> 223 | generic_i0e<T, ScalarType>::run(x));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:223:37: error: ‘::run’ has not been declared
> 223 | generic_i0e<T, ScalarType>::run(x));
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::bessel_i0_impl<T>::run(T)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:231:12: error: ‘generic_i0’ was not declared in this scope; did you mean ‘Eigen::internal::generic_i0’?
> 231 | return generic_i0<T>::run(x);
> | ^~~~~~~~~~
> | Eigen::internal::generic_i0
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:218:8: note: ‘Eigen::internal::generic_i0’ declared here
> 218 | struct generic_i0 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:231:24: error: expected primary-expression before ‘>’ token
> 231 | return generic_i0<T>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:231:27: error: ‘::run’ has not been declared
> 231 | return generic_i0<T>::run(x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:240:54: error: expected nested-name-specifier before ‘unpacket_traits’
> 240 | template <typename T, typename ScalarType = typename unpacket_traits<T>::type >
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:240:54: error: expected ‘>’ before ‘unpacket_traits’
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:251:8: error: ‘generic_i1e’ is not a class template
> 251 | struct generic_i1e<T, float> {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:251:28: error: redeclared with 1 template parameter
> 251 | struct generic_i1e<T, float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:241:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_i1e’ used 2 template parameters
> 241 | struct generic_i1e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:319:8: error: ‘generic_i1e’ is not a class template
> 319 | struct generic_i1e<T, double> {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:319:29: error: redeclared with 1 template parameter
> 319 | struct generic_i1e<T, double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:241:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_i1e’ used 2 template parameters
> 241 | struct generic_i1e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::bessel_i1e_impl<T>::run(T)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:403:12: error: ‘generic_i1e’ was not declared in this scope; did you mean ‘Eigen::internal::generic_i1e’?
> 403 | return generic_i1e<T>::run(x);
> | ^~~~~~~~~~~
> | Eigen::internal::generic_i1e
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:241:8: note: ‘Eigen::internal::generic_i1e’ declared here
> 241 | struct generic_i1e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:403:25: error: expected primary-expression before ‘>’ token
> 403 | return generic_i1e<T>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:403:28: error: ‘::run’ has not been declared
> 403 | return generic_i1e<T>::run(x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:412:54: error: expected nested-name-specifier before ‘unpacket_traits’
> 412 | template <typename T, typename ScalarType = typename unpacket_traits<T>::type>
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:412:54: error: expected ‘>’ before ‘unpacket_traits’
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::generic_i1<T, ScalarType>::run(const T&)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:418:9: error: ‘generic_i1e’ was not declared in this scope; did you mean ‘Eigen::internal::generic_i1e’?
> 418 | generic_i1e<T, ScalarType>::run(x));
> | ^~~~~~~~~~~
> | Eigen::internal::generic_i1e
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:241:8: note: ‘Eigen::internal::generic_i1e’ declared here
> 241 | struct generic_i1e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:418:22: error: expected primary-expression before ‘,’ token
> 418 | generic_i1e<T, ScalarType>::run(x));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:418:34: error: expected primary-expression before ‘>’ token
> 418 | generic_i1e<T, ScalarType>::run(x));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:418:37: error: ‘::run’ has not been declared
> 418 | generic_i1e<T, ScalarType>::run(x));
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::bessel_i1_impl<T>::run(T)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:426:12: error: ‘generic_i1’ was not declared in this scope; did you mean ‘Eigen::internal::generic_i1’?
> 426 | return generic_i1<T>::run(x);
> | ^~~~~~~~~~
> | Eigen::internal::generic_i1
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:413:8: note: ‘Eigen::internal::generic_i1’ declared here
> 413 | struct generic_i1 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:426:24: error: expected primary-expression before ‘>’ token
> 426 | return generic_i1<T>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:426:27: error: ‘::run’ has not been declared
> 426 | return generic_i1<T>::run(x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:435:54: error: expected nested-name-specifier before ‘unpacket_traits’
> 435 | template <typename T, typename ScalarType = typename unpacket_traits<T>::type>
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:435:54: error: expected ‘>’ before ‘unpacket_traits’
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:446:8: error: ‘generic_k0e’ is not a class template
> 446 | struct generic_k0e<T, float> {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:446:28: error: redeclared with 1 template parameter
> 446 | struct generic_k0e<T, float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:436:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_k0e’ used 2 template parameters
> 436 | struct generic_k0e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:509:8: error: ‘generic_k0e’ is not a class template
> 509 | struct generic_k0e<T, double> {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:509:29: error: redeclared with 1 template parameter
> 509 | struct generic_k0e<T, double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:436:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_k0e’ used 2 template parameters
> 436 | struct generic_k0e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::bessel_k0e_impl<T>::run(T)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:589:12: error: ‘generic_k0e’ was not declared in this scope; did you mean ‘Eigen::internal::generic_k0e’?
> 589 | return generic_k0e<T>::run(x);
> | ^~~~~~~~~~~
> | Eigen::internal::generic_k0e
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:436:8: note: ‘Eigen::internal::generic_k0e’ declared here
> 436 | struct generic_k0e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:589:25: error: expected primary-expression before ‘>’ token
> 589 | return generic_k0e<T>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:589:28: error: ‘::run’ has not been declared
> 589 | return generic_k0e<T>::run(x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:598:54: error: expected nested-name-specifier before ‘unpacket_traits’
> 598 | template <typename T, typename ScalarType = typename unpacket_traits<T>::type>
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:598:54: error: expected ‘>’ before ‘unpacket_traits’
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:609:8: error: ‘generic_k0’ is not a class template
> 609 | struct generic_k0<T, float> {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:609:27: error: redeclared with 1 template parameter
> 609 | struct generic_k0<T, float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:599:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_k0’ used 2 template parameters
> 599 | struct generic_k0 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:680:8: error: ‘generic_k0’ is not a class template
> 680 | struct generic_k0<T, double> {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:680:28: error: redeclared with 1 template parameter
> 680 | struct generic_k0<T, double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:599:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_k0’ used 2 template parameters
> 599 | struct generic_k0 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::bessel_k0_impl<T>::run(T)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:761:12: error: ‘generic_k0’ was not declared in this scope; did you mean ‘Eigen::internal::generic_k0’?
> 761 | return generic_k0<T>::run(x);
> | ^~~~~~~~~~
> | Eigen::internal::generic_k0
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:599:8: note: ‘Eigen::internal::generic_k0’ declared here
> 599 | struct generic_k0 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:761:24: error: expected primary-expression before ‘>’ token
> 761 | return generic_k0<T>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:761:27: error: ‘::run’ has not been declared
> 761 | return generic_k0<T>::run(x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:770:54: error: expected nested-name-specifier before ‘unpacket_traits’
> 770 | template <typename T, typename ScalarType = typename unpacket_traits<T>::type>
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:770:54: error: expected ‘>’ before ‘unpacket_traits’
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:781:8: error: ‘generic_k1e’ is not a class template
> 781 | struct generic_k1e<T, float> {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:781:28: error: redeclared with 1 template parameter
> 781 | struct generic_k1e<T, float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:771:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_k1e’ used 2 template parameters
> 771 | struct generic_k1e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:843:8: error: ‘generic_k1e’ is not a class template
> 843 | struct generic_k1e<T, double> {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:843:29: error: redeclared with 1 template parameter
> 843 | struct generic_k1e<T, double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:771:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_k1e’ used 2 template parameters
> 771 | struct generic_k1e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::bessel_k1e_impl<T>::run(T)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:917:12: error: ‘generic_k1e’ was not declared in this scope; did you mean ‘Eigen::internal::generic_k1e’?
> 917 | return generic_k1e<T>::run(x);
> | ^~~~~~~~~~~
> | Eigen::internal::generic_k1e
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:771:8: note: ‘Eigen::internal::generic_k1e’ declared here
> 771 | struct generic_k1e {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:917:25: error: expected primary-expression before ‘>’ token
> 917 | return generic_k1e<T>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:917:28: error: ‘::run’ has not been declared
> 917 | return generic_k1e<T>::run(x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:926:54: error: expected nested-name-specifier before ‘unpacket_traits’
> 926 | template <typename T, typename ScalarType = typename unpacket_traits<T>::type>
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:926:54: error: expected ‘>’ before ‘unpacket_traits’
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:937:8: error: ‘generic_k1’ is not a class template
> 937 | struct generic_k1<T, float> {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:937:27: error: redeclared with 1 template parameter
> 937 | struct generic_k1<T, float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:927:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_k1’ used 2 template parameters
> 927 | struct generic_k1 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1004:8: error: ‘generic_k1’ is not a class template
> 1004 | struct generic_k1<T, double> {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1004:28: error: redeclared with 1 template parameter
> 1004 | struct generic_k1<T, double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:927:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_k1’ used 2 template parameters
> 927 | struct generic_k1 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::bessel_k1_impl<T>::run(T)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1083:12: error: ‘generic_k1’ was not declared in this scope; did you mean ‘Eigen::internal::generic_k1’?
> 1083 | return generic_k1<T>::run(x);
> | ^~~~~~~~~~
> | Eigen::internal::generic_k1
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:927:8: note: ‘Eigen::internal::generic_k1’ declared here
> 927 | struct generic_k1 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1083:24: error: expected primary-expression before ‘>’ token
> 1083 | return generic_k1<T>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1083:27: error: ‘::run’ has not been declared
> 1083 | return generic_k1<T>::run(x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1092:54: error: expected nested-name-specifier before ‘unpacket_traits’
> 1092 | template <typename T, typename ScalarType = typename unpacket_traits<T>::type>
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1092:54: error: expected ‘>’ before ‘unpacket_traits’
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1103:8: error: ‘generic_j0’ is not a class template
> 1103 | struct generic_j0<T, float> {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1103:27: error: redeclared with 1 template parameter
> 1103 | struct generic_j0<T, float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1093:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_j0’ used 2 template parameters
> 1093 | struct generic_j0 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1182:8: error: ‘generic_j0’ is not a class template
> 1182 | struct generic_j0<T, double> {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1182:28: error: redeclared with 1 template parameter
> 1182 | struct generic_j0<T, double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1093:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_j0’ used 2 template parameters
> 1093 | struct generic_j0 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::bessel_j0_impl<T>::run(T)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1283:12: error: ‘generic_j0’ was not declared in this scope; did you mean ‘Eigen::internal::generic_j0’?
> 1283 | return generic_j0<T>::run(x);
> | ^~~~~~~~~~
> | Eigen::internal::generic_j0
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1093:8: note: ‘Eigen::internal::generic_j0’ declared here
> 1093 | struct generic_j0 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1283:24: error: expected primary-expression before ‘>’ token
> 1283 | return generic_j0<T>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1283:27: error: ‘::run’ has not been declared
> 1283 | return generic_j0<T>::run(x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1292:54: error: expected nested-name-specifier before ‘unpacket_traits’
> 1292 | template <typename T, typename ScalarType = typename unpacket_traits<T>::type>
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1292:54: error: expected ‘>’ before ‘unpacket_traits’
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1303:8: error: ‘generic_y0’ is not a class template
> 1303 | struct generic_y0<T, float> {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1303:27: error: redeclared with 1 template parameter
> 1303 | struct generic_y0<T, float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1293:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_y0’ used 2 template parameters
> 1293 | struct generic_y0 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1385:8: error: ‘generic_y0’ is not a class template
> 1385 | struct generic_y0<T, double> {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1385:28: error: redeclared with 1 template parameter
> 1385 | struct generic_y0<T, double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1293:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_y0’ used 2 template parameters
> 1293 | struct generic_y0 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::bessel_y0_impl<T>::run(T)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1481:12: error: ‘generic_y0’ was not declared in this scope; did you mean ‘Eigen::internal::generic_y0’?
> 1481 | return generic_y0<T>::run(x);
> | ^~~~~~~~~~
> | Eigen::internal::generic_y0
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1293:8: note: ‘Eigen::internal::generic_y0’ declared here
> 1293 | struct generic_y0 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1481:24: error: expected primary-expression before ‘>’ token
> 1481 | return generic_y0<T>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1481:27: error: ‘::run’ has not been declared
> 1481 | return generic_y0<T>::run(x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1490:54: error: expected nested-name-specifier before ‘unpacket_traits’
> 1490 | template <typename T, typename ScalarType = typename unpacket_traits<T>::type>
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1490:54: error: expected ‘>’ before ‘unpacket_traits’
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1501:8: error: ‘generic_j1’ is not a class template
> 1501 | struct generic_j1<T, float> {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1501:27: error: redeclared with 1 template parameter
> 1501 | struct generic_j1<T, float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1491:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_j1’ used 2 template parameters
> 1491 | struct generic_j1 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1581:8: error: ‘generic_j1’ is not a class template
> 1581 | struct generic_j1<T, double> {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1581:28: error: redeclared with 1 template parameter
> 1581 | struct generic_j1<T, double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1491:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_j1’ used 2 template parameters
> 1491 | struct generic_j1 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::bessel_j1_impl<T>::run(T)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1672:12: error: ‘generic_j1’ was not declared in this scope; did you mean ‘Eigen::internal::generic_j1’?
> 1672 | return generic_j1<T>::run(x);
> | ^~~~~~~~~~
> | Eigen::internal::generic_j1
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1491:8: note: ‘Eigen::internal::generic_j1’ declared here
> 1491 | struct generic_j1 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1672:24: error: expected primary-expression before ‘>’ token
> 1672 | return generic_j1<T>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1672:27: error: ‘::run’ has not been declared
> 1672 | return generic_j1<T>::run(x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1681:54: error: expected nested-name-specifier before ‘unpacket_traits’
> 1681 | template <typename T, typename ScalarType = typename unpacket_traits<T>::type>
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1681:54: error: expected ‘>’ before ‘unpacket_traits’
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1692:8: error: ‘generic_y1’ is not a class template
> 1692 | struct generic_y1<T, float> {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1692:27: error: redeclared with 1 template parameter
> 1692 | struct generic_y1<T, float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1682:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_y1’ used 2 template parameters
> 1682 | struct generic_y1 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1779:8: error: ‘generic_y1’ is not a class template
> 1779 | struct generic_y1<T, double> {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1779:28: error: redeclared with 1 template parameter
> 1779 | struct generic_y1<T, double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1682:8: note: previous declaration ‘template<class T, class ScalarType> struct Eigen::internal::generic_y1’ used 2 template parameters
> 1682 | struct generic_y1 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In static member function ‘static T Eigen::internal::bessel_y1_impl<T>::run(T)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1875:12: error: ‘generic_y1’ was not declared in this scope; did you mean ‘Eigen::internal::generic_y1’?
> 1875 | return generic_y1<T>::run(x);
> | ^~~~~~~~~~
> | Eigen::internal::generic_y1
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1682:8: note: ‘Eigen::internal::generic_y1’ declared here
> 1682 | struct generic_y1 {
> | ^~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1875:24: error: expected primary-expression before ‘>’ token
> 1875 | return generic_y1<T>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1875:27: error: ‘::run’ has not been declared
> 1875 | return generic_y1<T>::run(x);
> | ^~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:64,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h:16:89: error: ‘bessel_i0’ is not a template function
> 16 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 bessel_i0(const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h:20:90: error: ‘bessel_i0e’ is not a template function
> 20 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 bessel_i0e(const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h:24:89: error: ‘bessel_i1’ is not a template function
> 24 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 bessel_i1(const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h:28:90: error: ‘bessel_i1e’ is not a template function
> 28 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 bessel_i1e(const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h:32:89: error: ‘bessel_j0’ is not a template function
> 32 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 bessel_j0(const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h:36:89: error: ‘bessel_j1’ is not a template function
> 36 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 bessel_j1(const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h:40:89: error: ‘bessel_y0’ is not a template function
> 40 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 bessel_y0(const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h:44:89: error: ‘bessel_y1’ is not a template function
> 44 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 bessel_y1(const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h:48:89: error: ‘bessel_k0’ is not a template function
> 48 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 bessel_k0(const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h:52:90: error: ‘bessel_k0e’ is not a template function
> 52 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 bessel_k0e(const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h:56:89: error: ‘bessel_k1’ is not a template function
> 56 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 bessel_k1(const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h:60:90: error: ‘bessel_k1e’ is not a template function
> 60 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 bessel_k1e(const Eigen::bfloat16& x) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:65,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:16:81: error: ‘bessel_i0’ is not a template function
> 16 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_i0(const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:20:82: error: ‘bessel_i0e’ is not a template function
> 20 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_i0e(const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:24:81: error: ‘bessel_i1’ is not a template function
> 24 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_i1(const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:28:82: error: ‘bessel_i1e’ is not a template function
> 28 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_i1e(const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:35:81: error: ‘bessel_j1’ is not a template function
> 35 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_j1(const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:39:81: error: ‘bessel_y0’ is not a template function
> 39 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_y0(const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:43:81: error: ‘bessel_y1’ is not a template function
> 43 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_y1(const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:50:82: error: ‘bessel_k0e’ is not a template function
> 50 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_k0e(const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:54:81: error: ‘bessel_k1’ is not a template function
> 54 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_k1(const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:58:82: error: ‘bessel_k1e’ is not a template function
> 58 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_k1e(const Eigen::half& x) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:30:20: error: expected nested-name-specifier before ‘packet_traits’
> 30 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:30:20: error: expected ‘;’ at end of member declaration
> 30 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:30:33: error: expected unqualified-id before ‘<’ token
> 30 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:31:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 31 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x) const {
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:36:8: error: ‘functor_traits’ is not a class template
> 36 | struct functor_traits<scalar_bessel_i0_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:36:23: error: ‘scalar_bessel_i0_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_bessel_i0_op’?
> 36 | struct functor_traits<scalar_bessel_i0_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_bessel_i0_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:226:34: note: ‘Eigen::internal::scalar_bessel_i0_op’ declared here
> 226 | template<typename Scalar> struct scalar_bessel_i0_op;
> | ^~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:36:8: error: template argument required for ‘struct functor_traits’
> 36 | struct functor_traits<scalar_bessel_i0_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:36:51: error: expected unqualified-id before ‘>’ token
> 36 | struct functor_traits<scalar_bessel_i0_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:58:20: error: expected nested-name-specifier before ‘packet_traits’
> 58 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:58:20: error: expected ‘;’ at end of member declaration
> 58 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:58:33: error: expected unqualified-id before ‘<’ token
> 58 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:59:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 59 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x) const {
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:64:8: error: ‘functor_traits’ is not a class template
> 64 | struct functor_traits<scalar_bessel_i0e_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:64:23: error: ‘scalar_bessel_i0e_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_bessel_i0e_op’?
> 64 | struct functor_traits<scalar_bessel_i0e_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_bessel_i0e_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:227:34: note: ‘Eigen::internal::scalar_bessel_i0e_op’ declared here
> 227 | template<typename Scalar> struct scalar_bessel_i0e_op;
> | ^~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:64:8: error: template argument required for ‘struct functor_traits’
> 64 | struct functor_traits<scalar_bessel_i0e_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:64:52: error: expected unqualified-id before ‘>’ token
> 64 | struct functor_traits<scalar_bessel_i0e_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:85:20: error: expected nested-name-specifier before ‘packet_traits’
> 85 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:85:20: error: expected ‘;’ at end of member declaration
> 85 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:85:33: error: expected unqualified-id before ‘<’ token
> 85 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:86:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 86 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x) const {
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:91:8: error: ‘functor_traits’ is not a class template
> 91 | struct functor_traits<scalar_bessel_i1_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:91:23: error: ‘scalar_bessel_i1_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_bessel_i1_op’?
> 91 | struct functor_traits<scalar_bessel_i1_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_bessel_i1_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:228:34: note: ‘Eigen::internal::scalar_bessel_i1_op’ declared here
> 228 | template<typename Scalar> struct scalar_bessel_i1_op;
> | ^~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:91:8: error: template argument required for ‘struct functor_traits’
> 91 | struct functor_traits<scalar_bessel_i1_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:91:51: error: expected unqualified-id before ‘>’ token
> 91 | struct functor_traits<scalar_bessel_i1_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:113:20: error: expected nested-name-specifier before ‘packet_traits’
> 113 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:113:20: error: expected ‘;’ at end of member declaration
> 113 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:113:33: error: expected unqualified-id before ‘<’ token
> 113 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:114:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 114 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x) const {
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:119:8: error: ‘functor_traits’ is not a class template
> 119 | struct functor_traits<scalar_bessel_i1e_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:119:23: error: ‘scalar_bessel_i1e_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_bessel_i1e_op’?
> 119 | struct functor_traits<scalar_bessel_i1e_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_bessel_i1e_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:229:34: note: ‘Eigen::internal::scalar_bessel_i1e_op’ declared here
> 229 | template<typename Scalar> struct scalar_bessel_i1e_op;
> | ^~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:119:8: error: template argument required for ‘struct functor_traits’
> 119 | struct functor_traits<scalar_bessel_i1e_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:119:52: error: expected unqualified-id before ‘>’ token
> 119 | struct functor_traits<scalar_bessel_i1e_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:140:20: error: expected nested-name-specifier before ‘packet_traits’
> 140 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:140:20: error: expected ‘;’ at end of member declaration
> 140 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:140:33: error: expected unqualified-id before ‘<’ token
> 140 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:141:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 141 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x) const {
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:146:8: error: ‘functor_traits’ is not a class template
> 146 | struct functor_traits<scalar_bessel_j0_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:146:23: error: ‘scalar_bessel_j0_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_bessel_j0_op’?
> 146 | struct functor_traits<scalar_bessel_j0_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_bessel_j0_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:230:34: note: ‘Eigen::internal::scalar_bessel_j0_op’ declared here
> 230 | template<typename Scalar> struct scalar_bessel_j0_op;
> | ^~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:146:8: error: template argument required for ‘struct functor_traits’
> 146 | struct functor_traits<scalar_bessel_j0_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:146:51: error: expected unqualified-id before ‘>’ token
> 146 | struct functor_traits<scalar_bessel_j0_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:168:20: error: expected nested-name-specifier before ‘packet_traits’
> 168 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:168:20: error: expected ‘;’ at end of member declaration
> 168 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:168:33: error: expected unqualified-id before ‘<’ token
> 168 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:169:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 169 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x) const {
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:174:8: error: ‘functor_traits’ is not a class template
> 174 | struct functor_traits<scalar_bessel_y0_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:174:23: error: ‘scalar_bessel_y0_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_bessel_y0_op’?
> 174 | struct functor_traits<scalar_bessel_y0_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_bessel_y0_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:231:34: note: ‘Eigen::internal::scalar_bessel_y0_op’ declared here
> 231 | template<typename Scalar> struct scalar_bessel_y0_op;
> | ^~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:174:8: error: template argument required for ‘struct functor_traits’
> 174 | struct functor_traits<scalar_bessel_y0_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:174:51: error: expected unqualified-id before ‘>’ token
> 174 | struct functor_traits<scalar_bessel_y0_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:196:20: error: expected nested-name-specifier before ‘packet_traits’
> 196 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:196:20: error: expected ‘;’ at end of member declaration
> 196 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:196:33: error: expected unqualified-id before ‘<’ token
> 196 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:197:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 197 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x) const {
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:202:8: error: ‘functor_traits’ is not a class template
> 202 | struct functor_traits<scalar_bessel_j1_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:202:23: error: ‘scalar_bessel_j1_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_bessel_j1_op’?
> 202 | struct functor_traits<scalar_bessel_j1_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_bessel_j1_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:232:34: note: ‘Eigen::internal::scalar_bessel_j1_op’ declared here
> 232 | template<typename Scalar> struct scalar_bessel_j1_op;
> | ^~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:202:8: error: template argument required for ‘struct functor_traits’
> 202 | struct functor_traits<scalar_bessel_j1_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:202:51: error: expected unqualified-id before ‘>’ token
> 202 | struct functor_traits<scalar_bessel_j1_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:224:20: error: expected nested-name-specifier before ‘packet_traits’
> 224 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:224:20: error: expected ‘;’ at end of member declaration
> 224 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:224:33: error: expected unqualified-id before ‘<’ token
> 224 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:225:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 225 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x) const {
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:230:8: error: ‘functor_traits’ is not a class template
> 230 | struct functor_traits<scalar_bessel_y1_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:230:23: error: ‘scalar_bessel_y1_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_bessel_y1_op’?
> 230 | struct functor_traits<scalar_bessel_y1_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_bessel_y1_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:233:34: note: ‘Eigen::internal::scalar_bessel_y1_op’ declared here
> 233 | template<typename Scalar> struct scalar_bessel_y1_op;
> | ^~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:230:8: error: template argument required for ‘struct functor_traits’
> 230 | struct functor_traits<scalar_bessel_y1_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:230:51: error: expected unqualified-id before ‘>’ token
> 230 | struct functor_traits<scalar_bessel_y1_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:252:20: error: expected nested-name-specifier before ‘packet_traits’
> 252 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:252:20: error: expected ‘;’ at end of member declaration
> 252 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:252:33: error: expected unqualified-id before ‘<’ token
> 252 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:253:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 253 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x) const {
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:258:8: error: ‘functor_traits’ is not a class template
> 258 | struct functor_traits<scalar_bessel_k0_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:258:23: error: ‘scalar_bessel_k0_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_bessel_k0_op’?
> 258 | struct functor_traits<scalar_bessel_k0_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_bessel_k0_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:234:34: note: ‘Eigen::internal::scalar_bessel_k0_op’ declared here
> 234 | template<typename Scalar> struct scalar_bessel_k0_op;
> | ^~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:258:8: error: template argument required for ‘struct functor_traits’
> 258 | struct functor_traits<scalar_bessel_k0_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:258:51: error: expected unqualified-id before ‘>’ token
> 258 | struct functor_traits<scalar_bessel_k0_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:280:20: error: expected nested-name-specifier before ‘packet_traits’
> 280 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:280:20: error: expected ‘;’ at end of member declaration
> 280 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:280:33: error: expected unqualified-id before ‘<’ token
> 280 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:281:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 281 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x) const {
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:286:8: error: ‘functor_traits’ is not a class template
> 286 | struct functor_traits<scalar_bessel_k0e_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:286:23: error: ‘scalar_bessel_k0e_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_bessel_k0e_op’?
> 286 | struct functor_traits<scalar_bessel_k0e_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_bessel_k0e_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:235:34: note: ‘Eigen::internal::scalar_bessel_k0e_op’ declared here
> 235 | template<typename Scalar> struct scalar_bessel_k0e_op;
> | ^~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:286:8: error: template argument required for ‘struct functor_traits’
> 286 | struct functor_traits<scalar_bessel_k0e_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:286:52: error: expected unqualified-id before ‘>’ token
> 286 | struct functor_traits<scalar_bessel_k0e_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:308:20: error: expected nested-name-specifier before ‘packet_traits’
> 308 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:308:20: error: expected ‘;’ at end of member declaration
> 308 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:308:33: error: expected unqualified-id before ‘<’ token
> 308 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:309:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 309 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x) const {
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:314:8: error: ‘functor_traits’ is not a class template
> 314 | struct functor_traits<scalar_bessel_k1_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:314:23: error: ‘scalar_bessel_k1_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_bessel_k1_op’?
> 314 | struct functor_traits<scalar_bessel_k1_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_bessel_k1_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:236:34: note: ‘Eigen::internal::scalar_bessel_k1_op’ declared here
> 236 | template<typename Scalar> struct scalar_bessel_k1_op;
> | ^~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:314:8: error: template argument required for ‘struct functor_traits’
> 314 | struct functor_traits<scalar_bessel_k1_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:314:51: error: expected unqualified-id before ‘>’ token
> 314 | struct functor_traits<scalar_bessel_k1_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:336:20: error: expected nested-name-specifier before ‘packet_traits’
> 336 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:336:20: error: expected ‘;’ at end of member declaration
> 336 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:336:33: error: expected unqualified-id before ‘<’ token
> 336 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:337:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 337 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x) const {
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:342:8: error: ‘functor_traits’ is not a class template
> 342 | struct functor_traits<scalar_bessel_k1e_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:342:23: error: ‘scalar_bessel_k1e_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_bessel_k1e_op’?
> 342 | struct functor_traits<scalar_bessel_k1e_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_bessel_k1e_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:237:34: note: ‘Eigen::internal::scalar_bessel_k1e_op’ declared here
> 237 | template<typename Scalar> struct scalar_bessel_k1e_op;
> | ^~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:67,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:342:8: error: template argument required for ‘struct functor_traits’
> 342 | struct functor_traits<scalar_bessel_k1e_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h:342:52: error: expected unqualified-id before ‘>’ token
> 342 | struct functor_traits<scalar_bessel_k1e_op<Scalar> > {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:73:8: error: ‘lgamma_impl’ is not a class template
> 73 | struct lgamma_impl<float> {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:73:25: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::lgamma_impl’
> 73 | struct lgamma_impl<float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:88:8: error: ‘lgamma_impl’ is not a class template
> 88 | struct lgamma_impl<double> {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:88:26: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::lgamma_impl’
> 88 | struct lgamma_impl<double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:139:8: error: ‘digamma_impl_maybe_poly’ is not a class template
> 139 | struct digamma_impl_maybe_poly<float> {
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:139:37: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::digamma_impl_maybe_poly’
> 139 | struct digamma_impl_maybe_poly<float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:158:8: error: ‘digamma_impl_maybe_poly’ is not a class template
> 158 | struct digamma_impl_maybe_poly<double> {
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:158:38: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::digamma_impl_maybe_poly’
> 158 | struct digamma_impl_maybe_poly<double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In static member function ‘static Scalar Eigen::internal::digamma_impl<Scalar>::run(Scalar)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:284:9: error: ‘digamma_impl_maybe_poly’ was not declared in this scope; did you mean ‘Eigen::internal::digamma_impl_maybe_poly’?
> 284 | y = digamma_impl_maybe_poly<Scalar>::run(s);
> | ^~~~~~~~~~~~~~~~~~~~~~~
> | Eigen::internal::digamma_impl_maybe_poly
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:128:8: note: ‘Eigen::internal::digamma_impl_maybe_poly’ declared here
> 128 | struct digamma_impl_maybe_poly {
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:284:39: error: expected primary-expression before ‘>’ token
> 284 | y = digamma_impl_maybe_poly<Scalar>::run(s);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:284:42: error: ‘::run’ has not been declared
> 284 | y = digamma_impl_maybe_poly<Scalar>::run(s);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In function ‘T Eigen::generic_fast_erf_float(const T&)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:307:20: error: ‘pset1’ was not declared in this scope; did you mean ‘Eigen::internal::pset1’?
> 307 | const T plus_4 = pset1<T>(4.f);
> | ^~~~~
> | Eigen::internal::pset1
> In file included from /usr/include/eigen3/Eigen/Core:172,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:615:1: note: ‘Eigen::internal::pset1’ declared here
> 615 | pset1(const typename unpacket_traits<Packet>::type& a) { return a; }
> | ^~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:307:27: error: expected primary-expression before ‘>’ token
> 307 | const T plus_4 = pset1<T>(4.f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:308:28: error: expected primary-expression before ‘>’ token
> 308 | const T minus_4 = pset1<T>(-4.f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:311:28: error: expected primary-expression before ‘>’ token
> 311 | const T alpha_1 = pset1<T>(-1.60960333262415e-02f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:312:28: error: expected primary-expression before ‘>’ token
> 312 | const T alpha_3 = pset1<T>(-2.95459980854025e-03f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:313:28: error: expected primary-expression before ‘>’ token
> 313 | const T alpha_5 = pset1<T>(-7.34990630326855e-04f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:314:28: error: expected primary-expression before ‘>’ token
> 314 | const T alpha_7 = pset1<T>(-5.69250639462346e-05f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:315:28: error: expected primary-expression before ‘>’ token
> 315 | const T alpha_9 = pset1<T>(-2.10102402082508e-06f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:316:29: error: expected primary-expression before ‘>’ token
> 316 | const T alpha_11 = pset1<T>(2.77068142495902e-08f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:317:29: error: expected primary-expression before ‘>’ token
> 317 | const T alpha_13 = pset1<T>(-2.72614225801306e-10f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:320:27: error: expected primary-expression before ‘>’ token
> 320 | const T beta_0 = pset1<T>(-1.42647390514189e-02f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:321:27: error: expected primary-expression before ‘>’ token
> 321 | const T beta_2 = pset1<T>(-7.37332916720468e-03f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:322:27: error: expected primary-expression before ‘>’ token
> 322 | const T beta_4 = pset1<T>(-1.68282697438203e-03f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:323:27: error: expected primary-expression before ‘>’ token
> 323 | const T beta_6 = pset1<T>(-2.13374055278905e-04f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:324:27: error: expected primary-expression before ‘>’ token
> 324 | const T beta_8 = pset1<T>(-1.45660718464996e-05f);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:363:8: error: ‘erf_impl’ is not a class template
> 363 | struct erf_impl<float> {
> | ^~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:363:22: error: template specifiers not specified in declaration of ‘template<class T> struct Eigen::internal::erf_impl’
> 363 | struct erf_impl<float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:375:8: error: ‘erf_impl’ is not a class template
> 375 | struct erf_impl<double> {
> | ^~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:375:23: error: template specifiers not specified in declaration of ‘template<class T> struct Eigen::internal::erf_impl’
> 375 | struct erf_impl<double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:408:8: error: ‘erfc_impl’ is not a class template
> 408 | struct erfc_impl<float> {
> | ^~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:408:23: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::erfc_impl’
> 408 | struct erfc_impl<float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:420:8: error: ‘erfc_impl’ is not a class template
> 420 | struct erfc_impl<double> {
> | ^~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:420:24: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::erfc_impl’
> 420 | struct erfc_impl<double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In function ‘T Eigen::flipsign(const T&, const T&)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:493:20: error: expected nested-name-specifier before ‘unpacket_traits’
> 493 | typedef typename unpacket_traits<T>::type Scalar;
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:493:35: error: expected initializer before ‘<’ token
> 493 | typedef typename unpacket_traits<T>::type Scalar;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:494:23: error: ‘pset1’ was not declared in this scope; did you mean ‘Eigen::internal::pset1’?
> 494 | const T sign_mask = pset1<T>(Scalar(-0.0));
> | ^~~~~
> | Eigen::internal::pset1
> In file included from /usr/include/eigen3/Eigen/Core:172,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:615:1: note: ‘Eigen::internal::pset1’ declared here
> 615 | pset1(const typename unpacket_traits<Packet>::type& a) { return a; }
> | ^~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:494:30: error: expected primary-expression before ‘>’ token
> 494 | const T sign_mask = pset1<T>(Scalar(-0.0));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:494:32: error: there are no arguments to ‘Scalar’ that depend on a template parameter, so a declaration of ‘Scalar’ must be available [-fpermissive]
> 494 | const T sign_mask = pset1<T>(Scalar(-0.0));
> | ^~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:494:32: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:495:16: error: ‘pand’ was not declared in this scope; did you mean ‘Eigen::internal::pand’?
> 495 | T sign_bit = pand<T>(should_flipsign, sign_mask);
> | ^~~~
> | Eigen::internal::pand
> In file included from /usr/include/eigen3/Eigen/Core:172,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:407:1: note: ‘Eigen::internal::pand’ declared here
> 407 | pand(const Packet& a, const Packet& b) {
> | ^~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:495:22: error: expected primary-expression before ‘>’ token
> 495 | T sign_bit = pand<T>(should_flipsign, sign_mask);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:496:10: error: ‘pxor’ was not declared in this scope; did you mean ‘Eigen::internal::pxor’?
> 496 | return pxor<T>(sign_bit, x);
> | ^~~~
> | Eigen::internal::pxor
> In file included from /usr/include/eigen3/Eigen/Core:172,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:419:1: note: ‘Eigen::internal::pxor’ declared here
> 419 | pxor(const Packet& a, const Packet& b) {
> | ^~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:496:16: error: expected primary-expression before ‘>’ token
> 496 | return pxor<T>(sign_bit, x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:500:54: error: expected initializer before ‘<’ token
> 500 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE double flipsign<double>(
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:506:53: error: expected initializer before ‘<’ token
> 506 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE float flipsign<float>(
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In function ‘T Eigen::generic_ndtri_gt_exp_neg_two(const T&)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:535:21: error: ‘pset1’ was not declared in this scope; did you mean ‘Eigen::internal::pset1’?
> 535 | const T sqrt2pi = pset1<T>(ScalarType(2.50662827463100050242e0));
> | ^~~~~
> | Eigen::internal::pset1
> In file included from /usr/include/eigen3/Eigen/Core:172,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:615:1: note: ‘Eigen::internal::pset1’ declared here
> 615 | pset1(const typename unpacket_traits<Packet>::type& a) { return a; }
> | ^~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:535:28: error: expected primary-expression before ‘>’ token
> 535 | const T sqrt2pi = pset1<T>(ScalarType(2.50662827463100050242e0));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:536:25: error: expected primary-expression before ‘>’ token
> 536 | const T half = pset1<T>(ScalarType(0.5));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In function ‘T Eigen::generic_ndtri_lt_exp_neg_two(const T&, const T&)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:601:19: error: ‘pset1’ was not declared in this scope; did you mean ‘Eigen::internal::pset1’?
> 601 | const T eight = pset1<T>(ScalarType(8.0));
> | ^~~~~
> | Eigen::internal::pset1
> In file included from /usr/include/eigen3/Eigen/Core:172,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:615:1: note: ‘Eigen::internal::pset1’ declared here
> 615 | pset1(const typename unpacket_traits<Packet>::type& a) { return a; }
> | ^~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:601:26: error: expected primary-expression before ‘>’ token
> 601 | const T eight = pset1<T>(ScalarType(8.0));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:602:24: error: expected primary-expression before ‘>’ token
> 602 | const T one = pset1<T>(ScalarType(1));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:603:28: error: expected primary-expression before ‘>’ token
> 603 | const T neg_two = pset1<T>(ScalarType(-2));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In function ‘T Eigen::generic_ndtri(const T&)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:622:20: error: ‘pset1’ was not declared in this scope; did you mean ‘Eigen::internal::pset1’?
> 622 | const T maxnum = pset1<T>(NumTraits<ScalarType>::infinity());
> | ^~~~~
> | Eigen::internal::pset1
> In file included from /usr/include/eigen3/Eigen/Core:172,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:615:1: note: ‘Eigen::internal::pset1’ declared here
> 615 | pset1(const typename unpacket_traits<Packet>::type& a) { return a; }
> | ^~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:622:27: error: expected primary-expression before ‘>’ token
> 622 | const T maxnum = pset1<T>(NumTraits<ScalarType>::infinity());
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:623:31: error: expected primary-expression before ‘>’ token
> 623 | const T neg_maxnum = pset1<T>(-NumTraits<ScalarType>::infinity());
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:625:25: error: expected primary-expression before ‘>’ token
> 625 | const T zero = pset1<T>(ScalarType(0));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:626:24: error: expected primary-expression before ‘>’ token
> 626 | const T one = pset1<T>(ScalarType(1));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:628:32: error: expected primary-expression before ‘>’ token
> 628 | const T exp_neg_two = pset1<T>(ScalarType(0.13533528323661269189));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:636:7: error: ‘generic_ndtri_gt_exp_neg_two’ was not declared in this scope; did you mean ‘Eigen::generic_ndtri_gt_exp_neg_two’?
> 636 | generic_ndtri_gt_exp_neg_two<T, ScalarType>(b),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | Eigen::generic_ndtri_gt_exp_neg_two
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:516:41: note: ‘Eigen::generic_ndtri_gt_exp_neg_two’ declared here
> 516 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T generic_ndtri_gt_exp_neg_two(const T& b) {
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:636:37: error: expected primary-expression before ‘,’ token
> 636 | generic_ndtri_gt_exp_neg_two<T, ScalarType>(b),
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:636:49: error: expected primary-expression before ‘>’ token
> 636 | generic_ndtri_gt_exp_neg_two<T, ScalarType>(b),
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:637:7: error: ‘generic_ndtri_lt_exp_neg_two’ was not declared in this scope; did you mean ‘Eigen::generic_ndtri_lt_exp_neg_two’?
> 637 | generic_ndtri_lt_exp_neg_two<T, ScalarType>(b, should_flipsign));
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | Eigen::generic_ndtri_lt_exp_neg_two
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:549:41: note: ‘Eigen::generic_ndtri_lt_exp_neg_two’ declared here
> 549 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T generic_ndtri_lt_exp_neg_two(
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:637:37: error: expected primary-expression before ‘,’ token
> 637 | generic_ndtri_lt_exp_neg_two<T, ScalarType>(b, should_flipsign));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:637:49: error: expected primary-expression before ‘>’ token
> 637 | generic_ndtri_lt_exp_neg_two<T, ScalarType>(b, should_flipsign));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In static member function ‘static Scalar Eigen::internal::ndtri_impl<Scalar>::run(Scalar)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:667:12: error: ‘generic_ndtri’ was not declared in this scope; did you mean ‘Eigen::generic_ndtri’?
> 667 | return generic_ndtri<Scalar, Scalar>(x);
> | ^~~~~~~~~~~~~
> | Eigen::generic_ndtri
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:621:3: note: ‘Eigen::generic_ndtri’ declared here
> 621 | T generic_ndtri(const T& a) {
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:667:32: error: expected primary-expression before ‘,’ token
> 667 | return generic_ndtri<Scalar, Scalar>(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:667:40: error: expected primary-expression before ‘>’ token
> 667 | return generic_ndtri<Scalar, Scalar>(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:695:8: error: ‘cephes_helper’ is not a class template
> 695 | struct cephes_helper<float> {
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:695:27: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::cephes_helper’
> 695 | struct cephes_helper<float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:713:8: error: ‘cephes_helper’ is not a class template
> 713 | struct cephes_helper<double> {
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:713:28: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::cephes_helper’
> 713 | struct cephes_helper<double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In function ‘Scalar Eigen::main_igamma_term(Scalar, Scalar)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:735:45: error: ‘lgamma_impl’ was not declared in this scope; did you mean ‘Eigen::internal::lgamma_impl’?
> 735 | Scalar logax = a * numext::log(x) - x - lgamma_impl<Scalar>::run(a);
> | ^~~~~~~~~~~
> | Eigen::internal::lgamma_impl
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:45:8: note: ‘Eigen::internal::lgamma_impl’ declared here
> 45 | struct lgamma_impl {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:735:63: error: expected primary-expression before ‘>’ token
> 735 | Scalar logax = a * numext::log(x) - x - lgamma_impl<Scalar>::run(a);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:735:66: error: ‘::run’ has not been declared
> 735 | Scalar logax = a * numext::log(x) - x - lgamma_impl<Scalar>::run(a);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:744:28: error: ‘IgammaComputationMode’ has not been declared
> 744 | template <typename Scalar, IgammaComputationMode mode>
> | ^~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In function ‘int Eigen::igamma_num_iterations()’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:749:7: error: ‘mode’ was not declared in this scope; did you mean ‘modf’?
> 749 | if (mode == VALUE) {
> | ^~~~
> | modf
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:749:15: error: ‘VALUE’ was not declared in this scope; did you mean ‘Eigen::internal::VALUE’?
> 749 | if (mode == VALUE) {
> | ^~~~~
> | Eigen::internal::VALUE
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:729:30: note: ‘Eigen::internal::VALUE’ declared here
> 729 | enum IgammaComputationMode { VALUE, DERIVATIVE, SAMPLE_DERIVATIVE };
> | ^~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:762:28: error: ‘IgammaComputationMode’ has not been declared
> 762 | template <typename Scalar, IgammaComputationMode mode>
> | ^~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:880:28: error: ‘IgammaComputationMode’ has not been declared
> 880 | template <typename Scalar, IgammaComputationMode mode>
> | ^~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In static member function ‘static Scalar Eigen::internal::igammac_impl<Scalar>::run(Scalar, Scalar)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1037:21: error: ‘igamma_series_impl’ was not declared in this scope; did you mean ‘Eigen::internal::igamma_series_impl’?
> 1037 | return (one - igamma_series_impl<Scalar, VALUE>::run(a, x));
> | ^~~~~~~~~~~~~~~~~~
> | Eigen::internal::igamma_series_impl
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:881:8: note: ‘Eigen::internal::igamma_series_impl’ declared here
> 881 | struct igamma_series_impl {
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1037:46: error: expected primary-expression before ‘,’ token
> 1037 | return (one - igamma_series_impl<Scalar, VALUE>::run(a, x));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1037:48: error: ‘VALUE’ was not declared in this scope; did you mean ‘Eigen::internal::VALUE’?
> 1037 | return (one - igamma_series_impl<Scalar, VALUE>::run(a, x));
> | ^~~~~
> | Eigen::internal::VALUE
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:729:30: note: ‘Eigen::internal::VALUE’ declared here
> 729 | enum IgammaComputationMode { VALUE, DERIVATIVE, SAMPLE_DERIVATIVE };
> | ^~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1037:56: error: ‘::run’ has not been declared
> 1037 | return (one - igamma_series_impl<Scalar, VALUE>::run(a, x));
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1040:12: error: ‘igammac_cf_impl’ was not declared in this scope; did you mean ‘Eigen::internal::igammac_cf_impl’?
> 1040 | return igammac_cf_impl<Scalar, VALUE>::run(a, x);
> | ^~~~~~~~~~~~~~~
> | Eigen::internal::igammac_cf_impl
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:763:8: note: ‘Eigen::internal::igammac_cf_impl’ declared here
> 763 | struct igammac_cf_impl {
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1040:34: error: expected primary-expression before ‘,’ token
> 1040 | return igammac_cf_impl<Scalar, VALUE>::run(a, x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1040:36: error: ‘VALUE’ was not declared in this scope; did you mean ‘Eigen::internal::VALUE’?
> 1040 | return igammac_cf_impl<Scalar, VALUE>::run(a, x);
> | ^~~~~
> | Eigen::internal::VALUE
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:729:30: note: ‘Eigen::internal::VALUE’ declared here
> 729 | enum IgammaComputationMode { VALUE, DERIVATIVE, SAMPLE_DERIVATIVE };
> | ^~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1040:44: error: ‘::run’ has not been declared
> 1040 | return igammac_cf_impl<Scalar, VALUE>::run(a, x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1064:28: error: ‘IgammaComputationMode’ has not been declared
> 1064 | template <typename Scalar, IgammaComputationMode mode>
> | ^~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1111:41: error: expected template-name before ‘<’ token
> 1111 | struct igamma_impl : igamma_generic_impl<Scalar, VALUE> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1111:41: error: expected ‘{’ before ‘<’ token
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1182:43: error: expected template-name before ‘<’ token
> 1182 | struct igamma_der_a_retval : igamma_retval<Scalar> {};
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1182:43: error: expected ‘{’ before ‘<’ token
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1185:47: error: expected template-name before ‘<’ token
> 1185 | struct igamma_der_a_impl : igamma_generic_impl<Scalar, DERIVATIVE> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1185:47: error: expected ‘{’ before ‘<’ token
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1203:53: error: expected template-name before ‘<’ token
> 1203 | struct gamma_sample_der_alpha_retval : igamma_retval<Scalar> {};
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1203:53: error: expected ‘{’ before ‘<’ token
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1207:26: error: expected template-name before ‘<’ token
> 1207 | : igamma_generic_impl<Scalar, SAMPLE_DERIVATIVE> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1207:26: error: expected ‘{’ before ‘<’ token
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1267:8: error: ‘zeta_impl_series’ is not a class template
> 1267 | struct zeta_impl_series<float> {
> | ^~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1267:30: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::zeta_impl_series’
> 1267 | struct zeta_impl_series<float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1287:8: error: ‘zeta_impl_series’ is not a class template
> 1287 | struct zeta_impl_series<double> {
> | ^~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1287:31: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::zeta_impl_series’
> 1287 | struct zeta_impl_series<double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In static member function ‘static Scalar Eigen::internal::zeta_impl<Scalar>::run(Scalar, Scalar)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1391:31: error: ‘cephes_helper’ was not declared in this scope; did you mean ‘Eigen::internal::cephes_helper’?
> 1391 | const Scalar machep = cephes_helper<Scalar>::machep();
> | ^~~~~~~~~~~~~
> | Eigen::internal::cephes_helper
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:685:8: note: ‘Eigen::internal::cephes_helper’ declared here
> 685 | struct cephes_helper {
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1391:51: error: expected primary-expression before ‘>’ token
> 1391 | const Scalar machep = cephes_helper<Scalar>::machep();
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1391:54: error: ‘::machep’ has not been declared
> 1391 | const Scalar machep = cephes_helper<Scalar>::machep();
> | ^~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1428:13: error: ‘zeta_impl_series’ was not declared in this scope; did you mean ‘Eigen::internal::zeta_impl_series’?
> 1428 | if (zeta_impl_series<Scalar>::run(a, b, s, x, machep)) {
> | ^~~~~~~~~~~~~~~~
> | Eigen::internal::zeta_impl_series
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1257:8: note: ‘Eigen::internal::zeta_impl_series’ declared here
> 1257 | struct zeta_impl_series {
> | ^~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1428:36: error: expected primary-expression before ‘>’ token
> 1428 | if (zeta_impl_series<Scalar>::run(a, b, s, x, machep)) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1428:39: error: ‘::run’ has not been declared
> 1428 | if (zeta_impl_series<Scalar>::run(a, b, s, x, machep)) {
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In static member function ‘static Scalar Eigen::internal::polygamma_impl<Scalar>::run(Scalar, Scalar)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1493:20: error: ‘digamma_impl’ was not declared in this scope; did you mean ‘Eigen::internal::digamma_impl’?
> 1493 | return digamma_impl<Scalar>::run(x);
> | ^~~~~~~~~~~~
> | Eigen::internal::digamma_impl
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:181:8: note: ‘Eigen::internal::digamma_impl’ declared here
> 181 | struct digamma_impl {
> | ^~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1493:39: error: expected primary-expression before ‘>’ token
> 1493 | return digamma_impl<Scalar>::run(x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1493:42: error: ‘::run’ has not been declared
> 1493 | return digamma_impl<Scalar>::run(x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1497:44: error: ‘lgamma_impl’ was not declared in this scope; did you mean ‘Eigen::internal::lgamma_impl’?
> 1497 | Scalar factorial = numext::exp(lgamma_impl<Scalar>::run(nplus));
> | ^~~~~~~~~~~
> | Eigen::internal::lgamma_impl
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:45:8: note: ‘Eigen::internal::lgamma_impl’ declared here
> 45 | struct lgamma_impl {
> | ^~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1497:62: error: expected primary-expression before ‘>’ token
> 1497 | Scalar factorial = numext::exp(lgamma_impl<Scalar>::run(nplus));
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1497:65: error: ‘::run’ has not been declared
> 1497 | Scalar factorial = numext::exp(lgamma_impl<Scalar>::run(nplus));
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1498:59: error: ‘zeta_impl’ was not declared in this scope; did you mean ‘Eigen::internal::zeta_impl’?
> 1498 | return numext::pow(-one, nplus) * factorial * zeta_impl<Scalar>::run(nplus, x);
> | ^~~~~~~~~
> | Eigen::internal::zeta_impl
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1307:8: note: ‘Eigen::internal::zeta_impl’ declared here
> 1307 | struct zeta_impl {
> | ^~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1498:75: error: expected primary-expression before ‘>’ token
> 1498 | return numext::pow(-one, nplus) * factorial * zeta_impl<Scalar>::run(nplus, x);
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1498:78: error: ‘::run’ has not been declared
> 1498 | return numext::pow(-one, nplus) * factorial * zeta_impl<Scalar>::run(nplus, x);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In static member function ‘static Scalar Eigen::internal::incbeta_cfe<Scalar>::run(Scalar, Scalar, Scalar, bool)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1617:24: error: ‘cephes_helper’ was not declared in this scope; did you mean ‘Eigen::internal::cephes_helper’?
> 1617 | const Scalar big = cephes_helper<Scalar>::big();
> | ^~~~~~~~~~~~~
> | Eigen::internal::cephes_helper
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:685:8: note: ‘Eigen::internal::cephes_helper’ declared here
> 685 | struct cephes_helper {
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1617:44: error: expected primary-expression before ‘>’ token
> 1617 | const Scalar big = cephes_helper<Scalar>::big();
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1617:47: error: ‘::big’ has not been declared
> 1617 | const Scalar big = cephes_helper<Scalar>::big();
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1618:47: error: expected primary-expression before ‘>’ token
> 1618 | const Scalar machep = cephes_helper<Scalar>::machep();
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1618:50: error: ‘::machep’ has not been declared
> 1618 | const Scalar machep = cephes_helper<Scalar>::machep();
> | ^~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1619:47: error: expected primary-expression before ‘>’ token
> 1619 | const Scalar biginv = cephes_helper<Scalar>::biginv();
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1619:50: error: ‘::biginv’ has not been declared
> 1619 | const Scalar biginv = cephes_helper<Scalar>::biginv();
> | ^~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1722:8: error: ‘betainc_helper’ is not a class template
> 1722 | struct betainc_helper<float> {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1722:28: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::betainc_helper’
> 1722 | struct betainc_helper<float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1799:8: error: ‘betainc_impl’ is not a class template
> 1799 | struct betainc_impl<float> {
> | ^~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1799:26: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::betainc_impl’
> 1799 | struct betainc_impl<float> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1828:8: error: ‘betainc_helper’ is not a class template
> 1828 | struct betainc_helper<double> {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1828:29: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::betainc_helper’
> 1828 | struct betainc_helper<double> {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1868:8: error: ‘betainc_impl’ is not a class template
> 1868 | struct betainc_impl<double> {
> | ^~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1868:27: error: template specifiers not specified in declaration of ‘template<class Scalar> struct Eigen::internal::betainc_impl’
> 1868 | struct betainc_impl<double> {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:73,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:15:97: error: specialization of ‘template<class Scalar> typename Eigen::internal::lgamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::lgamma(const Scalar&)’ in different namespace [-fpermissive]
> 15 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 lgamma(const Eigen::bfloat16& a) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1972:5: note: from definition of ‘template<class Scalar> typename Eigen::internal::lgamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::lgamma(const Scalar&)’
> 1972 | lgamma(const Scalar& x) {
> | ^~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:73,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h: In function ‘typename Eigen::internal::lgamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::lgamma(const Scalar&) [with Scalar = Eigen::bfloat16; typename Eigen::internal::lgamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = Eigen::bfloat16; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = Eigen::bfloat16]’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:16:41: error: ‘lgamma’ is not a member of ‘Eigen::numext’; did you mean ‘igamma’?
> 16 | return Eigen::bfloat16(Eigen::numext::lgamma(static_cast<float>(a)));
> | ^~~~~~
> | igamma
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:18:98: error: specialization of ‘template<class Scalar> typename Eigen::internal::digamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::digamma(const Scalar&)’ in different namespace [-fpermissive]
> 18 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 digamma(const Eigen::bfloat16& a) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1978:5: note: from definition of ‘template<class Scalar> typename Eigen::internal::digamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::digamma(const Scalar&)’
> 1978 | digamma(const Scalar& x) {
> | ^~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:73,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h: In function ‘typename Eigen::internal::digamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::digamma(const Scalar&) [with Scalar = Eigen::bfloat16; typename Eigen::internal::digamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = Eigen::bfloat16; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = Eigen::bfloat16]’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:19:41: error: ‘digamma’ is not a member of ‘Eigen::numext’; did you mean ‘igamma’?
> 19 | return Eigen::bfloat16(Eigen::numext::digamma(static_cast<float>(a)));
> | ^~~~~~~
> | igamma
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:21:121: error: ‘zeta’ is not a template function
> 21 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 zeta(const Eigen::bfloat16& x, const Eigen::bfloat16& q) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:24:126: error: ‘polygamma’ is not a template function
> 24 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 polygamma(const Eigen::bfloat16& n, const Eigen::bfloat16& x) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:73,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:27:94: error: specialization of ‘template<class Scalar> typename Eigen::internal::erf_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::erf(const Scalar&)’ in different namespace [-fpermissive]
> 27 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 erf(const Eigen::bfloat16& a) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1996:5: note: from definition of ‘template<class Scalar> typename Eigen::internal::erf_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::erf(const Scalar&)’
> 1996 | erf(const Scalar& x) {
> | ^~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:73,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h: In function ‘typename Eigen::internal::erf_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::erf(const Scalar&) [with Scalar = Eigen::bfloat16; typename Eigen::internal::erf_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = Eigen::bfloat16; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = Eigen::bfloat16]’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:28:41: error: ‘erf’ is not a member of ‘Eigen::numext’
> 28 | return Eigen::bfloat16(Eigen::numext::erf(static_cast<float>(a)));
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:28:41: note: suggested alternatives:
> In file included from /usr/include/c++/11/complex:44,
> from ./core/types.h:21,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/cmath:1306:3: note: ‘erf’
> 1306 | erf(float __x)
> | ^~~
> /usr/include/c++/11/cmath:1318:5: note: ‘std::erf’
> 1318 | erf(_Tp __x)
> | ^~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1996:5: note: ‘Eigen::erf’
> 1996 | erf(const Scalar& x) {
> | ^~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:73,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:30:95: error: specialization of ‘template<class Scalar> typename Eigen::internal::erfc_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::erfc(const Scalar&)’ in different namespace [-fpermissive]
> 30 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 erfc(const Eigen::bfloat16& a) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:2002:5: note: from definition of ‘template<class Scalar> typename Eigen::internal::erfc_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::erfc(const Scalar&)’
> 2002 | erfc(const Scalar& x) {
> | ^~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:73,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h: In function ‘typename Eigen::internal::erfc_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::erfc(const Scalar&) [with Scalar = Eigen::bfloat16; typename Eigen::internal::erfc_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = Eigen::bfloat16; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = Eigen::bfloat16]’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:31:41: error: ‘erfc’ is not a member of ‘Eigen::numext’
> 31 | return Eigen::bfloat16(Eigen::numext::erfc(static_cast<float>(a)));
> | ^~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:31:41: note: suggested alternatives:
> In file included from /usr/include/c++/11/complex:44,
> from ./core/types.h:21,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/cmath:1324:3: note: ‘erfc’
> 1324 | erfc(float __x)
> | ^~~~
> /usr/include/c++/11/cmath:1336:5: note: ‘std::erfc’
> 1336 | erfc(_Tp __x)
> | ^~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:2002:5: note: ‘Eigen::erfc’
> 2002 | erfc(const Scalar& x) {
> | ^~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:73,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:33:96: error: specialization of ‘template<class Scalar> typename Eigen::internal::ndtri_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::ndtri(const Scalar&)’ in different namespace [-fpermissive]
> 33 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 ndtri(const Eigen::bfloat16& a) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:2008:5: note: from definition of ‘template<class Scalar> typename Eigen::internal::ndtri_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::ndtri(const Scalar&)’
> 2008 | ndtri(const Scalar& x) {
> | ^~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:73,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h: In function ‘typename Eigen::internal::ndtri_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::ndtri(const Scalar&) [with Scalar = Eigen::bfloat16; typename Eigen::internal::ndtri_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = Eigen::bfloat16; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = Eigen::bfloat16]’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:34:41: error: ‘ndtri’ is not a member of ‘Eigen::numext’; did you mean ‘Eigen::ndtri’?
> 34 | return Eigen::bfloat16(Eigen::numext::ndtri(static_cast<float>(a)));
> | ^~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:2008:5: note: ‘Eigen::ndtri’ declared here
> 2008 | ndtri(const Scalar& x) {
> | ^~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:73,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:36:123: error: ‘igamma’ is not a template function
> 36 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 igamma(const Eigen::bfloat16& a, const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:40:118: error: ‘igamma_der_a’ is not a template function
> 40 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 igamma_der_a(const Eigen::bfloat16& a, const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:44:137: error: ‘gamma_sample_der_alpha’ is not a template function
> 44 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 gamma_sample_der_alpha(const Eigen::bfloat16& alpha, const Eigen::bfloat16& sample) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:47:124: error: ‘igammac’ is not a template function
> 47 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 igammac(const Eigen::bfloat16& a, const Eigen::bfloat16& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h:50:150: error: ‘betainc’ is not a template function
> 50 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 betainc(const Eigen::bfloat16& a, const Eigen::bfloat16& b, const Eigen::bfloat16& x) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:74,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:15:89: error: specialization of ‘template<class Scalar> typename Eigen::internal::lgamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::lgamma(const Scalar&)’ in different namespace [-fpermissive]
> 15 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half lgamma(const Eigen::half& a) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1972:5: note: from definition of ‘template<class Scalar> typename Eigen::internal::lgamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::lgamma(const Scalar&)’
> 1972 | lgamma(const Scalar& x) {
> | ^~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:74,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h: In function ‘typename Eigen::internal::lgamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::lgamma(const Scalar&) [with Scalar = Eigen::half; typename Eigen::internal::lgamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = Eigen::half; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = Eigen::half]’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:16:37: error: ‘lgamma’ is not a member of ‘Eigen::numext’; did you mean ‘igamma’?
> 16 | return Eigen::half(Eigen::numext::lgamma(static_cast<float>(a)));
> | ^~~~~~
> | igamma
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:18:90: error: specialization of ‘template<class Scalar> typename Eigen::internal::digamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::digamma(const Scalar&)’ in different namespace [-fpermissive]
> 18 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half digamma(const Eigen::half& a) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1978:5: note: from definition of ‘template<class Scalar> typename Eigen::internal::digamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::digamma(const Scalar&)’
> 1978 | digamma(const Scalar& x) {
> | ^~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:74,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h: In function ‘typename Eigen::internal::digamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::digamma(const Scalar&) [with Scalar = Eigen::half; typename Eigen::internal::digamma_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = Eigen::half; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = Eigen::half]’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:19:37: error: ‘digamma’ is not a member of ‘Eigen::numext’; did you mean ‘igamma’?
> 19 | return Eigen::half(Eigen::numext::digamma(static_cast<float>(a)));
> | ^~~~~~~
> | igamma
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:21:109: error: ‘zeta’ is not a template function
> 21 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half zeta(const Eigen::half& x, const Eigen::half& q) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:24:114: error: ‘polygamma’ is not a template function
> 24 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half polygamma(const Eigen::half& n, const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:27:86: error: specialization of ‘template<class Scalar> typename Eigen::internal::erf_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::erf(const Scalar&)’ in different namespace [-fpermissive]
> 27 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half erf(const Eigen::half& a) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1996:5: note: from definition of ‘template<class Scalar> typename Eigen::internal::erf_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::erf(const Scalar&)’
> 1996 | erf(const Scalar& x) {
> | ^~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:74,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h: In function ‘typename Eigen::internal::erf_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::erf(const Scalar&) [with Scalar = Eigen::half; typename Eigen::internal::erf_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = Eigen::half; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = Eigen::half]’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:28:37: error: ‘erf’ is not a member of ‘Eigen::numext’
> 28 | return Eigen::half(Eigen::numext::erf(static_cast<float>(a)));
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:28:37: note: suggested alternatives:
> In file included from /usr/include/c++/11/complex:44,
> from ./core/types.h:21,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/cmath:1306:3: note: ‘erf’
> 1306 | erf(float __x)
> | ^~~
> /usr/include/c++/11/cmath:1318:5: note: ‘std::erf’
> 1318 | erf(_Tp __x)
> | ^~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1996:5: note: ‘Eigen::erf’
> 1996 | erf(const Scalar& x) {
> | ^~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:74,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:30:87: error: specialization of ‘template<class Scalar> typename Eigen::internal::erfc_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::erfc(const Scalar&)’ in different namespace [-fpermissive]
> 30 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half erfc(const Eigen::half& a) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:2002:5: note: from definition of ‘template<class Scalar> typename Eigen::internal::erfc_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::erfc(const Scalar&)’
> 2002 | erfc(const Scalar& x) {
> | ^~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:74,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h: In function ‘typename Eigen::internal::erfc_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::erfc(const Scalar&) [with Scalar = Eigen::half; typename Eigen::internal::erfc_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = Eigen::half; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = Eigen::half]’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:31:37: error: ‘erfc’ is not a member of ‘Eigen::numext’
> 31 | return Eigen::half(Eigen::numext::erfc(static_cast<float>(a)));
> | ^~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:31:37: note: suggested alternatives:
> In file included from /usr/include/c++/11/complex:44,
> from ./core/types.h:21,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/cmath:1324:3: note: ‘erfc’
> 1324 | erfc(float __x)
> | ^~~~
> /usr/include/c++/11/cmath:1336:5: note: ‘std::erfc’
> 1336 | erfc(_Tp __x)
> | ^~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:2002:5: note: ‘Eigen::erfc’
> 2002 | erfc(const Scalar& x) {
> | ^~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:74,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:33:88: error: specialization of ‘template<class Scalar> typename Eigen::internal::ndtri_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::ndtri(const Scalar&)’ in different namespace [-fpermissive]
> 33 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half ndtri(const Eigen::half& a) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:2008:5: note: from definition of ‘template<class Scalar> typename Eigen::internal::ndtri_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::ndtri(const Scalar&)’
> 2008 | ndtri(const Scalar& x) {
> | ^~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:74,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h: In function ‘typename Eigen::internal::ndtri_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::ndtri(const Scalar&) [with Scalar = Eigen::half; typename Eigen::internal::ndtri_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = Eigen::half; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = Eigen::half]’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:34:37: error: ‘ndtri’ is not a member of ‘Eigen::numext’; did you mean ‘Eigen::ndtri’?
> 34 | return Eigen::half(Eigen::numext::ndtri(static_cast<float>(a)));
> | ^~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:2008:5: note: ‘Eigen::ndtri’ declared here
> 2008 | ndtri(const Scalar& x) {
> | ^~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:74,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:36:111: error: ‘igamma’ is not a template function
> 36 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half igamma(const Eigen::half& a, const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:40:106: error: ‘igamma_der_a’ is not a template function
> 40 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half igamma_der_a(const Eigen::half& a, const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:44:125: error: ‘gamma_sample_der_alpha’ is not a template function
> 44 | EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half gamma_sample_der_alpha(const Eigen::half& alpha, const Eigen::half& sample) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:74,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:47:112: error: ‘igammac’ is not a template function
> 47 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half igammac(const Eigen::half& a, const Eigen::half& x) {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:50:134: error: ‘betainc’ is not a template function
> 50 | template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half betainc(const Eigen::half& a, const Eigen::half& b, const Eigen::half& x) {
> | ^
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:75,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h: In function ‘Packet Eigen::plgamma(const Packet&)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h:19:49: error: ‘lgamma’ has not been declared in ‘Eigen::numext’
> 19 | Packet plgamma(const Packet& a) { using numext::lgamma; return lgamma(a); }
> | ^~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h: In function ‘Packet Eigen::pdigamma(const Packet&)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h:23:50: error: ‘digamma’ has not been declared in ‘Eigen::numext’
> 23 | Packet pdigamma(const Packet& a) { using numext::digamma; return digamma(a); }
> | ^~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h: In function ‘Packet Eigen::perf(const Packet&)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h:35:46: error: ‘erf’ has not been declared in ‘Eigen::numext’
> 35 | Packet perf(const Packet& a) { using numext::erf; return erf(a); }
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h: In function ‘Packet Eigen::perfc(const Packet&)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h:39:47: error: ‘erfc’ has not been declared in ‘Eigen::numext’
> 39 | Packet perfc(const Packet& a) { using numext::erfc; return erfc(a); }
> | ^~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h: In function ‘Packet Eigen::pndtri(const Packet&)’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h:44:20: error: expected nested-name-specifier before ‘unpacket_traits’
> 44 | typedef typename unpacket_traits<Packet>::type ScalarType;
> | ^~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h:44:35: error: expected initializer before ‘<’ token
> 44 | typedef typename unpacket_traits<Packet>::type ScalarType;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h:45:63: error: ‘ScalarType’ was not declared in this scope
> 45 | using internal::generic_ndtri; return generic_ndtri<Packet, ScalarType>(a);
> | ^~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:76,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:24:67: error: expected template-name before ‘<’ token
> 24 | template<typename Scalar> struct scalar_igamma_op : binary_op_base<Scalar,Scalar>
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:24:67: error: expected ‘{’ before ‘<’ token
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:36:8: error: ‘functor_traits’ is not a class template
> 36 | struct functor_traits<scalar_igamma_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:36:23: error: ‘scalar_igamma_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_igamma_op’?
> 36 | struct functor_traits<scalar_igamma_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_igamma_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:220:34: note: ‘Eigen::internal::scalar_igamma_op’ declared here
> 220 | template<typename Scalar> struct scalar_igamma_op;
> | ^~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:76,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:36:8: error: template argument required for ‘struct functor_traits’
> 36 | struct functor_traits<scalar_igamma_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:36:48: error: expected unqualified-id before ‘>’ token
> 36 | struct functor_traits<scalar_igamma_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:63:8: error: ‘functor_traits’ is not a class template
> 63 | struct functor_traits<scalar_igamma_der_a_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:63:23: error: ‘scalar_igamma_der_a_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_igamma_der_a_op’?
> 63 | struct functor_traits<scalar_igamma_der_a_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_igamma_der_a_op
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:51:8: note: ‘Eigen::internal::scalar_igamma_der_a_op’ declared here
> 51 | struct scalar_igamma_der_a_op {
> | ^~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:63:8: error: template argument required for ‘struct functor_traits’
> 63 | struct functor_traits<scalar_igamma_der_a_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:63:54: error: expected unqualified-id before ‘>’ token
> 63 | struct functor_traits<scalar_igamma_der_a_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:91:8: error: ‘functor_traits’ is not a class template
> 91 | struct functor_traits<scalar_gamma_sample_der_alpha_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:91:23: error: ‘scalar_gamma_sample_der_alpha_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_gamma_sample_der_alpha_op’?
> 91 | struct functor_traits<scalar_gamma_sample_der_alpha_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_gamma_sample_der_alpha_op
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:79:8: note: ‘Eigen::internal::scalar_gamma_sample_der_alpha_op’ declared here
> 79 | struct scalar_gamma_sample_der_alpha_op {
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:91:8: error: template argument required for ‘struct functor_traits’
> 91 | struct functor_traits<scalar_gamma_sample_der_alpha_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:91:64: error: expected unqualified-id before ‘>’ token
> 91 | struct functor_traits<scalar_gamma_sample_der_alpha_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:104:68: error: expected template-name before ‘<’ token
> 104 | template<typename Scalar> struct scalar_igammac_op : binary_op_base<Scalar,Scalar>
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:104:68: error: expected ‘{’ before ‘<’ token
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:117:8: error: ‘functor_traits’ is not a class template
> 117 | struct functor_traits<scalar_igammac_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:117:23: error: ‘scalar_igammac_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_igammac_op’?
> 117 | struct functor_traits<scalar_igammac_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_igammac_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:221:34: note: ‘Eigen::internal::scalar_igammac_op’ declared here
> 221 | template<typename Scalar> struct scalar_igammac_op;
> | ^~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:76,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:117:8: error: template argument required for ‘struct functor_traits’
> 117 | struct functor_traits<scalar_igammac_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:117:49: error: expected unqualified-id before ‘>’ token
> 117 | struct functor_traits<scalar_igammac_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:142:8: error: ‘functor_traits’ is not a class template
> 142 | struct functor_traits<scalar_betainc_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:142:23: error: ‘scalar_betainc_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_betainc_op’?
> 142 | struct functor_traits<scalar_betainc_op<Scalar> > {
> | ^~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_betainc_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:223:34: note: ‘Eigen::internal::scalar_betainc_op’ declared here
> 223 | template<typename Scalar> struct scalar_betainc_op;
> | ^~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:76,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:142:8: error: template argument required for ‘struct functor_traits’
> 142 | struct functor_traits<scalar_betainc_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:142:49: error: expected unqualified-id before ‘>’ token
> 142 | struct functor_traits<scalar_betainc_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:161:20: error: expected nested-name-specifier before ‘packet_traits’
> 161 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:161:20: error: expected ‘;’ at end of member declaration
> 161 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:161:33: error: expected unqualified-id before ‘<’ token
> 161 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:162:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 162 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return internal::plgamma(a); }
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h: In member function ‘const Scalar Eigen::internal::scalar_lgamma_op<Scalar>::operator()(const Scalar&) const’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:159:19: error: ‘lgamma’ has not been declared in ‘Eigen::numext’
> 159 | using numext::lgamma; return lgamma(a);
> | ^~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:165:8: error: ‘functor_traits’ is not a class template
> 165 | struct functor_traits<scalar_lgamma_op<Scalar> >
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:165:23: error: ‘scalar_lgamma_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_lgamma_op’?
> 165 | struct functor_traits<scalar_lgamma_op<Scalar> >
> | ^~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_lgamma_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:215:34: note: ‘Eigen::internal::scalar_lgamma_op’ declared here
> 215 | template<typename Scalar> struct scalar_lgamma_op;
> | ^~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:76,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:165:8: error: template argument required for ‘struct functor_traits’
> 165 | struct functor_traits<scalar_lgamma_op<Scalar> >
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:165:48: error: expected unqualified-id before ‘>’ token
> 165 | struct functor_traits<scalar_lgamma_op<Scalar> >
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:183:20: error: expected nested-name-specifier before ‘packet_traits’
> 183 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:183:20: error: expected ‘;’ at end of member declaration
> 183 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:183:33: error: expected unqualified-id before ‘<’ token
> 183 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:184:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 184 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return internal::pdigamma(a); }
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h: In member function ‘const Scalar Eigen::internal::scalar_digamma_op<Scalar>::operator()(const Scalar&) const’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:181:19: error: ‘digamma’ has not been declared in ‘Eigen::numext’
> 181 | using numext::digamma; return digamma(a);
> | ^~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:187:8: error: ‘functor_traits’ is not a class template
> 187 | struct functor_traits<scalar_digamma_op<Scalar> >
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:187:23: error: ‘scalar_digamma_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_digamma_op’?
> 187 | struct functor_traits<scalar_digamma_op<Scalar> >
> | ^~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_digamma_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:216:34: note: ‘Eigen::internal::scalar_digamma_op’ declared here
> 216 | template<typename Scalar> struct scalar_digamma_op;
> | ^~~~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:76,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:187:8: error: template argument required for ‘struct functor_traits’
> 187 | struct functor_traits<scalar_digamma_op<Scalar> >
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:187:49: error: expected unqualified-id before ‘>’ token
> 187 | struct functor_traits<scalar_digamma_op<Scalar> >
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:205:22: error: expected nested-name-specifier before ‘packet_traits’
> 205 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:205:22: error: expected ‘;’ at end of member declaration
> 205 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:205:35: error: expected unqualified-id before ‘<’ token
> 205 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:206:43: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 206 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& x, const Packet& q) const { return internal::pzeta(x, q); }
> | ^~~~~~
> | Packet4i
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:76,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:209:8: error: ‘functor_traits’ is not a class template
> 209 | struct functor_traits<scalar_zeta_op<Scalar> >
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:209:23: error: ‘scalar_zeta_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_zeta_op’?
> 209 | struct functor_traits<scalar_zeta_op<Scalar> >
> | ^~~~~~~~~~~~~~
> | Eigen::internal::scalar_zeta_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:222:34: note: ‘Eigen::internal::scalar_zeta_op’ declared here
> 222 | template<typename Scalar> struct scalar_zeta_op;
> | ^~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:76,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:209:8: error: template argument required for ‘struct functor_traits’
> 209 | struct functor_traits<scalar_zeta_op<Scalar> >
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:209:46: error: expected unqualified-id before ‘>’ token
> 209 | struct functor_traits<scalar_zeta_op<Scalar> >
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:227:22: error: expected nested-name-specifier before ‘packet_traits’
> 227 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:227:22: error: expected ‘;’ at end of member declaration
> 227 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:227:35: error: expected unqualified-id before ‘<’ token
> 227 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:228:43: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 228 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& n, const Packet& x) const { return internal::ppolygamma(n, x); }
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:231:8: error: ‘functor_traits’ is not a class template
> 231 | struct functor_traits<scalar_polygamma_op<Scalar> >
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:231:23: error: ‘scalar_polygamma_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_polygamma_op’?
> 231 | struct functor_traits<scalar_polygamma_op<Scalar> >
> | ^~~~~~~~~~~~~~~~~~~
> | Eigen::internal::scalar_polygamma_op
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:222:34: note: ‘Eigen::internal::scalar_polygamma_op’ declared here
> 222 | template<typename Scalar> struct scalar_polygamma_op {
> | ^~~~~~~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:231:8: error: template argument required for ‘struct functor_traits’
> 231 | struct functor_traits<scalar_polygamma_op<Scalar> >
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:231:51: error: expected unqualified-id before ‘>’ token
> 231 | struct functor_traits<scalar_polygamma_op<Scalar> >
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h: In member function ‘const Scalar Eigen::internal::scalar_erf_op<Scalar>::operator()(const Scalar&) const’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:248:20: error: ‘erf’ is not a member of ‘Eigen::numext’
> 248 | return numext::erf(a);
> | ^~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:248:20: note: suggested alternatives:
> In file included from /usr/include/c++/11/complex:44,
> from ./core/types.h:21,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/cmath:1306:3: note: ‘erf’
> 1306 | erf(float __x)
> | ^~~
> /usr/include/c++/11/cmath:1318:5: note: ‘std::erf’
> 1318 | erf(_Tp __x)
> | ^~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:1996:5: note: ‘Eigen::erf’
> 1996 | erf(const Scalar& x) {
> | ^~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:76,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:256:8: error: ‘functor_traits’ is not a class template
> 256 | struct functor_traits<scalar_erf_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:256:23: error: ‘scalar_erf_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_erf_op’?
> 256 | struct functor_traits<scalar_erf_op<Scalar> > {
> | ^~~~~~~~~~~~~
> | Eigen::internal::scalar_erf_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:217:34: note: ‘Eigen::internal::scalar_erf_op’ declared here
> 217 | template<typename Scalar> struct scalar_erf_op;
> | ^~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:76,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:256:8: error: template argument required for ‘struct functor_traits’
> 256 | struct functor_traits<scalar_erf_op<Scalar> > {
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:256:45: error: expected unqualified-id before ‘>’ token
> 256 | struct functor_traits<scalar_erf_op<Scalar> > {
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:288:20: error: expected nested-name-specifier before ‘packet_traits’
> 288 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:288:20: error: expected ‘;’ at end of member declaration
> 288 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:288:33: error: expected unqualified-id before ‘<’ token
> 288 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:289:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 289 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return internal::perfc(a); }
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h: In member function ‘const Scalar Eigen::internal::scalar_erfc_op<Scalar>::operator()(const Scalar&) const’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:286:19: error: ‘erfc’ has not been declared in ‘Eigen::numext’
> 286 | using numext::erfc; return erfc(a);
> | ^~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:292:8: error: ‘functor_traits’ is not a class template
> 292 | struct functor_traits<scalar_erfc_op<Scalar> >
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:292:23: error: ‘scalar_erfc_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_erfc_op’?
> 292 | struct functor_traits<scalar_erfc_op<Scalar> >
> | ^~~~~~~~~~~~~~
> | Eigen::internal::scalar_erfc_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:218:34: note: ‘Eigen::internal::scalar_erfc_op’ declared here
> 218 | template<typename Scalar> struct scalar_erfc_op;
> | ^~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:76,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:292:8: error: template argument required for ‘struct functor_traits’
> 292 | struct functor_traits<scalar_erfc_op<Scalar> >
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:292:46: error: expected unqualified-id before ‘>’ token
> 292 | struct functor_traits<scalar_erfc_op<Scalar> >
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:311:20: error: expected nested-name-specifier before ‘packet_traits’
> 311 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:311:20: error: expected ‘;’ at end of member declaration
> 311 | typedef typename packet_traits<Scalar>::type Packet;
> | ^~~~~~~~~~~~~
> | ;
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:311:33: error: expected unqualified-id before ‘<’ token
> 311 | typedef typename packet_traits<Scalar>::type Packet;
> | ^
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:312:41: error: ‘Packet’ does not name a type; did you mean ‘Packet4i’?
> 312 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return internal::pndtri(a); }
> | ^~~~~~
> | Packet4i
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h: In member function ‘const Scalar Eigen::internal::scalar_ndtri_op<Scalar>::operator()(const Scalar&) const’:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:309:19: error: ‘ndtri’ has not been declared in ‘Eigen::numext’
> 309 | using numext::ndtri; return ndtri(a);
> | ^~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h: At global scope:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:315:8: error: ‘functor_traits’ is not a class template
> 315 | struct functor_traits<scalar_ndtri_op<Scalar> >
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:315:23: error: ‘scalar_ndtri_op’ was not declared in this scope; did you mean ‘Eigen::internal::scalar_ndtri_op’?
> 315 | struct functor_traits<scalar_ndtri_op<Scalar> >
> | ^~~~~~~~~~~~~~~
> | Eigen::internal::scalar_ndtri_op
> In file included from /usr/include/eigen3/Eigen/Core:163,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:219:34: note: ‘Eigen::internal::scalar_ndtri_op’ declared here
> 219 | template<typename Scalar> struct scalar_ndtri_op;
> | ^~~~~~~~~~~~~~~
> In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:76,
> from ./core/math/betainc.h:21,
> from core/math/zstatistic.cpp:20:
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:315:8: error: template argument required for ‘struct functor_traits’
> 315 | struct functor_traits<scalar_ndtri_op<Scalar> >
> | ^~~~~~~~~~~~~~
> /usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h:315:47: error: expected unqualified-id before ‘>’ token
> 315 | struct functor_traits<scalar_ndtri_op<Scalar> >
> | ^
> In file included from core/math/zstatistic.cpp:20:
> ./core/math/betainc.h:53:5: error: ‘default_type’ does not name a type
> 53 | default_type betaincreg (const default_type a, const default_type b, const default_type x);
> | ^~~~~~~~~~~~
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:73:24: error: ‘unique_ptr’ does not name a type
> 73 | using _State_ptr = unique_ptr<_State>;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/std_thread.h:93:21: error: ‘hash’ is not a class template
> 93 | friend struct hash<id>;
> | ^~~~
> /usr/include/c++/11/bits/std_thread.h:93:21: error: template argument required for ‘struct hash’
> /usr/include/c++/11/bits/std_thread.h:93:7: error: friend declaration does not name a class or function
> 93 | friend struct hash<id>;
> | ^~~~~~
> /usr/include/c++/11/bits/std_thread.h:107:16: error: ‘basic_ostream’ does not name a type
> 107 | friend basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/std_thread.h:118:26: error: ‘__not_’ does not name a type
> 118 | using __not_same = __not_<is_same<__remove_cvref_t<_Tp>, thread>>;
> | ^~~~~~
> /usr/include/c++/11/bits/std_thread.h:125:25: error: ‘_Require’ does not name a type
> 125 | typename = _Require<__not_same<_Callable>>>
> | ^~~~~~~~
> /usr/include/c++/11/bits/std_thread.h:125:33: error: expected ‘>’ before ‘<’ token
> 125 | typename = _Require<__not_same<_Callable>>>
> | ^
> /usr/include/c++/11/bits/std_thread.h:215:21: error: ‘_State_ptr’ has not been declared
> 215 | _M_start_thread(_State_ptr, void (*)());
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/std_thread.h:246:27: error: ‘tuple’ was not declared in this scope; did you mean ‘std::tuple’?
> 246 | struct __result<tuple<_Fn, _Args...>>
> | ^~~~~
> | std::tuple
> In file included from /usr/include/c++/11/bits/move.h:57,
> from /usr/include/c++/11/bits/stl_pair.h:59,
> from /usr/include/c++/11/bits/stl_algobase.h:64,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/type_traits:45:11: note: ‘std::tuple’ declared here
> 45 | class tuple;
> | ^~~~~
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:246:43: error: template argument 1 is invalid
> 246 | struct __result<tuple<_Fn, _Args...>>
> | ^~~
> /usr/include/c++/11/bits/std_thread.h:246:46: error: expected unqualified-id before ‘>’ token
> 246 | struct __result<tuple<_Fn, _Args...>>
> | ^~
> /usr/include/c++/11/bits/std_thread.h:252:21: error: ‘_Index_tuple’ has not been declared
> 252 | _M_invoke(_Index_tuple<_Ind...>)
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/std_thread.h:252:33: error: expected ‘,’ or ‘...’ before ‘<’ token
> 252 | _M_invoke(_Index_tuple<_Ind...>)
> | ^
> /usr/include/c++/11/bits/std_thread.h:266:38: error: ‘tuple’ was not declared in this scope; did you mean ‘std::tuple’?
> 266 | using _Call_wrapper = _Invoker<tuple<typename decay<_Tp>::type...>>;
> | ^~~~~
> | std::tuple
> In file included from /usr/include/c++/11/bits/move.h:57,
> from /usr/include/c++/11/bits/stl_pair.h:59,
> from /usr/include/c++/11/bits/stl_algobase.h:64,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/type_traits:45:11: note: ‘std::tuple’ declared here
> 45 | class tuple;
> | ^~~~~
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:266:72: error: template argument 1 is invalid
> 266 | using _Call_wrapper = _Invoker<tuple<typename decay<_Tp>::type...>>;
> | ^~
> /usr/include/c++/11/bits/std_thread.h: In constructor ‘std::thread::thread(_Callable&&, _Args&& ...)’:
> /usr/include/c++/11/bits/std_thread.h:129:24: error: ‘__is_invocable’ was not declared in this scope; did you mean ‘std::__is_invocable’?
> 129 | static_assert( __is_invocable<typename decay<_Callable>::type,
> | ^~~~~~~~~~~~~~
> | std::__is_invocable
> In file included from /usr/include/c++/11/bits/move.h:57,
> from /usr/include/c++/11/bits/stl_pair.h:59,
> from /usr/include/c++/11/bits/stl_algobase.h:64,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/type_traits:2925:12: note: ‘std::__is_invocable’ declared here
> 2925 | struct __is_invocable
> | ^~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:129:48: error: expected nested-name-specifier before ‘decay’
> 129 | static_assert( __is_invocable<typename decay<_Callable>::type,
> | ^~~~~
> /usr/include/c++/11/bits/std_thread.h:129:48: error: expected ‘(’ before ‘decay’
> /usr/include/c++/11/bits/std_thread.h:129:48: error: expected ‘,’ before ‘decay’
> /usr/include/c++/11/bits/std_thread.h:129:48: error: expected string-literal before ‘decay’
> /usr/include/c++/11/bits/std_thread.h:129:48: error: expected ‘)’ before ‘decay’
> /usr/include/c++/11/bits/std_thread.h:129:22: note: to match this ‘(’
> 129 | static_assert( __is_invocable<typename decay<_Callable>::type,
> | ^
> /usr/include/c++/11/bits/std_thread.h:140:26: error: ‘_Call_wrapper’ does not name a type
> 140 | using _Wrapper = _Call_wrapper<_Callable, _Args...>;
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/std_thread.h:143:52: error: ‘_Wrapper’ was not declared in this scope
> 143 | _M_start_thread(_State_ptr(new _State_impl<_Wrapper>(
> | ^~~~~~~~
> /usr/include/c++/11/bits/std_thread.h:143:60: error: template argument 1 is invalid
> 143 | _M_start_thread(_State_ptr(new _State_impl<_Wrapper>(
> | ^
> /usr/include/c++/11/bits/std_thread.h:143:25: error: there are no arguments to ‘_State_ptr’ that depend on a template parameter, so a declaration of ‘_State_ptr’ must be available [-fpermissive]
> 143 | _M_start_thread(_State_ptr(new _State_impl<_Wrapper>(
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/std_thread.h: In member function ‘bool std::thread::joinable() const’:
> /usr/include/c++/11/bits/std_thread.h:176:22: error: no match for ‘operator==’ (operand types are ‘const std::thread::id’ and ‘std::thread::id’)
> 176 | { return !(_M_id == id()); }
> | ~~~~~ ^~ ~~~~
> | | |
> | | std::thread::id
> | const std::thread::id
> In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/stl_pair.h:466:5: note: candidate: ‘template<class _T1, class _T2> constexpr bool std::operator==(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)’
> 466 | operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
> | ^~~~~~~~
> /usr/include/c++/11/bits/stl_pair.h:466:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::pair<_T1, _T2>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/stl_iterator.h:419:5: note: candidate: ‘template<class _Iterator> bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)’
> 419 | operator==(const reverse_iterator<_Iterator>& __x,
> | ^~~~~~~~
> /usr/include/c++/11/bits/stl_iterator.h:419:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::reverse_iterator<_Iterator>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/stl_iterator.h:458:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)’
> 458 | operator==(const reverse_iterator<_IteratorL>& __x,
> | ^~~~~~~~
> /usr/include/c++/11/bits/stl_iterator.h:458:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::reverse_iterator<_Iterator>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/stl_iterator.h:1533:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> bool std::operator==(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)’
> 1533 | operator==(const move_iterator<_IteratorL>& __x,
> | ^~~~~~~~
> /usr/include/c++/11/bits/stl_iterator.h:1533:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::move_iterator<_IteratorL>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/stl_iterator.h:1601:5: note: candidate: ‘template<class _Iterator> bool std::operator==(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)’
> 1601 | operator==(const move_iterator<_Iterator>& __x,
> | ^~~~~~~~
> /usr/include/c++/11/bits/stl_iterator.h:1601:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::move_iterator<_IteratorL>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/bits/stl_tree.h:64,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/allocator.h:234:5: note: candidate: ‘template<class _T1, class _T2> bool std::operator==(const std::allocator<_Tp1>&, const std::allocator<_T2>&)’
> 234 | operator==(const allocator<_T1>&, const allocator<_T2>&)
> | ^~~~~~~~
> /usr/include/c++/11/bits/allocator.h:234:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::allocator<_Tp1>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/stl_map.h:63,
> from /usr/include/c++/11/map:61,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/array:276:5: note: candidate: ‘template<class _Tp, long unsigned int _Nm> bool std::operator==(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)’
> 276 | operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
> | ^~~~~~~~
> /usr/include/c++/11/array:276:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::array<_Tp, _Nm>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/bits/stl_map.h:63,
> from /usr/include/c++/11/map:61,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/tuple:1528:5: note: candidate: ‘template<class ... _TElements, class ... _UElements> constexpr bool std::operator==(const std::tuple<_Tps ...>&, const std::tuple<_Args2 ...>&)’
> 1528 | operator==(const tuple<_TElements...>& __t,
> | ^~~~~~~~
> /usr/include/c++/11/tuple:1528:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::tuple<_Tps ...>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/map:61,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/stl_map.h:1463:5: note: candidate: ‘template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator==(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&)’
> 1463 | operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
> | ^~~~~~~~
> /usr/include/c++/11/bits/stl_map.h:1463:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::map<_Key, _Tp, _Compare, _Alloc>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/map:62,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/stl_multimap.h:1128:5: note: candidate: ‘template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator==(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&)’
> 1128 | operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
> | ^~~~~~~~
> /usr/include/c++/11/bits/stl_multimap.h:1128:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::multimap<_Key, _Tp, _Compare, _Alloc>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/iosfwd:40,
> from /usr/include/c++/11/system_error:40,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/postypes.h:222:5: note: candidate: ‘template<class _StateT> bool std::operator==(const std::fpos<_StateT>&, const std::fpos<_StateT>&)’
> 222 | operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
> | ^~~~~~~~
> /usr/include/c++/11/bits/postypes.h:222:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::fpos<_StateT>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/string:55,
> from /usr/include/c++/11/stdexcept:39,
> from /usr/include/c++/11/system_error:41,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/basic_string.h:6224:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
> 6224 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> | ^~~~~~~~
> /usr/include/c++/11/bits/basic_string.h:6224:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/string:55,
> from /usr/include/c++/11/stdexcept:39,
> from /usr/include/c++/11/system_error:41,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/basic_string.h:6232:5: note: candidate: ‘template<class _CharT> typename __gnu_cxx::__enable_if<std::__is_char<_Tp>::__value, bool>::__type std::operator==(const std::__cxx11::basic_string<_CharT>&, const std::__cxx11::basic_string<_CharT>&)’
> 6232 | operator==(const basic_string<_CharT>& __lhs,
> | ^~~~~~~~
> /usr/include/c++/11/bits/basic_string.h:6232:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::__cxx11::basic_string<_CharT>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/string:55,
> from /usr/include/c++/11/stdexcept:39,
> from /usr/include/c++/11/system_error:41,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/basic_string.h:6246:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)’
> 6246 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> | ^~~~~~~~
> /usr/include/c++/11/bits/basic_string.h:6246:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/string:55,
> from /usr/include/c++/11/stdexcept:39,
> from /usr/include/c++/11/system_error:41,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/basic_string.h:6287:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
> 6287 | operator==(const _CharT* __lhs,
> | ^~~~~~~~
> /usr/include/c++/11/bits/basic_string.h:6287:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: mismatched types ‘const _CharT*’ and ‘std::thread::id’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/bits/locale_facets.h:48,
> from /usr/include/c++/11/bits/basic_ios.h:37,
> from /usr/include/c++/11/ios:44,
> from /usr/include/c++/11/istream:38,
> from /usr/include/c++/11/sstream:38,
> from /usr/include/c++/11/complex:45,
> from ./core/types.h:21,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/streambuf_iterator.h:226:5: note: candidate: ‘template<class _CharT, class _Traits> bool std::operator==(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)’
> 226 | operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
> | ^~~~~~~~
> /usr/include/c++/11/bits/streambuf_iterator.h:226:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from ./core/types.h:21,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/complex:464:5: note: candidate: ‘template<class _Tp> constexpr bool std::operator==(const std::complex<_Tp>&, const std::complex<_Tp>&)’
> 464 | operator==(const complex<_Tp>& __x, const complex<_Tp>& __y)
> | ^~~~~~~~
> /usr/include/c++/11/complex:464:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::complex<_Tp>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from ./core/types.h:21,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/complex:469:5: note: candidate: ‘template<class _Tp> constexpr bool std::operator==(const std::complex<_Tp>&, const _Tp&)’
> 469 | operator==(const complex<_Tp>& __x, const _Tp& __y)
> | ^~~~~~~~
> /usr/include/c++/11/complex:469:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::complex<_Tp>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from ./core/types.h:21,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/complex:475:5: note: candidate: ‘template<class _Tp> constexpr bool std::operator==(const _Tp&, const std::complex<_Tp>&)’
> 475 | operator==(const _Tp& __x, const complex<_Tp>& __y)
> | ^~~~~~~~
> /usr/include/c++/11/complex:475:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘std::thread::id’ is not derived from ‘const std::complex<_Tp>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/deque:67,
> from ./core/types.h:23,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/stl_deque.h:2246:5: note: candidate: ‘template<class _Tp, class _Alloc> bool std::operator==(const std::deque<_Tp, _Alloc>&, const std::deque<_Tp, _Alloc>&)’
> 2246 | operator==(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
> | ^~~~~~~~
> /usr/include/c++/11/bits/stl_deque.h:2246:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::deque<_Tp, _Alloc>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/memory:76,
> from ./core/types.h:25,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/unique_ptr.h:753:5: note: candidate: ‘template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator==(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&)’
> 753 | operator==(const unique_ptr<_Tp, _Dp>& __x,
> | ^~~~~~~~
> /usr/include/c++/11/bits/unique_ptr.h:753:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/memory:76,
> from ./core/types.h:25,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/unique_ptr.h:760:5: note: candidate: ‘template<class _Tp, class _Dp> bool std::operator==(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)’
> 760 | operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/bits/unique_ptr.h:760:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/memory:76,
> from ./core/types.h:25,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/unique_ptr.h:767:5: note: candidate: ‘template<class _Tp, class _Dp> bool std::operator==(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&)’
> 767 | operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/bits/unique_ptr.h:767:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘std::thread::id’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/bits/shared_ptr.h:53,
> from /usr/include/c++/11/memory:77,
> from ./core/types.h:25,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/shared_ptr_base.h:1410:5: note: candidate: ‘template<class _Tp1, class _Tp2, __gnu_cxx::_Lock_policy _Lp> bool std::operator==(const std::__shared_ptr<_Tp1, _Lp>&, const std::__shared_ptr<_Tp2, _Lp>&)’
> 1410 | operator==(const __shared_ptr<_Tp1, _Lp>& __a,
> | ^~~~~~~~
> /usr/include/c++/11/bits/shared_ptr_base.h:1410:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::__shared_ptr<_Tp1, _Lp>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/bits/shared_ptr.h:53,
> from /usr/include/c++/11/memory:77,
> from ./core/types.h:25,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/shared_ptr_base.h:1416:5: note: candidate: ‘template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator==(const std::__shared_ptr<_Tp, _Lp>&, std::nullptr_t)’
> 1416 | operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/bits/shared_ptr_base.h:1416:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/bits/shared_ptr.h:53,
> from /usr/include/c++/11/memory:77,
> from ./core/types.h:25,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/shared_ptr_base.h:1436:5: note: candidate: ‘template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator==(std::nullptr_t, const std::__shared_ptr<_Tp, _Lp>&)’
> 1436 | operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/bits/shared_ptr_base.h:1436:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘std::thread::id’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/memory:77,
> from ./core/types.h:25,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/shared_ptr.h:437:5: note: candidate: ‘template<class _Tp, class _Up> bool std::operator==(const std::shared_ptr<_Tp>&, const std::shared_ptr<_Tp>&)’
> 437 | operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/bits/shared_ptr.h:437:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::shared_ptr<_Tp>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/memory:77,
> from ./core/types.h:25,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/shared_ptr.h:443:5: note: candidate: ‘template<class _Tp> bool std::operator==(const std::shared_ptr<_Tp>&, std::nullptr_t)’
> 443 | operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/bits/shared_ptr.h:443:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::shared_ptr<_Tp>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/memory:77,
> from ./core/types.h:25,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/shared_ptr.h:464:5: note: candidate: ‘template<class _Tp> bool std::operator==(std::nullptr_t, const std::shared_ptr<_Tp>&)’
> 464 | operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/bits/shared_ptr.h:464:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘std::thread::id’ is not derived from ‘const std::shared_ptr<_Tp>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/vector:67,
> from ./core/types.h:27,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/stl_vector.h:1892:5: note: candidate: ‘template<class _Tp, class _Alloc> bool std::operator==(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)’
> 1892 | operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
> | ^~~~~~~~
> /usr/include/c++/11/bits/stl_vector.h:1892:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::vector<_Tp, _Alloc>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/functional:59,
> from /usr/include/eigen3/Eigen/Core:85,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/std_function.h:718:5: note: candidate: ‘template<class _Res, class ... _Args> bool std::operator==(const std::function<_Res(_ArgTypes ...)>&, std::nullptr_t)’
> 718 | operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/bits/std_function.h:718:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘const std::thread::id’ is not derived from ‘const std::function<_Res(_ArgTypes ...)>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/functional:59,
> from /usr/include/eigen3/Eigen/Core:85,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/std_function.h:725:5: note: candidate: ‘template<class _Res, class ... _Args> bool std::operator==(std::nullptr_t, const std::function<_Res(_ArgTypes ...)>&)’
> 725 | operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/bits/std_function.h:725:5: note: template argument deduction/substitution failed:
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h:176:28: note: ‘std::thread::id’ is not derived from ‘const std::function<_Res(_ArgTypes ...)>’
> 176 | { return !(_M_id == id()); }
> | ^
> In file included from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/system_error:362:3: note: candidate: ‘bool std::operator==(const std::error_code&, const std::error_code&)’
> 362 | operator==(const error_code& __lhs, const error_code& __rhs) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/system_error:362:32: note: no known conversion for argument 1 from ‘const std::thread::id’ to ‘const std::error_code&’
> 362 | operator==(const error_code& __lhs, const error_code& __rhs) noexcept
> | ~~~~~~~~~~~~~~~~~~^~~~~
> /usr/include/c++/11/system_error:368:3: note: candidate: ‘bool std::operator==(const std::error_code&, const std::error_condition&)’
> 368 | operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/system_error:368:32: note: no known conversion for argument 1 from ‘const std::thread::id’ to ‘const std::error_code&’
> 368 | operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
> | ~~~~~~~~~~~~~~~~~~^~~~~
> /usr/include/c++/11/system_error:376:3: note: candidate: ‘bool std::operator==(const std::error_condition&, const std::error_condition&)’
> 376 | operator==(const error_condition& __lhs,
> | ^~~~~~~~
> /usr/include/c++/11/system_error:376:37: note: no known conversion for argument 1 from ‘const std::thread::id’ to ‘const std::error_condition&’
> 376 | operator==(const error_condition& __lhs,
> | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> /usr/include/c++/11/system_error:408:3: note: candidate: ‘bool std::operator==(const std::error_condition&, const std::error_code&)’
> 408 | operator==(const error_condition& __lhs, const error_code& __rhs) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/system_error:408:37: note: no known conversion for argument 1 from ‘const std::thread::id’ to ‘const std::error_condition&’
> 408 | operator==(const error_condition& __lhs, const error_code& __rhs) noexcept
> | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> In file included from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/std_thread.h: In member function ‘typename std::thread::_Invoker<_Tuple>::__result<_Tuple>::type std::thread::_Invoker<_Tuple>::operator()()’:
> /usr/include/c++/11/bits/std_thread.h:259:24: error: expected nested-name-specifier before ‘_Build_index_tuple’
> 259 | = typename _Build_index_tuple<tuple_size<_Tuple>::value>::__type;
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/std_thread.h:260:28: error: there are no arguments to ‘_Indices’ that depend on a template parameter, so a declaration of ‘_Indices’ must be available [-fpermissive]
> 260 | return _M_invoke(_Indices());
> | ^~~~~~~~
> /usr/include/c++/11/bits/std_thread.h: At global scope:
> /usr/include/c++/11/bits/std_thread.h:277:3: error: variable or field ‘swap’ declared void
> 277 | swap(thread& __x, thread& __y) noexcept
> | ^~~~
> /usr/include/c++/11/bits/std_thread.h:277:8: error: ‘thread’ was not declared in this scope; did you mean ‘std::thread’?
> 277 | swap(thread& __x, thread& __y) noexcept
> | ^~~~~~
> | std::thread
> /usr/include/c++/11/bits/std_thread.h:62:9: note: ‘std::thread’ declared here
> 62 | class thread
> | ^~~~~~
> /usr/include/c++/11/bits/std_thread.h:277:16: error: ‘__x’ was not declared in this scope
> 277 | swap(thread& __x, thread& __y) noexcept
> | ^~~
> /usr/include/c++/11/bits/std_thread.h:277:21: error: ‘thread’ was not declared in this scope; did you mean ‘std::thread’?
> 277 | swap(thread& __x, thread& __y) noexcept
> | ^~~~~~
> | std::thread
> /usr/include/c++/11/bits/std_thread.h:62:9: note: ‘std::thread’ declared here
> 62 | class thread
> | ^~~~~~
> /usr/include/c++/11/bits/std_thread.h:277:29: error: ‘__y’ was not declared in this scope; did you mean ‘__yn’?
> 277 | swap(thread& __x, thread& __y) noexcept
> | ^~~
> | __yn
> /usr/include/c++/11/bits/std_thread.h:281:3: error: declaration of ‘operator==’ as non-function
> 281 | operator==(thread::id __x, thread::id __y) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/bits/std_thread.h:281:14: error: ‘thread’ has not been declared
> 281 | operator==(thread::id __x, thread::id __y) noexcept
> | ^~~~~~
> /usr/include/c++/11/bits/std_thread.h:281:30: error: ‘thread’ has not been declared
> 281 | operator==(thread::id __x, thread::id __y) noexcept
> | ^~~~~~
> /usr/include/c++/11/bits/std_thread.h:295:12: error: ‘hash’ is not a class template
> 295 | struct hash<thread::id>
> | ^~~~
> /usr/include/c++/11/bits/std_thread.h:295:17: error: ‘thread’ was not declared in this scope; did you mean ‘std::thread’?
> 295 | struct hash<thread::id>
> | ^~~~~~
> | std::thread
> /usr/include/c++/11/bits/std_thread.h:62:9: note: ‘std::thread’ declared here
> 62 | class thread
> | ^~~~~~
> /usr/include/c++/11/bits/std_thread.h:295:27: error: template specifiers not specified in declaration of ‘template<class _Tp> struct std::hash’
> 295 | struct hash<thread::id>
> | ^
> /usr/include/c++/11/bits/std_thread.h:296:25: error: expected template-name before ‘<’ token
> 296 | : public __hash_base<size_t, thread::id>
> | ^
> /usr/include/c++/11/bits/std_thread.h:306:12: error: ‘thread’ does not name a type
> 306 | inline thread::id
> | ^~~~~~
> In file included from /usr/include/c++/11/thread:44,
> from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/this_thread_sleep.h:70:23: error: ‘chrono’ does not name a type
> 70 | sleep_for(const chrono::duration<_Rep, _Period>& __rtime)
> | ^~~~~~
> /usr/include/c++/11/bits/this_thread_sleep.h:70:39: error: expected unqualified-id before ‘<’ token
> 70 | sleep_for(const chrono::duration<_Rep, _Period>& __rtime)
> | ^
> /usr/include/c++/11/bits/this_thread_sleep.h:70:39: error: expected ‘)’ before ‘<’ token
> 70 | sleep_for(const chrono::duration<_Rep, _Period>& __rtime)
> | ~ ^
> | )
> /usr/include/c++/11/bits/this_thread_sleep.h:70:39: error: expected initializer before ‘<’ token
> /usr/include/c++/11/bits/this_thread_sleep.h:92:25: error: ‘chrono’ does not name a type
> 92 | sleep_until(const chrono::time_point<_Clock, _Duration>& __atime)
> | ^~~~~~
> /usr/include/c++/11/bits/this_thread_sleep.h:92:43: error: expected unqualified-id before ‘<’ token
> 92 | sleep_until(const chrono::time_point<_Clock, _Duration>& __atime)
> | ^
> /usr/include/c++/11/bits/this_thread_sleep.h:92:43: error: expected ‘)’ before ‘<’ token
> 92 | sleep_until(const chrono::time_point<_Clock, _Duration>& __atime)
> | ~ ^
> | )
> /usr/include/c++/11/bits/this_thread_sleep.h:92:43: error: expected initializer before ‘<’ token
> In file included from ./core/app.h:23,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/thread:66:3: error: declaration of ‘operator!=’ as non-function
> 66 | operator!=(thread::id __x, thread::id __y) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/thread:66:14: error: ‘thread’ has not been declared
> 66 | operator!=(thread::id __x, thread::id __y) noexcept
> | ^~~~~~
> /usr/include/c++/11/thread:66:30: error: ‘thread’ has not been declared
> 66 | operator!=(thread::id __x, thread::id __y) noexcept
> | ^~~~~~
> /usr/include/c++/11/thread:70:3: error: declaration of ‘operator<’ as non-function
> 70 | operator<(thread::id __x, thread::id __y) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/thread:70:13: error: ‘thread’ has not been declared
> 70 | operator<(thread::id __x, thread::id __y) noexcept
> | ^~~~~~
> /usr/include/c++/11/thread:70:29: error: ‘thread’ has not been declared
> 70 | operator<(thread::id __x, thread::id __y) noexcept
> | ^~~~~~
> /usr/include/c++/11/thread:78:3: error: declaration of ‘operator<=’ as non-function
> 78 | operator<=(thread::id __x, thread::id __y) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/thread:78:14: error: ‘thread’ has not been declared
> 78 | operator<=(thread::id __x, thread::id __y) noexcept
> | ^~~~~~
> /usr/include/c++/11/thread:78:30: error: ‘thread’ has not been declared
> 78 | operator<=(thread::id __x, thread::id __y) noexcept
> | ^~~~~~
> /usr/include/c++/11/thread:82:3: error: declaration of ‘operator>’ as non-function
> 82 | operator>(thread::id __x, thread::id __y) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/thread:82:13: error: ‘thread’ has not been declared
> 82 | operator>(thread::id __x, thread::id __y) noexcept
> | ^~~~~~
> /usr/include/c++/11/thread:82:29: error: ‘thread’ has not been declared
> 82 | operator>(thread::id __x, thread::id __y) noexcept
> | ^~~~~~
> /usr/include/c++/11/thread:86:3: error: declaration of ‘operator>=’ as non-function
> 86 | operator>=(thread::id __x, thread::id __y) noexcept
> | ^~~~~~~~
> /usr/include/c++/11/thread:86:14: error: ‘thread’ has not been declared
> 86 | operator>=(thread::id __x, thread::id __y) noexcept
> | ^~~~~~
> /usr/include/c++/11/thread:86:30: error: ‘thread’ has not been declared
> 86 | operator>=(thread::id __x, thread::id __y) noexcept
> | ^~~~~~
> /usr/include/c++/11/thread:91:12: error: ‘basic_ostream’ does not name a type
> 91 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> In file included from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/locale_facets_nonio.h:59:39: error: ‘locale’ has not been declared
> 59 | struct __timepunct_cache : public locale::facet
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:59:47: error: expected ‘{’ before ‘facet’
> 59 | struct __timepunct_cache : public locale::facet
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:150:5: error: ‘__timepunct_cache’ does not name a type
> 150 | __timepunct_cache<_CharT>::~__timepunct_cache()
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:161:22: error: expected initializer before ‘<’ token
> 161 | __timepunct_cache<char>::_S_timezones[14];
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:166:22: error: expected initializer before ‘<’ token
> 166 | __timepunct_cache<wchar_t>::_S_timezones[14];
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:171:36: error: expected initializer before ‘<’ token
> 171 | const _CharT* __timepunct_cache<_CharT>::_S_timezones[14];
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:174:32: error: ‘locale’ has not been declared
> 174 | class __timepunct : public locale::facet
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:174:40: error: expected ‘{’ before ‘facet’
> 174 | class __timepunct : public locale::facet
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:320:5: error: ‘locale’ does not name a type
> 320 | locale::id __timepunct<_CharT>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:325:16: error: expected initializer before ‘<’ token
> 325 | __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc);
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:329:16: error: expected initializer before ‘<’ token
> 329 | __timepunct<char>::_M_put(char*, size_t, const char*, const tm*) const throw ();
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:334:16: error: expected initializer before ‘<’ token
> 334 | __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:338:16: error: expected initializer before ‘<’ token
> 338 | __timepunct<wchar_t>::_M_put(wchar_t*, size_t, const wchar_t*,
> | ^
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:346,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/x86_64-linux-gnu/c++/11/bits/time_members.h:42:5: error: ‘__timepunct’ does not name a type
> 42 | __timepunct<_CharT>::__timepunct(size_t __refs)
> | ^~~~~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/time_members.h:48:5: error: ‘__timepunct’ does not name a type
> 48 | __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
> | ^~~~~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/time_members.h:54:5: error: ‘__timepunct’ does not name a type
> 54 | __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
> | ^~~~~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/time_members.h:80:5: error: ‘__timepunct’ does not name a type
> 80 | __timepunct<_CharT>::~__timepunct()
> | ^~~~~~~~~~~
> In file included from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/locale_facets_nonio.h:368:29: error: ‘locale’ has not been declared
> 368 | class time_get : public locale::facet, public time_base
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:368:37: error: expected ‘{’ before ‘facet’
> 368 | class time_get : public locale::facet, public time_base
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:756:5: error: ‘locale’ does not name a type
> 756 | locale::id time_get<_CharT, _InIter>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:760:44: error: expected template-name before ‘<’ token
> 760 | class time_get_byname : public time_get<_CharT, _InIter>
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:760:44: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/locale_facets_nonio.h:797:29: error: ‘locale’ has not been declared
> 797 | class time_put : public locale::facet
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:797:37: error: expected ‘{’ before ‘facet’
> 797 | class time_put : public locale::facet
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:889:5: error: ‘locale’ does not name a type
> 889 | locale::id time_put<_CharT, _OutIter>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:893:44: error: expected template-name before ‘<’ token
> 893 | class time_put_byname : public time_put<_CharT, _OutIter>
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:893:44: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/locale_facets_nonio.h:954:40: error: ‘locale’ has not been declared
> 954 | struct __moneypunct_cache : public locale::facet
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:954:48: error: expected ‘{’ before ‘facet’
> 954 | struct __moneypunct_cache : public locale::facet
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1003:5: error: ‘__moneypunct_cache’ does not name a type
> 1003 | __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache()
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1024:31: error: ‘locale’ has not been declared
> 1024 | class moneypunct : public locale::facet, public money_base
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1024:39: error: expected ‘{’ before ‘facet’
> 1024 | class moneypunct : public locale::facet, public money_base
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1375:5: error: ‘locale’ does not name a type
> 1375 | locale::id moneypunct<_CharT, _Intl>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1378:26: error: expected initializer before ‘<’ token
> 1378 | const bool moneypunct<_CharT, _Intl>::intl;
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1381:5: error: ‘moneypunct’ does not name a type
> 1381 | moneypunct<char, true>::~moneypunct();
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1384:5: error: ‘moneypunct’ does not name a type
> 1384 | moneypunct<char, false>::~moneypunct();
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1388:15: error: expected initializer before ‘<’ token
> 1388 | moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*);
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1392:15: error: expected initializer before ‘<’ token
> 1392 | moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*);
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1396:5: error: ‘moneypunct’ does not name a type
> 1396 | moneypunct<wchar_t, true>::~moneypunct();
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1399:5: error: ‘moneypunct’ does not name a type
> 1399 | moneypunct<wchar_t, false>::~moneypunct();
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1403:15: error: expected initializer before ‘<’ token
> 1403 | moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1408:15: error: expected initializer before ‘<’ token
> 1408 | moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1414:48: error: expected template-name before ‘<’ token
> 1414 | class moneypunct_byname : public moneypunct<_CharT, _Intl>
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1414:48: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/locale_facets_nonio.h:1448:33: error: expected initializer before ‘<’ token
> 1448 | const bool moneypunct_byname<_CharT, _Intl>::intl;
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1468:30: error: ‘locale’ has not been declared
> 1468 | class money_get : public locale::facet
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1468:38: error: expected ‘{’ before ‘facet’
> 1468 | class money_get : public locale::facet
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1613:5: error: ‘locale’ does not name a type
> 1613 | locale::id money_get<_CharT, _InIter>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1629:30: error: ‘locale’ has not been declared
> 1629 | class money_put : public locale::facet
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1629:38: error: expected ‘{’ before ‘facet’
> 1629 | class money_put : public locale::facet
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1778:5: error: ‘locale’ does not name a type
> 1778 | locale::id money_put<_CharT, _OutIter>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1815:29: error: ‘locale’ has not been declared
> 1815 | class messages : public locale::facet, public messages_base
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1815:37: error: expected ‘{’ before ‘facet’
> 1815 | class messages : public locale::facet, public messages_base
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1984:5: error: ‘locale’ does not name a type
> 1984 | locale::id messages<_CharT>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1988:5: error: ‘string’ does not name a type
> 1988 | string
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1993:5: error: ‘wstring’ does not name a type
> 1993 | wstring
> | ^~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1999:44: error: expected template-name before ‘<’ token
> 1999 | class messages_byname : public messages<_CharT>
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1999:44: error: expected ‘{’ before ‘<’ token
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2026,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:44:5: error: ‘messages’ does not name a type
> 44 | messages<_CharT>::messages(size_t __refs)
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:50:5: error: ‘messages’ does not name a type
> 50 | messages<_CharT>::messages(__c_locale __cloc, const char* __s,
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:69:14: error: expected nested-name-specifier before ‘messages’
> 69 | typename messages<_CharT>::catalog
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:69:22: error: expected initializer before ‘<’ token
> 69 | typename messages<_CharT>::catalog
> | ^
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:79:5: error: ‘messages’ does not name a type
> 79 | messages<_CharT>::~messages()
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:87:14: error: expected nested-name-specifier before ‘messages’
> 87 | typename messages<_CharT>::catalog
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:87:22: error: expected initializer before ‘<’ token
> 87 | typename messages<_CharT>::catalog
> | ^
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:99:13: error: expected initializer before ‘<’ token
> 99 | messages<_CharT>::do_close(catalog) const
> | ^
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:104:5: error: ‘messages_byname’ does not name a type; did you mean ‘messages_base’?
> 104 | messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
> | ^~~~~~~~~~~~~~~
> | messages_base
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:131:14: error: expected nested-name-specifier before ‘messages’
> 131 | typename messages<char>::catalog
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:131:22: error: expected initializer before ‘<’ token
> 131 | typename messages<char>::catalog
> | ^
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:137:13: error: expected initializer before ‘<’ token
> 137 | messages<char>::do_close(catalog) const;
> | ^
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:141:14: error: expected nested-name-specifier before ‘messages’
> 141 | typename messages<wchar_t>::catalog
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:141:22: error: expected initializer before ‘<’ token
> 141 | typename messages<wchar_t>::catalog
> | ^
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:147:13: error: expected initializer before ‘<’ token
> 147 | messages<wchar_t>::do_close(catalog) const;
> | ^
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2029,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/codecvt.h:72:14: error: ‘locale’ has not been declared
> 72 | : public locale::facet, public codecvt_base
> | ^~~~~~
> /usr/include/c++/11/bits/codecvt.h:72:22: error: expected ‘{’ before ‘facet’
> 72 | : public locale::facet, public codecvt_base
> | ^~~~~
> /usr/include/c++/11/bits/codecvt.h:278:37: error: expected template-name before ‘<’ token
> 278 | : public __codecvt_abstract_base<_InternT, _ExternT, _StateT>
> | ^
> /usr/include/c++/11/bits/codecvt.h:278:37: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/codecvt.h:337:5: error: ‘locale’ does not name a type
> 337 | locale::id codecvt<_InternT, _ExternT, _StateT>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/codecvt.h:341:11: error: ‘codecvt’ is not a class template
> 341 | class codecvt<char, char, mbstate_t>
> | ^~~~~~~
> /usr/include/c++/11/bits/codecvt.h:341:40: error: template specifiers not specified in declaration of ‘template<class _InternT, class _ExternT, class _StateT> class std::codecvt’
> 341 | class codecvt<char, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:342:37: error: expected template-name before ‘<’ token
> 342 | : public __codecvt_abstract_base<char, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:404:11: error: ‘codecvt’ is not a class template
> 404 | class codecvt<wchar_t, char, mbstate_t>
> | ^~~~~~~
> /usr/include/c++/11/bits/codecvt.h:404:43: error: template specifiers not specified in declaration of ‘template<class _InternT, class _ExternT, class _StateT> class std::codecvt’
> 404 | class codecvt<wchar_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:405:37: error: expected template-name before ‘<’ token
> 405 | : public __codecvt_abstract_base<wchar_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:470:11: error: ‘codecvt’ is not a class template
> 470 | class codecvt<char16_t, char, mbstate_t>
> | ^~~~~~~
> /usr/include/c++/11/bits/codecvt.h:470:44: error: template specifiers not specified in declaration of ‘template<class _InternT, class _ExternT, class _StateT> class std::codecvt’
> 470 | class codecvt<char16_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:471:37: error: expected template-name before ‘<’ token
> 471 | : public __codecvt_abstract_base<char16_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:527:11: error: ‘codecvt’ is not a class template
> 527 | class codecvt<char32_t, char, mbstate_t>
> | ^~~~~~~
> /usr/include/c++/11/bits/codecvt.h:527:44: error: template specifiers not specified in declaration of ‘template<class _InternT, class _ExternT, class _StateT> class std::codecvt’
> 527 | class codecvt<char32_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:528:37: error: expected template-name before ‘<’ token
> 528 | : public __codecvt_abstract_base<char32_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:699:42: error: expected template-name before ‘<’ token
> 699 | class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
> | ^
> /usr/include/c++/11/bits/codecvt.h:699:42: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/codecvt.h:727:11: error: ‘codecvt_byname’ is not a class template
> 727 | class codecvt_byname<char16_t, char, mbstate_t>
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:727:51: error: template specifiers not specified in declaration of ‘template<class _InternT, class _ExternT, class _StateT> class std::codecvt_byname’
> 727 | class codecvt_byname<char16_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:728:21: error: expected template-name before ‘<’ token
> 728 | : public codecvt<char16_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:745:11: error: ‘codecvt_byname’ is not a class template
> 745 | class codecvt_byname<char32_t, char, mbstate_t>
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:745:51: error: template specifiers not specified in declaration of ‘template<class _InternT, class _ExternT, class _StateT> class std::codecvt_byname’
> 745 | class codecvt_byname<char32_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:746:21: error: expected template-name before ‘<’ token
> 746 | : public codecvt<char32_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:805:25: error: ‘codecvt_byname’ is not a class template
> 805 | extern template class codecvt_byname<char, char, mbstate_t>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:805:25: error: template argument required for ‘class codecvt_byname’
> /usr/include/c++/11/bits/codecvt.h:808:11: error: ‘codecvt’ is not a template function
> 808 | const codecvt<char, char, mbstate_t>&
> | ^~~~~~~
> /usr/include/c++/11/bits/codecvt.h:808:18: error: expected ‘;’ before ‘<’ token
> 808 | const codecvt<char, char, mbstate_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/codecvt.h:813:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 813 | has_facet<codecvt<char, char, mbstate_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:813:14: error: expected ‘;’ before ‘<’ token
> 813 | has_facet<codecvt<char, char, mbstate_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/codecvt.h:816:25: error: ‘codecvt_byname’ is not a class template
> 816 | extern template class codecvt_byname<wchar_t, char, mbstate_t>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:816:25: error: template argument required for ‘class codecvt_byname’
> /usr/include/c++/11/bits/codecvt.h:819:11: error: ‘codecvt’ is not a template function
> 819 | const codecvt<wchar_t, char, mbstate_t>&
> | ^~~~~~~
> /usr/include/c++/11/bits/codecvt.h:819:18: error: expected ‘;’ before ‘<’ token
> 819 | const codecvt<wchar_t, char, mbstate_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/codecvt.h:824:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 824 | has_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:824:14: error: expected ‘;’ before ‘<’ token
> 824 | has_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/codecvt.h:828:25: error: ‘codecvt_byname’ is not a class template
> 828 | extern template class codecvt_byname<char16_t, char, mbstate_t>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:828:25: error: template argument required for ‘class codecvt_byname’
> /usr/include/c++/11/bits/codecvt.h:829:25: error: ‘codecvt_byname’ is not a class template
> 829 | extern template class codecvt_byname<char32_t, char, mbstate_t>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:829:25: error: template argument required for ‘class codecvt_byname’
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2031,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:40:12: error: ‘__use_cache’ is not a class template
> 40 | struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:40:24: error: ‘__moneypunct_cache’ was not declared in this scope; did you mean ‘std::__moneypunct_cache’?
> 40 | struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
> | ^~~~~~~~~~~~~~~~~~
> | std::__moneypunct_cache
> In file included from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/locale_facets_nonio.h:954:12: note: ‘std::__moneypunct_cache’ declared here
> 954 | struct __moneypunct_cache : public locale::facet
> | ^~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2031,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:40:12: error: template argument required for ‘struct __use_cache’
> 40 | struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:40:58: error: expected unqualified-id before ‘>’ token
> 40 | struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:69:23: error: expected initializer before ‘<’ token
> 69 | __moneypunct_cache<_CharT, _Intl>::_M_cache(const locale& __loc)
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:136:7: error: too many template-parameter-lists
> 136 | money_get<_CharT, _InIter>::
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:370:14: error: expected initializer before ‘<’ token
> 370 | money_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:383:14: error: expected initializer before ‘<’ token
> 383 | money_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:423:7: error: too many template-parameter-lists
> 423 | money_put<_CharT, _OutIter>::
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:592:14: error: expected initializer before ‘<’ token
> 592 | money_put<_CharT, _OutIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:630:14: error: expected initializer before ‘<’ token
> 630 | money_put<_CharT, _OutIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:683:5: error: ‘time_base’ does not name a type
> 683 | time_base::dateorder
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:691:13: error: expected initializer before ‘<’ token
> 691 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:925:13: error: expected initializer before ‘<’ token
> 925 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:968:13: error: expected initializer before ‘<’ token
> 968 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1044:13: error: expected initializer before ‘<’ token
> 1044 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1116:13: error: expected initializer before ‘<’ token
> 1116 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1133:13: error: expected initializer before ‘<’ token
> 1133 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1150:13: error: expected initializer before ‘<’ token
> 1150 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1176:13: error: expected initializer before ‘<’ token
> 1176 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1202:13: error: expected initializer before ‘<’ token
> 1202 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1225:13: error: expected initializer before ‘<’ token
> 1225 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1297:13: error: expected initializer before ‘<’ token
> 1297 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1330:13: error: expected initializer before ‘<’ token
> 1330 | time_put<_CharT, _OutIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1365:13: error: expected initializer before ‘<’ token
> 1365 | time_put<_CharT, _OutIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1407:25: error: ‘moneypunct’ is not a class template
> 1407 | extern template class moneypunct<char, false>;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1407:25: error: explicit instantiation of non-template type ‘std::moneypunct’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1408:25: error: ‘moneypunct’ is not a class template
> 1408 | extern template class moneypunct<char, true>;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1408:25: error: explicit instantiation of non-template type ‘std::moneypunct’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1409:25: error: ‘moneypunct_byname’ is not a class template
> 1409 | extern template class moneypunct_byname<char, false>;
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1409:25: error: explicit instantiation of non-template type ‘std::moneypunct_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1410:25: error: ‘moneypunct_byname’ is not a class template
> 1410 | extern template class moneypunct_byname<char, true>;
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1410:25: error: explicit instantiation of non-template type ‘std::moneypunct_byname’
> In file included from /usr/include/c++/11/bits/stl_algobase.h:59,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1411:25: error: ‘__cxx11’ has not been declared
> 1411 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_get<char>;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2031,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1411:67: error: expected unqualified-id before ‘<’ token
> 1411 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_get<char>;
> | ^
> In file included from /usr/include/c++/11/bits/stl_algobase.h:59,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1412:25: error: ‘__cxx11’ has not been declared
> 1412 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_put<char>;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2031,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1412:67: error: expected unqualified-id before ‘<’ token
> 1412 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_put<char>;
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1413:25: error: ‘__timepunct’ is not a class template
> 1413 | extern template class __timepunct<char>;
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1413:25: error: template argument required for ‘class __timepunct’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1414:25: error: ‘time_put’ is not a class template
> 1414 | extern template class time_put<char>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1414:25: error: template argument required for ‘class time_put’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1415:25: error: ‘time_put_byname’ is not a class template
> 1415 | extern template class time_put_byname<char>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1415:25: error: template argument required for ‘class time_put_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1416:25: error: ‘time_get’ is not a class template
> 1416 | extern template class time_get<char>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1416:25: error: explicit instantiation of non-template type ‘std::time_get’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1417:25: error: ‘time_get_byname’ is not a class template
> 1417 | extern template class time_get_byname<char>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1417:25: error: explicit instantiation of non-template type ‘std::time_get_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1418:25: error: ‘messages’ is not a class template
> 1418 | extern template class messages<char>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1418:25: error: explicit instantiation of non-template type ‘std::messages’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1419:25: error: ‘messages_byname’ is not a class template
> 1419 | extern template class messages_byname<char>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1419:25: error: explicit instantiation of non-template type ‘std::messages_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1422:11: error: ‘moneypunct’ is not a template function
> 1422 | const moneypunct<char, true>&
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1422:21: error: expected ‘;’ before ‘<’ token
> 1422 | const moneypunct<char, true>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1426:11: error: ‘moneypunct’ is not a template function
> 1426 | const moneypunct<char, false>&
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1426:21: error: expected ‘;’ before ‘<’ token
> 1426 | const moneypunct<char, false>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1430:11: error: ‘money_put’ is not a template function
> 1430 | const money_put<char>&
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1430:20: error: expected ‘;’ before ‘<’ token
> 1430 | const money_put<char>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1434:11: error: ‘money_get’ is not a template function
> 1434 | const money_get<char>&
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1434:20: error: expected ‘;’ before ‘<’ token
> 1434 | const money_get<char>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1438:11: error: ‘__timepunct’ is not a template function
> 1438 | const __timepunct<char>&
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1438:22: error: expected ‘;’ before ‘<’ token
> 1438 | const __timepunct<char>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1442:11: error: ‘time_put’ is not a template function
> 1442 | const time_put<char>&
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1442:19: error: expected ‘;’ before ‘<’ token
> 1442 | const time_put<char>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1446:11: error: ‘time_get’ is not a template function
> 1446 | const time_get<char>&
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1446:19: error: expected ‘;’ before ‘<’ token
> 1446 | const time_get<char>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1450:11: error: ‘messages’ is not a template function
> 1450 | const messages<char>&
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1450:19: error: expected ‘;’ before ‘<’ token
> 1450 | const messages<char>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1455:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1455 | has_facet<moneypunct<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1455:14: error: expected ‘;’ before ‘<’ token
> 1455 | has_facet<moneypunct<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1459:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1459 | has_facet<money_put<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1459:14: error: expected ‘;’ before ‘<’ token
> 1459 | has_facet<money_put<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1463:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1463 | has_facet<money_get<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1463:14: error: expected ‘;’ before ‘<’ token
> 1463 | has_facet<money_get<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1467:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1467 | has_facet<__timepunct<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1467:14: error: expected ‘;’ before ‘<’ token
> 1467 | has_facet<__timepunct<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1471:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1471 | has_facet<time_put<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1471:14: error: expected ‘;’ before ‘<’ token
> 1471 | has_facet<time_put<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1475:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1475 | has_facet<time_get<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1475:14: error: expected ‘;’ before ‘<’ token
> 1475 | has_facet<time_get<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1479:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1479 | has_facet<messages<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1479:14: error: expected ‘;’ before ‘<’ token
> 1479 | has_facet<messages<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1482:25: error: ‘moneypunct’ is not a class template
> 1482 | extern template class moneypunct<wchar_t, false>;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1482:25: error: explicit instantiation of non-template type ‘std::moneypunct’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1483:25: error: ‘moneypunct’ is not a class template
> 1483 | extern template class moneypunct<wchar_t, true>;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1483:25: error: explicit instantiation of non-template type ‘std::moneypunct’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1484:25: error: ‘moneypunct_byname’ is not a class template
> 1484 | extern template class moneypunct_byname<wchar_t, false>;
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1484:25: error: explicit instantiation of non-template type ‘std::moneypunct_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1485:25: error: ‘moneypunct_byname’ is not a class template
> 1485 | extern template class moneypunct_byname<wchar_t, true>;
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1485:25: error: explicit instantiation of non-template type ‘std::moneypunct_byname’
> In file included from /usr/include/c++/11/bits/stl_algobase.h:59,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1486:25: error: ‘__cxx11’ has not been declared
> 1486 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_get<wchar_t>;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2031,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1486:67: error: expected unqualified-id before ‘<’ token
> 1486 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_get<wchar_t>;
> | ^
> In file included from /usr/include/c++/11/bits/stl_algobase.h:59,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1487:25: error: ‘__cxx11’ has not been declared
> 1487 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_put<wchar_t>;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2031,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1487:67: error: expected unqualified-id before ‘<’ token
> 1487 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_put<wchar_t>;
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1488:25: error: ‘__timepunct’ is not a class template
> 1488 | extern template class __timepunct<wchar_t>;
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1488:25: error: template argument required for ‘class __timepunct’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1489:25: error: ‘time_put’ is not a class template
> 1489 | extern template class time_put<wchar_t>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1489:25: error: template argument required for ‘class time_put’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1490:25: error: ‘time_put_byname’ is not a class template
> 1490 | extern template class time_put_byname<wchar_t>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1490:25: error: template argument required for ‘class time_put_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1491:25: error: ‘time_get’ is not a class template
> 1491 | extern template class time_get<wchar_t>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1491:25: error: explicit instantiation of non-template type ‘std::time_get’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1492:25: error: ‘time_get_byname’ is not a class template
> 1492 | extern template class time_get_byname<wchar_t>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1492:25: error: explicit instantiation of non-template type ‘std::time_get_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1493:25: error: ‘messages’ is not a class template
> 1493 | extern template class messages<wchar_t>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1493:25: error: explicit instantiation of non-template type ‘std::messages’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1494:25: error: ‘messages_byname’ is not a class template
> 1494 | extern template class messages_byname<wchar_t>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1494:25: error: explicit instantiation of non-template type ‘std::messages_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1497:11: error: ‘moneypunct’ is not a template function
> 1497 | const moneypunct<wchar_t, true>&
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1497:21: error: expected ‘;’ before ‘<’ token
> 1497 | const moneypunct<wchar_t, true>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1501:11: error: ‘moneypunct’ is not a template function
> 1501 | const moneypunct<wchar_t, false>&
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1501:21: error: expected ‘;’ before ‘<’ token
> 1501 | const moneypunct<wchar_t, false>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1505:11: error: ‘money_put’ is not a template function
> 1505 | const money_put<wchar_t>&
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1505:20: error: expected ‘;’ before ‘<’ token
> 1505 | const money_put<wchar_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1509:11: error: ‘money_get’ is not a template function
> 1509 | const money_get<wchar_t>&
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1509:20: error: expected ‘;’ before ‘<’ token
> 1509 | const money_get<wchar_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1513:11: error: ‘__timepunct’ is not a template function
> 1513 | const __timepunct<wchar_t>&
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1513:22: error: expected ‘;’ before ‘<’ token
> 1513 | const __timepunct<wchar_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1517:11: error: ‘time_put’ is not a template function
> 1517 | const time_put<wchar_t>&
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1517:19: error: expected ‘;’ before ‘<’ token
> 1517 | const time_put<wchar_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1521:11: error: ‘time_get’ is not a template function
> 1521 | const time_get<wchar_t>&
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1521:19: error: expected ‘;’ before ‘<’ token
> 1521 | const time_get<wchar_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1525:11: error: ‘messages’ is not a template function
> 1525 | const messages<wchar_t>&
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1525:19: error: expected ‘;’ before ‘<’ token
> 1525 | const messages<wchar_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1530:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1530 | has_facet<moneypunct<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1530:14: error: expected ‘;’ before ‘<’ token
> 1530 | has_facet<moneypunct<wchar_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1534:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1534 | has_facet<money_put<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1534:14: error: expected ‘;’ before ‘<’ token
> 1534 | has_facet<money_put<wchar_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1538:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1538 | has_facet<money_get<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1538:14: error: expected ‘;’ before ‘<’ token
> 1538 | has_facet<money_get<wchar_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1542:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1542 | has_facet<__timepunct<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1542:14: error: expected ‘;’ before ‘<’ token
> 1542 | has_facet<__timepunct<wchar_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1546:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1546 | has_facet<time_put<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1546:14: error: expected ‘;’ before ‘<’ token
> 1546 | has_facet<time_put<wchar_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1550:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1550 | has_facet<time_get<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1550:14: error: expected ‘;’ before ‘<’ token
> 1550 | has_facet<time_get<wchar_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1554:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1554 | has_facet<messages<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1554:14: error: expected ‘;’ before ‘<’ token
> 1554 | has_facet<messages<wchar_t> >(const locale&);
> | ^
> | ;
> In file included from /usr/include/c++/11/locale:43,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__do_str_codecvt(const _InChar*, const _InChar*, _OutStr&, const _Codecvt&, _State&, std::size_t&, _Fn)’:
> /usr/include/c++/11/bits/locale_conv.h:70:7: error: ‘codecvt_base’ has not been declared
> 70 | codecvt_base::result __result;
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:76:11: error: ‘__result’ was not declared in this scope
> 76 | __result = (__cvt.*__fn)(__state, __next, __last, __next,
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:80:14: error: ‘__result’ was not declared in this scope
> 80 | while (__result == codecvt_base::partial && __next != __last
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:80:26: error: ‘codecvt_base’ has not been declared
> 80 | while (__result == codecvt_base::partial && __next != __last
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:83:23: error: ‘codecvt_base’ has not been declared
> 83 | if (__result == codecvt_base::error)
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:91:32: error: ‘is_same’ was not declared in this scope
> 91 | if _GLIBCXX17_CONSTEXPR (is_same<typename _Codecvt::intern_type,
> | ^~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:91:32: note: suggested alternatives:
> In file included from /usr/include/c++/11/bits/move.h:57,
> from /usr/include/c++/11/bits/stl_pair.h:59,
> from /usr/include/c++/11/bits/stl_algobase.h:64,
> from /usr/include/c++/11/bits/stl_tree.h:63,
> from /usr/include/c++/11/map:60,
> from ./core/math/zstatistic.h:21,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/type_traits:614:12: note: ‘std::is_same’
> 614 | struct is_same;
> | ^~~~~~~
> In file included from /usr/include/eigen3/Eigen/Core:162,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/eigen3/Eigen/src/Core/util/Meta.h:148:41: note: ‘Eigen::internal::is_same’
> 148 | template<typename T, typename U> struct is_same { enum { value = 0 }; };
> | ^~~~~~~
> In file included from /usr/include/c++/11/locale:43,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/locale_conv.h:91:70: error: expected ‘(’ before ‘,’ token
> 91 | if _GLIBCXX17_CONSTEXPR (is_same<typename _Codecvt::intern_type,
> | ^
> | (
> /usr/include/c++/11/bits/locale_conv.h:92:70: error: expected ‘(’ before ‘>’ token
> 92 | typename _Codecvt::extern_type>())
> | ^
> | (
> /usr/include/c++/11/bits/locale_conv.h:92:72: error: expected primary-expression before ‘)’ token
> 92 | typename _Codecvt::extern_type>())
> | ^
> /usr/include/c++/11/bits/locale_conv.h:93:25: error: ‘codecvt_base’ has not been declared
> 93 | if (__result == codecvt_base::noconv)
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:109:22: error: ‘basic_string’ has not been declared
> 109 | basic_string<_CharT, _Traits, _Alloc>& __outstr,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:109:34: error: expected ‘,’ or ‘...’ before ‘<’ token
> 109 | basic_string<_CharT, _Traits, _Alloc>& __outstr,
> | ^
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__str_codecvt_in(const char*, const char*, int)’:
> /usr/include/c++/11/bits/locale_conv.h:113:24: error: ‘codecvt’ does not name a type
> 113 | using _Codecvt = codecvt<_CharT, char, _State>;
> | ^~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:115:11: error: ‘codecvt_base’ does not name a type
> 115 | = codecvt_base::result
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:118:7: error: ‘_ConvFn’ was not declared in this scope
> 118 | _ConvFn __fn = &codecvt<_CharT, char, _State>::in;
> | ^~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:119:48: error: ‘__outstr’ was not declared in this scope
> 119 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:119:58: error: ‘__cvt’ was not declared in this scope
> 119 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~
> /usr/include/c++/11/bits/locale_conv.h:119:65: error: ‘__state’ was not declared in this scope; did you mean ‘_State’?
> 119 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~~~
> | _State
> /usr/include/c++/11/bits/locale_conv.h:120:31: error: ‘__count’ was not declared in this scope; did you mean ‘count’?
> 120 | __count, __fn);
> | ^~~~~~~
> | count
> /usr/include/c++/11/bits/locale_conv.h:120:40: error: ‘__fn’ was not declared in this scope; did you mean ‘__yn’?
> 120 | __count, __fn);
> | ^~~~
> | __yn
> /usr/include/c++/11/bits/locale_conv.h:119:14: error: there are no arguments to ‘__do_str_codecvt’ that depend on a template parameter, so a declaration of ‘__do_str_codecvt’ must be available [-fpermissive]
> 119 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:127:22: error: ‘basic_string’ has not been declared
> 127 | basic_string<_CharT, _Traits, _Alloc>& __outstr,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:127:34: error: expected ‘,’ or ‘...’ before ‘<’ token
> 127 | basic_string<_CharT, _Traits, _Alloc>& __outstr,
> | ^
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__str_codecvt_in(const char*, const char*, int)’:
> /usr/include/c++/11/bits/locale_conv.h:132:48: error: ‘__outstr’ was not declared in this scope
> 132 | return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n);
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:132:58: error: ‘__cvt’ was not declared in this scope
> 132 | return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n);
> | ^~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:139:26: error: ‘basic_string’ has not been declared
> 139 | basic_string<_CharT, _Traits, _Alloc>& __outstr,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:139:38: error: expected ‘,’ or ‘...’ before ‘<’ token
> 139 | basic_string<_CharT, _Traits, _Alloc>& __outstr,
> | ^
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__str_codecvt_in_all(const char*, const char*, int)’:
> /usr/include/c++/11/bits/locale_conv.h:144:48: error: ‘__outstr’ was not declared in this scope
> 144 | return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n)
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:144:58: error: ‘__cvt’ was not declared in this scope
> 144 | return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n)
> | ^~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:152:23: error: ‘basic_string’ has not been declared
> 152 | basic_string<char, _Traits, _Alloc>& __outstr,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:152:35: error: expected ‘,’ or ‘...’ before ‘<’ token
> 152 | basic_string<char, _Traits, _Alloc>& __outstr,
> | ^
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__str_codecvt_out(const _CharT*, const _CharT*, int)’:
> /usr/include/c++/11/bits/locale_conv.h:156:24: error: ‘codecvt’ does not name a type
> 156 | using _Codecvt = codecvt<_CharT, char, _State>;
> | ^~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:158:11: error: ‘codecvt_base’ does not name a type
> 158 | = codecvt_base::result
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:161:7: error: ‘_ConvFn’ was not declared in this scope
> 161 | _ConvFn __fn = &codecvt<_CharT, char, _State>::out;
> | ^~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:162:48: error: ‘__outstr’ was not declared in this scope
> 162 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:162:58: error: ‘__cvt’ was not declared in this scope
> 162 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~
> /usr/include/c++/11/bits/locale_conv.h:162:65: error: ‘__state’ was not declared in this scope; did you mean ‘_State’?
> 162 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~~~
> | _State
> /usr/include/c++/11/bits/locale_conv.h:163:31: error: ‘__count’ was not declared in this scope; did you mean ‘count’?
> 163 | __count, __fn);
> | ^~~~~~~
> | count
> /usr/include/c++/11/bits/locale_conv.h:163:40: error: ‘__fn’ was not declared in this scope; did you mean ‘__yn’?
> 163 | __count, __fn);
> | ^~~~
> | __yn
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:170:23: error: ‘basic_string’ has not been declared
> 170 | basic_string<char, _Traits, _Alloc>& __outstr,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:170:35: error: expected ‘,’ or ‘...’ before ‘<’ token
> 170 | basic_string<char, _Traits, _Alloc>& __outstr,
> | ^
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__str_codecvt_out(const _CharT*, const _CharT*, int)’:
> /usr/include/c++/11/bits/locale_conv.h:175:49: error: ‘__outstr’ was not declared in this scope
> 175 | return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n);
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:175:59: error: ‘__cvt’ was not declared in this scope
> 175 | return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n);
> | ^~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:182:27: error: ‘basic_string’ has not been declared
> 182 | basic_string<char, _Traits, _Alloc>& __outstr,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:182:39: error: expected ‘,’ or ‘...’ before ‘<’ token
> 182 | basic_string<char, _Traits, _Alloc>& __outstr,
> | ^
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__str_codecvt_out_all(const _CharT*, const _CharT*, int)’:
> /usr/include/c++/11/bits/locale_conv.h:187:49: error: ‘__outstr’ was not declared in this scope
> 187 | return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n)
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:187:59: error: ‘__cvt’ was not declared in this scope
> 187 | return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n)
> | ^~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:230:35: error: ‘allocator’ does not name a type
> 230 | typename _Wide_alloc = allocator<_Elem>,
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:230:44: error: expected ‘>’ before ‘<’ token
> 230 | typename _Wide_alloc = allocator<_Elem>,
> | ^
> /usr/include/c++/11/bits/locale_conv.h:235:15: error: ‘basic_string’ does not name a type
> 235 | typedef basic_string<char, char_traits<char>, _Byte_alloc> byte_string;
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:236:15: error: ‘basic_string’ does not name a type
> 236 | typedef basic_string<_Elem, char_traits<_Elem>, _Wide_alloc> wide_string;
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:238:24: error: ‘wide_string’ has not been declared
> 238 | typedef typename wide_string::traits_type::int_type int_type;
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:277:29: error: ‘byte_string’ does not name a type; did you mean ‘basic_string’?
> 277 | wstring_convert(const byte_string& __byte_err,
> | ^~~~~~~~~~~
> | basic_string
> /usr/include/c++/11/bits/locale_conv.h:278:29: error: ‘wide_string’ does not name a type; did you mean ‘wstring’?
> 278 | const wide_string& __wide_err = wide_string())
> | ^~~~~~~~~~~
> | wstring
> /usr/include/c++/11/bits/locale_conv.h:295:7: error: ‘wide_string’ does not name a type; did you mean ‘wstring’?
> 295 | wide_string
> | ^~~~~~~~~~~
> | wstring
> /usr/include/c++/11/bits/locale_conv.h:302:7: error: ‘wide_string’ does not name a type; did you mean ‘wstring’?
> 302 | wide_string
> | ^~~~~~~~~~~
> | wstring
> /usr/include/c++/11/bits/locale_conv.h:306:7: error: ‘wide_string’ does not name a type; did you mean ‘wstring’?
> 306 | wide_string
> | ^~~~~~~~~~~
> | wstring
> /usr/include/c++/11/bits/locale_conv.h:313:7: error: ‘wide_string’ does not name a type; did you mean ‘wstring’?
> 313 | wide_string
> | ^~~~~~~~~~~
> | wstring
> /usr/include/c++/11/bits/locale_conv.h:329:7: error: ‘byte_string’ does not name a type; did you mean ‘basic_string’?
> 329 | byte_string
> | ^~~~~~~~~~~
> | basic_string
> /usr/include/c++/11/bits/locale_conv.h:336:7: error: ‘byte_string’ does not name a type; did you mean ‘basic_string’?
> 336 | byte_string
> | ^~~~~~~~~~~
> | basic_string
> /usr/include/c++/11/bits/locale_conv.h:342:7: error: ‘byte_string’ does not name a type; did you mean ‘basic_string’?
> 342 | byte_string
> | ^~~~~~~~~~~
> | basic_string
> /usr/include/c++/11/bits/locale_conv.h:349:7: error: ‘byte_string’ does not name a type; did you mean ‘basic_string’?
> 349 | byte_string
> | ^~~~~~~~~~~
> | basic_string
> /usr/include/c++/11/bits/locale_conv.h:373:7: error: ‘unique_ptr’ does not name a type
> 373 | unique_ptr<_Codecvt> _M_cvt;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:374:7: error: ‘byte_string’ does not name a type; did you mean ‘basic_string’?
> 374 | byte_string _M_byte_err_string;
> | ^~~~~~~~~~~
> | basic_string
> /usr/include/c++/11/bits/locale_conv.h:375:7: error: ‘wide_string’ does not name a type; did you mean ‘wstring’?
> 375 | wide_string _M_wide_err_string;
> | ^~~~~~~~~~~
> | wstring
> /usr/include/c++/11/bits/locale_conv.h:278:55: error: there are no arguments to ‘wide_string’ that depend on a template parameter, so a declaration of ‘wide_string’ must be available [-fpermissive]
> 278 | const wide_string& __wide_err = wide_string())
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h: In constructor ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>::wstring_convert()’:
> /usr/include/c++/11/bits/locale_conv.h:241:27: error: class ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>’ does not have any field named ‘_M_cvt’
> 241 | wstring_convert() : _M_cvt(new _Codecvt()) { }
> | ^~~~~~
> /usr/include/c++/11/bits/locale_conv.h: In constructor ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>::wstring_convert(_Codecvt*)’:
> /usr/include/c++/11/bits/locale_conv.h:250:43: error: class ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>’ does not have any field named ‘_M_cvt’
> 250 | wstring_convert(_Codecvt* __pcvt) : _M_cvt(__pcvt)
> | ^~~~~~
> /usr/include/c++/11/bits/locale_conv.h:252:14: error: ‘_M_cvt’ was not declared in this scope; did you mean ‘__pcvt’?
> 252 | if (!_M_cvt)
> | ^~~~~~
> | __pcvt
> /usr/include/c++/11/bits/locale_conv.h:253:11: error: there are no arguments to ‘__throw_logic_error’ that depend on a template parameter, so a declaration of ‘__throw_logic_error’ must be available [-fpermissive]
> 253 | __throw_logic_error("wstring_convert");
> | ^~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h: In constructor ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>::wstring_convert(_Codecvt*, std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>::state_type)’:
> /usr/include/c++/11/bits/locale_conv.h:265:9: error: class ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>’ does not have any field named ‘_M_cvt’
> 265 | : _M_cvt(__pcvt), _M_state(__state), _M_with_cvtstate(true)
> | ^~~~~~
> /usr/include/c++/11/bits/locale_conv.h:267:14: error: ‘_M_cvt’ was not declared in this scope; did you mean ‘__pcvt’?
> 267 | if (!_M_cvt)
> | ^~~~~~
> | __pcvt
> /usr/include/c++/11/bits/locale_conv.h:268:11: error: there are no arguments to ‘__throw_logic_error’ that depend on a template parameter, so a declaration of ‘__throw_logic_error’ must be available [-fpermissive]
> 268 | __throw_logic_error("wstring_convert");
> | ^~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h: In constructor ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>::wstring_convert(const int&, const int&)’:
> /usr/include/c++/11/bits/locale_conv.h:279:9: error: class ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>’ does not have any field named ‘_M_cvt’
> 279 | : _M_cvt(new _Codecvt),
> | ^~~~~~
> /usr/include/c++/11/bits/locale_conv.h:280:9: error: class ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>’ does not have any field named ‘_M_byte_err_string’
> 280 | _M_byte_err_string(__byte_err), _M_wide_err_string(__wide_err),
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:280:41: error: class ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>’ does not have any field named ‘_M_wide_err_string’
> 280 | _M_byte_err_string(__byte_err), _M_wide_err_string(__wide_err),
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:283:14: error: ‘_M_cvt’ was not declared in this scope
> 283 | if (!_M_cvt)
> | ^~~~~~
> /usr/include/c++/11/bits/locale_conv.h:284:11: error: there are no arguments to ‘__throw_logic_error’ that depend on a template parameter, so a declaration of ‘__throw_logic_error’ must be available [-fpermissive]
> 284 | __throw_logic_error("wstring_convert");
> | ^~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:386:27: error: ‘char_traits’ does not name a type
> 386 | typename _Tr = char_traits<_Elem>>
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:386:38: error: expected ‘>’ before ‘<’ token
> 386 | typename _Tr = char_traits<_Elem>>
> | ^
> /usr/include/c++/11/bits/locale_conv.h:387:51: error: expected template-name before ‘<’ token
> 387 | class wbuffer_convert : public basic_streambuf<_Elem, _Tr>
> | ^
> /usr/include/c++/11/bits/locale_conv.h:387:51: error: expected ‘{’ before ‘<’ token
> In file included from ./core/mrtrix.h:34,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/iomanip:56:27: error: ‘ios_base’ does not name a type
> 56 | struct _Resetiosflags { ios_base::fmtflags _M_mask; };
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:65:10: error: ‘_Resetiosflags’ does not name a type
> 65 | inline _Resetiosflags
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:70:12: error: ‘basic_istream’ does not name a type
> 70 | inline basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:78:12: error: ‘basic_ostream’ does not name a type
> 78 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:86:25: error: ‘ios_base’ does not name a type
> 86 | struct _Setiosflags { ios_base::fmtflags _M_mask; };
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:95:10: error: ‘_Setiosflags’ does not name a type
> 95 | inline _Setiosflags
> | ^~~~~~~~~~~~
> /usr/include/c++/11/iomanip:100:12: error: ‘basic_istream’ does not name a type
> 100 | inline basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:108:12: error: ‘basic_ostream’ does not name a type
> 108 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:126:10: error: ‘_Setbase’ does not name a type
> 126 | inline _Setbase
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:131:12: error: ‘basic_istream’ does not name a type
> 131 | inline basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:142:12: error: ‘basic_ostream’ does not name a type
> 142 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:164:12: error: ‘_Setfill’ does not name a type
> 164 | inline _Setfill<_CharT>
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:169:12: error: ‘basic_istream’ does not name a type
> 169 | inline basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:177:12: error: ‘basic_ostream’ does not name a type
> 177 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:194:10: error: ‘_Setprecision’ does not name a type
> 194 | inline _Setprecision
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:199:12: error: ‘basic_istream’ does not name a type
> 199 | inline basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:207:12: error: ‘basic_ostream’ does not name a type
> 207 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:224:10: error: ‘_Setw’ does not name a type
> 224 | inline _Setw
> | ^~~~~
> /usr/include/c++/11/iomanip:229:12: error: ‘basic_istream’ does not name a type
> 229 | inline basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:237:12: error: ‘basic_ostream’ does not name a type
> 237 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:258:12: error: ‘_Get_money’ does not name a type
> 258 | inline _Get_money<_MoneyT>
> | ^~~~~~~~~~
> /usr/include/c++/11/iomanip:263:5: error: ‘basic_istream’ does not name a type
> 263 | basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:305:12: error: ‘_Put_money’ does not name a type
> 305 | inline _Put_money<_MoneyT>
> | ^~~~~~~~~~
> /usr/include/c++/11/iomanip:310:5: error: ‘basic_ostream’ does not name a type
> 310 | basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:357:12: error: ‘_Put_time’ does not name a type
> 357 | inline _Put_time<_CharT>
> | ^~~~~~~~~
> /usr/include/c++/11/iomanip:362:5: error: ‘basic_ostream’ does not name a type
> 362 | basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:412:12: error: ‘_Get_time’ does not name a type
> 412 | inline _Get_time<_CharT>
> | ^~~~~~~~~
> /usr/include/c++/11/iomanip:417:5: error: ‘basic_istream’ does not name a type
> 417 | basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:508:19: error: ‘ostream’ is not a template function
> 508 | extern template ostream& operator<<(ostream&, _Setfill<char>);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:508:26: error: expected ‘;’ before ‘&’ token
> 508 | extern template ostream& operator<<(ostream&, _Setfill<char>);
> | ^
> | ;
> /usr/include/c++/11/iomanip:509:19: error: ‘ostream’ is not a template function
> 509 | extern template ostream& operator<<(ostream&, _Setiosflags);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:509:26: error: expected ‘;’ before ‘&’ token
> 509 | extern template ostream& operator<<(ostream&, _Setiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:510:19: error: ‘ostream’ is not a template function
> 510 | extern template ostream& operator<<(ostream&, _Resetiosflags);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:510:26: error: expected ‘;’ before ‘&’ token
> 510 | extern template ostream& operator<<(ostream&, _Resetiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:511:19: error: ‘ostream’ is not a template function
> 511 | extern template ostream& operator<<(ostream&, _Setbase);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:511:26: error: expected ‘;’ before ‘&’ token
> 511 | extern template ostream& operator<<(ostream&, _Setbase);
> | ^
> | ;
> /usr/include/c++/11/iomanip:512:19: error: ‘ostream’ is not a template function
> 512 | extern template ostream& operator<<(ostream&, _Setprecision);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:512:26: error: expected ‘;’ before ‘&’ token
> 512 | extern template ostream& operator<<(ostream&, _Setprecision);
> | ^
> | ;
> /usr/include/c++/11/iomanip:513:19: error: ‘ostream’ is not a template function
> 513 | extern template ostream& operator<<(ostream&, _Setw);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:513:26: error: expected ‘;’ before ‘&’ token
> 513 | extern template ostream& operator<<(ostream&, _Setw);
> | ^
> | ;
> /usr/include/c++/11/iomanip:514:19: error: ‘istream’ is not a template function
> 514 | extern template istream& operator>>(istream&, _Setfill<char>);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:514:26: error: expected ‘;’ before ‘&’ token
> 514 | extern template istream& operator>>(istream&, _Setfill<char>);
> | ^
> | ;
> /usr/include/c++/11/iomanip:515:19: error: ‘istream’ is not a template function
> 515 | extern template istream& operator>>(istream&, _Setiosflags);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:515:26: error: expected ‘;’ before ‘&’ token
> 515 | extern template istream& operator>>(istream&, _Setiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:516:19: error: ‘istream’ is not a template function
> 516 | extern template istream& operator>>(istream&, _Resetiosflags);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:516:26: error: expected ‘;’ before ‘&’ token
> 516 | extern template istream& operator>>(istream&, _Resetiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:517:19: error: ‘istream’ is not a template function
> 517 | extern template istream& operator>>(istream&, _Setbase);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:517:26: error: expected ‘;’ before ‘&’ token
> 517 | extern template istream& operator>>(istream&, _Setbase);
> | ^
> | ;
> /usr/include/c++/11/iomanip:518:19: error: ‘istream’ is not a template function
> 518 | extern template istream& operator>>(istream&, _Setprecision);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:518:26: error: expected ‘;’ before ‘&’ token
> 518 | extern template istream& operator>>(istream&, _Setprecision);
> | ^
> | ;
> /usr/include/c++/11/iomanip:519:19: error: ‘istream’ is not a template function
> 519 | extern template istream& operator>>(istream&, _Setw);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:519:26: error: expected ‘;’ before ‘&’ token
> 519 | extern template istream& operator>>(istream&, _Setw);
> | ^
> | ;
> /usr/include/c++/11/iomanip:522:19: error: ‘wostream’ is not a template function
> 522 | extern template wostream& operator<<(wostream&, _Setfill<wchar_t>);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:522:27: error: expected ‘;’ before ‘&’ token
> 522 | extern template wostream& operator<<(wostream&, _Setfill<wchar_t>);
> | ^
> | ;
> /usr/include/c++/11/iomanip:523:19: error: ‘wostream’ is not a template function
> 523 | extern template wostream& operator<<(wostream&, _Setiosflags);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:523:27: error: expected ‘;’ before ‘&’ token
> 523 | extern template wostream& operator<<(wostream&, _Setiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:524:19: error: ‘wostream’ is not a template function
> 524 | extern template wostream& operator<<(wostream&, _Resetiosflags);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:524:27: error: expected ‘;’ before ‘&’ token
> 524 | extern template wostream& operator<<(wostream&, _Resetiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:525:19: error: ‘wostream’ is not a template function
> 525 | extern template wostream& operator<<(wostream&, _Setbase);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:525:27: error: expected ‘;’ before ‘&’ token
> 525 | extern template wostream& operator<<(wostream&, _Setbase);
> | ^
> | ;
> /usr/include/c++/11/iomanip:526:19: error: ‘wostream’ is not a template function
> 526 | extern template wostream& operator<<(wostream&, _Setprecision);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:526:27: error: expected ‘;’ before ‘&’ token
> 526 | extern template wostream& operator<<(wostream&, _Setprecision);
> | ^
> | ;
> /usr/include/c++/11/iomanip:527:19: error: ‘wostream’ is not a template function
> 527 | extern template wostream& operator<<(wostream&, _Setw);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:527:27: error: expected ‘;’ before ‘&’ token
> 527 | extern template wostream& operator<<(wostream&, _Setw);
> | ^
> | ;
> /usr/include/c++/11/iomanip:528:19: error: ‘wistream’ is not a template function
> 528 | extern template wistream& operator>>(wistream&, _Setfill<wchar_t>);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:528:27: error: expected ‘;’ before ‘&’ token
> 528 | extern template wistream& operator>>(wistream&, _Setfill<wchar_t>);
> | ^
> | ;
> /usr/include/c++/11/iomanip:529:19: error: ‘wistream’ is not a template function
> 529 | extern template wistream& operator>>(wistream&, _Setiosflags);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:529:27: error: expected ‘;’ before ‘&’ token
> 529 | extern template wistream& operator>>(wistream&, _Setiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:530:19: error: ‘wistream’ is not a template function
> 530 | extern template wistream& operator>>(wistream&, _Resetiosflags);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:530:27: error: expected ‘;’ before ‘&’ token
> 530 | extern template wistream& operator>>(wistream&, _Resetiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:531:19: error: ‘wistream’ is not a template function
> 531 | extern template wistream& operator>>(wistream&, _Setbase);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:531:27: error: expected ‘;’ before ‘&’ token
> 531 | extern template wistream& operator>>(wistream&, _Setbase);
> | ^
> | ;
> /usr/include/c++/11/iomanip:532:19: error: ‘wistream’ is not a template function
> 532 | extern template wistream& operator>>(wistream&, _Setprecision);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:532:27: error: expected ‘;’ before ‘&’ token
> 532 | extern template wistream& operator>>(wistream&, _Setprecision);
> | ^
> | ;
> /usr/include/c++/11/iomanip:533:19: error: ‘wistream’ is not a template function
> 533 | extern template wistream& operator>>(wistream&, _Setw);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:533:27: error: expected ‘;’ before ‘&’ token
> 533 | extern template wistream& operator>>(wistream&, _Setw);
> | ^
> | ;
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/exception.h:112:7: error: ‘vector’ does not name a type
> 112 | vector<std::string> description;
> | ^~~~~~
> ./core/exception.h: In constructor ‘MR::Exception::Exception(const string&)’:
> ./core/exception.h:85:9: error: ‘description’ was not declared in this scope
> 85 | description.push_back (msg);
> | ^~~~~~~~~~~
> ./core/exception.h: In constructor ‘MR::Exception::Exception(const MR::Exception&, const string&)’:
> ./core/exception.h:88:9: error: class ‘MR::Exception’ does not have any field named ‘description’
> 88 | description (previous_exception.description) {
> | ^~~~~~~~~~~
> ./core/exception.h:88:41: error: ‘const class MR::Exception’ has no member named ‘description’
> 88 | description (previous_exception.description) {
> | ^~~~~~~~~~~
> ./core/exception.h:89:9: error: ‘description’ was not declared in this scope
> 89 | description.push_back (msg);
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘std::size_t MR::Exception::num() const’:
> ./core/exception.h:97:16: error: ‘description’ was not declared in this scope
> 97 | return description.size();
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘const string& MR::Exception::operator[](std::size_t) const’:
> ./core/exception.h:100:16: error: ‘description’ was not declared in this scope
> 100 | return description[n];
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘void MR::Exception::push_back(const string&)’:
> ./core/exception.h:103:9: error: ‘description’ was not declared in this scope
> 103 | description.push_back (s);
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘void MR::Exception::push_back(const MR::Exception&)’:
> ./core/exception.h:106:25: error: ‘const class MR::Exception’ has no member named ‘description’
> 106 | for (auto s : e.description)
> | ^~~~~~~~~~~
> ./core/exception.h: At global scope:
> ./core/exception.h:115:50: error: expected class-name before ‘{’ token
> 115 | class InvalidImageException : public Exception { NOMEMALIGN
> | ^
> ./core/exception.h:118:36: error: ‘Exception’ does not name a type
> 118 | InvalidImageException (const Exception& previous_exception, const std::string& msg)
> | ^~~~~~~~~
> ./core/exception.h: In constructor ‘MR::InvalidImageException::InvalidImageException(const string&)’:
> ./core/exception.h:117:56: error: class ‘MR::InvalidImageException’ does not have any field named ‘Exception’
> 117 | InvalidImageException (const std::string& msg) : Exception(msg) {}
> | ^~~~~~~~~
> ./core/exception.h: In constructor ‘MR::InvalidImageException::InvalidImageException(const int&, const string&)’:
> ./core/exception.h:119:11: error: class ‘MR::InvalidImageException’ does not have any field named ‘Exception’
> 119 | : Exception(previous_exception, msg) {}
> | ^~~~~~~~~
> ./core/exception.h: At global scope:
> ./core/exception.h:123:44: error: expected class-name before ‘{’ token
> 123 | class CancelException : public Exception { NOMEMALIGN
> | ^
> ./core/exception.h: In constructor ‘MR::CancelException::CancelException()’:
> ./core/exception.h:125:28: error: class ‘MR::CancelException’ does not have any field named ‘Exception’
> 125 | CancelException () : Exception ("operation cancelled by user") { }
> | ^~~~~~~~~
> ./core/exception.h: At global scope:
> ./core/exception.h:128:41: error: ‘Exception’ does not name a type
> 128 | void display_exception_cmdline (const Exception& E, int log_level);
> | ^~~~~~~~~
> ./core/exception.h: In constructor ‘MR::LogLevelLatch::LogLevelLatch(int)’:
> ./core/exception.h:137:23: error: ‘App’ has not been declared
> 137 | prev_level (App::log_level)
> | ^~~
> ./core/exception.h:139:9: error: ‘App’ has not been declared
> 139 | App::log_level = new_level;
> | ^~~
> ./core/exception.h: In destructor ‘MR::LogLevelLatch::~LogLevelLatch()’:
> ./core/exception.h:142:9: error: ‘App’ has not been declared
> 142 | App::log_level = prev_level;
> | ^~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:64:12: error: ‘max_digits’ is not a class template
> 64 | struct max_digits<X, typename std::enable_if<std::is_fundamental<X>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:64:91: error: redeclared with 1 template parameter
> 64 | struct max_digits<X, typename std::enable_if<std::is_fundamental<X>::value, int>::type> { NOMEMALIGN
> | ^
> ./core/mrtrix.h:59:12: note: previous declaration ‘template<class X, class ReturnType> struct MR::max_digits’ used 2 template parameters
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:69:12: error: ‘max_digits’ is not a class template
> 69 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:69:108: error: redeclared with 1 template parameter
> 69 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^
> ./core/mrtrix.h:59:12: note: previous declaration ‘template<class X, class ReturnType> struct MR::max_digits’ used 2 template parameters
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:74:12: error: ‘max_digits’ is not a class template
> 74 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::value_type>::value && !std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/mrtrix.h:74:163: error: redeclared with 1 template parameter
> 74 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::value_type>::value && !std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/mrtrix.h:59:12: note: previous declaration ‘template<class X, class ReturnType> struct MR::max_digits’ used 2 template parameters
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/mrtrix.h: In function ‘std::string Eigen::unquote(const string&)’:
> ./core/mrtrix.h:149:76: error: definition of ‘auto Eigen::unquote(const string&)::<lambda>::operator()(const char&) const’ is not in namespace enclosing ‘Eigen::unquote(const string&)::<lambda>’ [-fpermissive]
> 149 | if (std::none_of (substring.begin(), substring.end(), [] (const char& c) { return c == '\"'; }))
> | ^
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:173:3: error: ‘vector’ does not name a type
> 173 | vector<std::string> split (
> | ^~~~~~
> ./core/mrtrix.h:179:10: error: ‘vector’ does not name a type
> 179 | inline vector<std::string> split_lines (
> | ^~~~~~
> ./core/mrtrix.h: In function ‘std::size_t Eigen::is_dash(const string&)’:
> ./core/mrtrix.h:227:21: error: ‘char_is_dash’ was not declared in this scope; did you mean ‘Eigen::char_is_dash’?
> 227 | size_t nbytes = char_is_dash (arg.c_str());
> | ^~~~~~~~~~~~
> | Eigen::char_is_dash
> ./core/mrtrix.h:205:17: note: ‘Eigen::char_is_dash’ declared here
> 205 | inline size_t char_is_dash (const char* arg)
> | ^~~~~~~~~~~~
> ./core/mrtrix.h: In function ‘bool Eigen::consume_dash(const char*&)’:
> ./core/mrtrix.h:238:21: error: ‘char_is_dash’ was not declared in this scope; did you mean ‘Eigen::char_is_dash’?
> 238 | size_t nbytes = char_is_dash (arg);
> | ^~~~~~~~~~~~
> | Eigen::char_is_dash
> ./core/mrtrix.h:205:17: note: ‘Eigen::char_is_dash’ declared here
> 205 | inline size_t char_is_dash (const char* arg)
> | ^~~~~~~~~~~~
> ./core/mrtrix.h: In function ‘std::string Eigen::str(const T&, int)’:
> ./core/mrtrix.h:252:14: error: ‘max_digits’ was not declared in this scope; did you mean ‘MR::max_digits’?
> 252 | else if (max_digits<T>::value())
> | ^~~~~~~~~~
> | MR::max_digits
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/mrtrix.h:59:12: note: ‘MR::max_digits’ declared here
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/mrtrix.h:252:26: error: expected primary-expression before ‘>’ token
> 252 | else if (max_digits<T>::value())
> | ^
> ./core/mrtrix.h:252:29: error: ‘::value’ has not been declared
> 252 | else if (max_digits<T>::value())
> | ^~~~~
> ./core/mrtrix.h:253:37: error: expected primary-expression before ‘>’ token
> 253 | stream.precision (max_digits<T>::value());
> | ^
> ./core/mrtrix.h:253:40: error: ‘::value’ has not been declared
> 253 | stream.precision (max_digits<T>::value());
> | ^~~~~
> ./core/mrtrix.h:256:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 256 | throw Exception (std::string("error converting type \"") + typeid(T).name() + "\" value to string");
> | ^~~~~~~~~
> ./core/mrtrix.h: In function ‘T Eigen::to(const string&)’:
> ./core/mrtrix.h:262:33: error: there are no arguments to ‘strip’ that depend on a template parameter, so a declaration of ‘strip’ must be available [-fpermissive]
> 262 | const std::string stripped (strip (string));
> | ^~~~~
> ./core/mrtrix.h:268:37: error: there are no arguments to ‘lowercase’ that depend on a template parameter, so a declaration of ‘lowercase’ must be available [-fpermissive]
> 268 | const std::string lstring = lowercase (stripped);
> | ^~~~~~~~~
> ./core/mrtrix.h:278:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 278 | throw Exception ("error converting string \"" + string + "\" to type \"" + typeid(T).name() + "\"");
> | ^~~~~~~~~
> ./core/mrtrix.h:280:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 280 | throw Exception ("incomplete use of string \"" + string + "\" in conversion to type \"" + typeid(T).name() + "\"");
> | ^~~~~~~~~
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:285:29: error: expected initializer before ‘<’ token
> 285 | template <> inline bool to<bool> (const std::string& string)
> | ^
> ./core/mrtrix.h:295:37: error: expected initializer before ‘<’ token
> 295 | template <> inline std::string str<cfloat> (const cfloat& value, int precision)
> | ^
> ./core/mrtrix.h:308:22: error: ‘cfloat’ does not name a type
> 308 | template <> inline cfloat to<cfloat> (const std::string& string)
> | ^~~~~~
> ./core/mrtrix.h:353:37: error: expected initializer before ‘<’ token
> 353 | template <> inline std::string str<cdouble> (const cdouble& value, int precision)
> | ^
> ./core/mrtrix.h:366:22: error: ‘cdouble’ does not name a type
> 366 | template <> inline cdouble to<cdouble> (const std::string& string)
> | ^~~~~~~
> ./core/mrtrix.h:417:3: error: ‘vector’ does not name a type
> 417 | vector<default_type> parse_floats (const std::string& spec);
> | ^~~~~~
> ./core/mrtrix.h:422:3: error: ‘vector’ does not name a type
> 422 | vector<IntType> parse_ints (const std::string& spec, const IntType last = std::numeric_limits<IntType>::max())
> | ^~~~~~
> ./core/mrtrix.h:498:34: error: ‘vector’ does not name a type
> 498 | inline std::string join (const vector<std::string>& V, const std::string& delimiter)
> | ^~~~~~
> ./core/mrtrix.h:498:40: error: expected ‘,’ or ‘...’ before ‘<’ token
> 498 | inline std::string join (const vector<std::string>& V, const std::string& delimiter)
> | ^
> ./core/mrtrix.h: In function ‘std::string Eigen::join(int)’:
> ./core/mrtrix.h:501:9: error: ‘V’ was not declared in this scope
> 501 | if (V.empty())
> | ^
> ./core/mrtrix.h:503:11: error: ‘V’ was not declared in this scope
> 503 | ret = V[0];
> | ^
> ./core/mrtrix.h:504:10: error: ‘vector’ was not declared in this scope
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~~~~
> ./core/mrtrix.h:504:10: note: suggested alternatives:
> In file included from /usr/include/c++/11/vector:67,
> from ./core/types.h:27,
> from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/bits/stl_vector.h:389:11: note: ‘std::vector’
> 389 | class vector : protected _Vector_base<_Tp, _Alloc>
> | ^~~~~~
> In file included from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> ./core/types.h:253:11: note: ‘MR::vector’
> 253 | class vector : public ::std::vector<X, Eigen::aligned_allocator<X>> { NOMEMALIGN
> | ^~~~~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/mrtrix.h:504:28: error: expected primary-expression before ‘>’ token
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:504:31: error: ‘::const_iterator’ has not been declared
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~~~~~~~~~~~~
> ./core/mrtrix.h:504:64: error: ‘i’ was not declared in this scope
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:505:14: error: ‘delimiter’ was not declared in this scope
> 505 | ret += delimiter + *i;
> | ^~~~~~~~~
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:510:34: error: ‘vector’ does not name a type
> 510 | inline std::string join (const vector<T>& V, const std::string& delimiter)
> | ^~~~~~
> ./core/mrtrix.h:510:40: error: expected ‘,’ or ‘...’ before ‘<’ token
> 510 | inline std::string join (const vector<T>& V, const std::string& delimiter)
> | ^
> ./core/mrtrix.h: In function ‘std::string Eigen::join(int)’:
> ./core/mrtrix.h:513:9: error: ‘V’ was not declared in this scope
> 513 | if (V.empty())
> | ^
> ./core/mrtrix.h:515:15: error: ‘V’ was not declared in this scope
> 515 | ret = str(V[0]);
> | ^
> ./core/mrtrix.h:515:11: error: there are no arguments to ‘str’ that depend on a template parameter, so a declaration of ‘str’ must be available [-fpermissive]
> 515 | ret = str(V[0]);
> | ^~~
> ./core/mrtrix.h:516:25: error: expected ‘;’ before ‘<’ token
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> | ;
> ./core/mrtrix.h:516:25: error: expected primary-expression before ‘<’ token
> ./core/mrtrix.h:516:27: error: expected primary-expression before ‘>’ token
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:516:30: error: ‘::const_iterator’ has not been declared
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~~~~~~~~~~~~
> ./core/mrtrix.h:516:44: error: expected ‘;’ before ‘i’
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~
> | ;
> ./core/mrtrix.h:516:45: error: ‘i’ was not declared in this scope
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:516:61: error: expected ‘)’ before ‘;’ token
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ~ ^
> | )
> ./core/mrtrix.h:516:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~
> ./core/mrtrix.h:516:63: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:516:63: error: ‘i’ was not declared in this scope
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: At global scope:
> ./core/cmdline_option.h:65:15: error: ‘ArgFlags’ does not name a type
> 65 | constexpr ArgFlags None = 0;
> | ^~~~~~~~
> ./core/cmdline_option.h:66:15: error: ‘ArgFlags’ does not name a type
> 66 | constexpr ArgFlags Optional = 0x1;
> | ^~~~~~~~
> ./core/cmdline_option.h:67:15: error: ‘ArgFlags’ does not name a type
> 67 | constexpr ArgFlags AllowMultiple = 0x2;
> | ^~~~~~~~
> ./core/cmdline_option.h:122:9: error: ‘ArgType’ does not name a type
> 122 | ArgType type;
> | ^~~~~~~
> ./core/cmdline_option.h:124:9: error: ‘ArgFlags’ does not name a type
> 124 | ArgFlags flags;
> | ^~~~~~~~
> ./core/cmdline_option.h:133:13: error: ‘default_type’ does not name a type
> 133 | default_type min, max;
> | ^~~~~~~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:206:37: error: ‘default_type’ does not name a type
> 206 | Argument& type_float (const default_type min = -std::numeric_limits<default_type>::infinity(),
> | ^~~~~~~~~~~~
> ./core/cmdline_option.h:207:37: error: ‘default_type’ does not name a type
> 207 | const default_type max = std::numeric_limits<default_type>::infinity()) {
> | ^~~~~~~~~~~~
> ./core/cmdline_option.h:206:77: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 206 | Argument& type_float (const default_type min = -std::numeric_limits<default_type>::infinity(),
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:206:89: error: template argument 1 is invalid
> 206 | Argument& type_float (const default_type min = -std::numeric_limits<default_type>::infinity(),
> | ^
> ./core/cmdline_option.h:207:76: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 207 | const default_type max = std::numeric_limits<default_type>::infinity()) {
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:207:88: error: template argument 1 is invalid
> 207 | const default_type max = std::numeric_limits<default_type>::infinity()) {
> | ^
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In constructor ‘MR::App::Argument::Argument(const char*, std::string)’:
> ./core/cmdline_option.h:112:42: error: class ‘MR::App::Argument’ does not have any field named ‘type’
> 112 | id (name), desc (description), type (Undefined), flags (None)
> | ^~~~
> ./core/cmdline_option.h:112:48: error: ‘Undefined’ was not declared in this scope; did you mean ‘MR::App::Undefined’?
> 112 | id (name), desc (description), type (Undefined), flags (None)
> | ^~~~~~~~~
> | MR::App::Undefined
> ./core/cmdline_option.h:45:7: note: ‘MR::App::Undefined’ declared here
> 45 | Undefined,
> | ^~~~~~~~~
> ./core/cmdline_option.h:112:60: error: class ‘MR::App::Argument’ does not have any field named ‘flags’
> 112 | id (name), desc (description), type (Undefined), flags (None)
> | ^~~~~
> ./core/cmdline_option.h:112:67: error: ‘None’ was not declared in this scope
> 112 | id (name), desc (description), type (Undefined), flags (None)
> | ^~~~
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::optional()’:
> ./core/cmdline_option.h:154:11: error: ‘flags’ was not declared in this scope
> 154 | flags |= Optional;
> | ^~~~~
> ./core/cmdline_option.h:154:20: error: ‘Optional’ was not declared in this scope; did you mean ‘optional’?
> 154 | flags |= Optional;
> | ^~~~~~~~
> | optional
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::allow_multiple()’:
> ./core/cmdline_option.h:161:11: error: ‘flags’ was not declared in this scope
> 161 | flags |= AllowMultiple;
> | ^~~~~
> ./core/cmdline_option.h:161:20: error: ‘AllowMultiple’ was not declared in this scope; did you mean ‘allow_multiple’?
> 161 | flags |= AllowMultiple;
> | ^~~~~~~~~~~~~
> | allow_multiple
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_text()’:
> ./core/cmdline_option.h:168:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 168 | type = Text;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:168:18: error: ‘Text’ was not declared in this scope; did you mean ‘MR::App::Text’?
> 168 | type = Text;
> | ^~~~
> | MR::App::Text
> ./core/cmdline_option.h:46:7: note: ‘MR::App::Text’ declared here
> 46 | Text,
> | ^~~~
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_image_in()’:
> ./core/cmdline_option.h:175:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 175 | type = ImageIn;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:175:18: error: ‘ImageIn’ was not declared in this scope; did you mean ‘MR::App::ImageIn’?
> 175 | type = ImageIn;
> | ^~~~~~~
> | MR::App::ImageIn
> ./core/cmdline_option.h:55:7: note: ‘MR::App::ImageIn’ declared here
> 55 | ImageIn,
> | ^~~~~~~
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_image_out()’:
> ./core/cmdline_option.h:182:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 182 | type = ImageOut;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:182:18: error: ‘ImageOut’ was not declared in this scope; did you mean ‘MR::App::ImageOut’?
> 182 | type = ImageOut;
> | ^~~~~~~~
> | MR::App::ImageOut
> ./core/cmdline_option.h:56:7: note: ‘MR::App::ImageOut’ declared here
> 56 | ImageOut,
> | ^~~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_integer(int64_t, int64_t)’:
> ./core/cmdline_option.h:190:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 190 | type = Integer;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:190:18: error: ‘Integer’ was not declared in this scope; did you mean ‘MR::App::Integer’?
> 190 | type = Integer;
> | ^~~~~~~
> | MR::App::Integer
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:48:7: note: ‘MR::App::Integer’ declared here
> 48 | Integer,
> | ^~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_bool()’:
> ./core/cmdline_option.h:200:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 200 | type = Boolean;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:200:18: error: ‘Boolean’ was not declared in this scope; did you mean ‘MR::App::Boolean’?
> 200 | type = Boolean;
> | ^~~~~~~
> | MR::App::Boolean
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:47:7: note: ‘MR::App::Boolean’ declared here
> 47 | Boolean,
> | ^~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_float(int, int)’:
> ./core/cmdline_option.h:209:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 209 | type = Float;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:209:18: error: ‘Float’ was not declared in this scope; did you mean ‘MR::App::Float’?
> 209 | type = Float;
> | ^~~~~
> | MR::App::Float
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:49:7: note: ‘MR::App::Float’ declared here
> 49 | Float,
> | ^~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:210:20: error: ‘struct MR::App::Argument::<unnamed union>::<unnamed>’ has no member named ‘min’
> 210 | limits.f.min = min;
> | ^~~
> ./core/cmdline_option.h:211:20: error: ‘struct MR::App::Argument::<unnamed union>::<unnamed>’ has no member named ‘max’
> 211 | limits.f.max = max;
> | ^~~
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_choice(const char* const*)’:
> ./core/cmdline_option.h:228:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 228 | type = Choice;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:228:18: error: ‘Choice’ was not declared in this scope; did you mean ‘MR::App::Choice’?
> 228 | type = Choice;
> | ^~~~~~
> | MR::App::Choice
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:54:7: note: ‘MR::App::Choice’ declared here
> 54 | Choice,
> | ^~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_file_in()’:
> ./core/cmdline_option.h:236:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 236 | type = ArgFileIn;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:236:18: error: ‘ArgFileIn’ was not declared in this scope; did you mean ‘MR::App::ArgFileIn’?
> 236 | type = ArgFileIn;
> | ^~~~~~~~~
> | MR::App::ArgFileIn
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:50:7: note: ‘MR::App::ArgFileIn’ declared here
> 50 | ArgFileIn,
> | ^~~~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_file_out()’:
> ./core/cmdline_option.h:243:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 243 | type = ArgFileOut;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:243:18: error: ‘ArgFileOut’ was not declared in this scope; did you mean ‘MR::App::ArgFileOut’?
> 243 | type = ArgFileOut;
> | ^~~~~~~~~~
> | MR::App::ArgFileOut
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:51:7: note: ‘MR::App::ArgFileOut’ declared here
> 51 | ArgFileOut,
> | ^~~~~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_directory_in()’:
> ./core/cmdline_option.h:250:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 250 | type = ArgDirectoryIn;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:250:18: error: ‘ArgDirectoryIn’ was not declared in this scope; did you mean ‘MR::App::ArgDirectoryIn’?
> 250 | type = ArgDirectoryIn;
> | ^~~~~~~~~~~~~~
> | MR::App::ArgDirectoryIn
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:52:7: note: ‘MR::App::ArgDirectoryIn’ declared here
> 52 | ArgDirectoryIn,
> | ^~~~~~~~~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_directory_out()’:
> ./core/cmdline_option.h:257:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 257 | type = ArgDirectoryOut;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:257:18: error: ‘ArgDirectoryOut’ was not declared in this scope; did you mean ‘MR::App::ArgDirectoryOut’?
> 257 | type = ArgDirectoryOut;
> | ^~~~~~~~~~~~~~~
> | MR::App::ArgDirectoryOut
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:53:7: note: ‘MR::App::ArgDirectoryOut’ declared here
> 53 | ArgDirectoryOut,
> | ^~~~~~~~~~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_sequence_int()’:
> ./core/cmdline_option.h:264:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 264 | type = IntSeq;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:264:18: error: ‘IntSeq’ was not declared in this scope; did you mean ‘MR::App::IntSeq’?
> 264 | type = IntSeq;
> | ^~~~~~
> | MR::App::IntSeq
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:57:7: note: ‘MR::App::IntSeq’ declared here
> 57 | IntSeq,
> | ^~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_sequence_float()’:
> ./core/cmdline_option.h:271:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 271 | type = FloatSeq;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:271:18: error: ‘FloatSeq’ was not declared in this scope; did you mean ‘MR::App::FloatSeq’?
> 271 | type = FloatSeq;
> | ^~~~~~~~
> | MR::App::FloatSeq
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:58:7: note: ‘MR::App::FloatSeq’ declared here
> 58 | FloatSeq,
> | ^~~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_tracks_in()’:
> ./core/cmdline_option.h:278:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 278 | type = TracksIn;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:278:18: error: ‘TracksIn’ was not declared in this scope; did you mean ‘MR::App::TracksIn’?
> 278 | type = TracksIn;
> | ^~~~~~~~
> | MR::App::TracksIn
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:59:7: note: ‘MR::App::TracksIn’ declared here
> 59 | TracksIn,
> | ^~~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_tracks_out()’:
> ./core/cmdline_option.h:285:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 285 | type = TracksOut;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:285:18: error: ‘TracksOut’ was not declared in this scope; did you mean ‘MR::App::TracksOut’?
> 285 | type = TracksOut;
> | ^~~~~~~~~
> | MR::App::TracksOut
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:60:7: note: ‘MR::App::TracksOut’ declared here
> 60 | TracksOut,
> | ^~~~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_various()’:
> ./core/cmdline_option.h:292:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 292 | type = Various;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:292:18: error: ‘Various’ was not declared in this scope; did you mean ‘MR::App::Various’?
> 292 | type = Various;
> | ^~~~~~~
> | MR::App::Various
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:61:7: note: ‘MR::App::Various’ declared here
> 61 | Various
> | ^~~~~~~
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h: At global scope:
> ./core/cmdline_option.h:343:33: error: expected template-name before ‘<’ token
> 343 | class Option : public vector<Argument> { NOMEMALIGN
> | ^
> ./core/cmdline_option.h:343:33: error: expected ‘{’ before ‘<’ token
> ./core/cmdline_option.h:343:33: error: expected unqualified-id before ‘<’ token
> ./core/cmdline_option.h:418:38: error: expected template-name before ‘<’ token
> 418 | class OptionGroup : public vector<Option> { NOMEMALIGN
> | ^
> ./core/cmdline_option.h:418:38: error: expected ‘{’ before ‘<’ token
> ./core/cmdline_option.h:418:38: error: expected unqualified-id before ‘<’ token
> In file included from ./core/app.h:31,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/file/path.h: In function ‘bool Eigen::exists(const string&)’:
> ./core/file/path.h:99:13: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 99 | throw Exception (strerror (errno));
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/app.h:31,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/file/path.h: In function ‘bool Eigen::is_dir(const string&)’:
> ./core/file/path.h:115:13: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 115 | throw Exception (strerror (errno));
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/app.h:31,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/file/path.h: In function ‘bool Eigen::is_file(const string&)’:
> ./core/file/path.h:125:13: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 125 | throw Exception (strerror (errno));
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/app.h:31,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/file/path.h: In function ‘bool Eigen::has_suffix(const string&, const std::initializer_list<const std::__cxx11::basic_string<char> >&)’:
> ./core/file/path.h:140:57: error: definition of ‘auto Eigen::has_suffix(const string&, const std::initializer_list<const std::__cxx11::basic_string<char> >&)::<lambda>::operator()(const string&) const’ is not in namespace enclosing ‘Eigen::has_suffix(const string&, const std::initializer_list<const std::__cxx11::basic_string<char> >&)::<lambda>’ [-fpermissive]
> 140 | [&] (const std::string& suffix) { return has_suffix (name, suffix); });
> | ^
> ./core/file/path.h: In lambda function:
> ./core/file/path.h:140:68: error: ‘has_suffix’ was not declared in this scope; did you mean ‘Eigen::has_suffix’?
> 140 | [&] (const std::string& suffix) { return has_suffix (name, suffix); });
> | ^~~~~~~~~~
> | Eigen::has_suffix
> ./core/file/path.h:136:17: note: ‘Eigen::has_suffix’ declared here
> 136 | inline bool has_suffix (const std::string &name, const std::initializer_list<const std::string> &suffix_list)
> | ^~~~~~~~~~
> ./core/file/path.h: At global scope:
> ./core/file/path.h:143:60: error: ‘vector’ does not name a type
> 143 | inline bool has_suffix (const std::string &name, const vector<std::string> &suffix_list)
> | ^~~~~~
> ./core/file/path.h:143:66: error: expected ‘,’ or ‘...’ before ‘<’ token
> 143 | inline bool has_suffix (const std::string &name, const vector<std::string> &suffix_list)
> | ^
> ./core/file/path.h: In function ‘bool Eigen::has_suffix(const string&, int)’:
> ./core/file/path.h:145:27: error: ‘suffix_list’ was not declared in this scope
> 145 | return std::any_of (suffix_list.begin(),
> | ^~~~~~~~~~~
> ./core/file/path.h:147:57: error: definition of ‘auto Eigen::has_suffix(const string&, int)::<lambda>::operator()(const string&) const’ is not in namespace enclosing ‘Eigen::has_suffix(const string&, int)::<lambda>’ [-fpermissive]
> 147 | [&] (const std::string& suffix) { return has_suffix (name, suffix); });
> | ^
> ./core/file/path.h: In lambda function:
> ./core/file/path.h:147:68: error: ‘has_suffix’ was not declared in this scope; did you mean ‘Eigen::has_suffix’?
> 147 | [&] (const std::string& suffix) { return has_suffix (name, suffix); });
> | ^~~~~~~~~~
> | Eigen::has_suffix
> ./core/file/path.h:143:17: note: ‘Eigen::has_suffix’ declared here
> 143 | inline bool has_suffix (const std::string &name, const vector<std::string> &suffix_list)
> | ^~~~~~~~~~
> ./core/file/path.h: In function ‘bool Eigen::is_mrtrix_image(const string&)’:
> ./core/file/path.h:153:9: error: ‘Path’ has not been declared
> 153 | Path::has_suffix (name, {".mif", ".mih", ".mif.gz"});
> | ^~~~
> ./core/file/path.h: In function ‘std::string Eigen::cwd()’:
> ./core/file/path.h:165:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 165 | throw Exception ("failed to get current working directory!");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/app.h:31,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/file/path.h: In function ‘std::string Eigen::home()’:
> ./core/file/path.h:175:15: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 175 | throw Exception (HOME_ENV " environment variable is not set!");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/app.h:31,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/file/path.h: In constructor ‘MR::Path::Dir::Dir(const string&)’:
> ./core/file/path.h:184:19: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 184 | throw Exception ("error opening folder " + name + ": " + strerror (errno));
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/app.h:31,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/file/path.h: In function ‘char Eigen::delimiter(const string&)’:
> ./core/file/path.h:216:11: error: ‘Path’ has not been declared
> 216 | if (Path::has_suffix (filename, ".tsv"))
> | ^~~~
> ./core/file/path.h:218:16: error: ‘Path’ has not been declared
> 218 | else if (Path::has_suffix (filename, ".csv"))
> | ^~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h: At global scope:
> ./core/app.h:62:46: error: expected primary-expression before ‘type’
> 62 | const char* argtype_description (ArgType type);
> | ^~~~
> ./core/app.h:76:38: error: expected template-name before ‘<’ token
> 76 | class Description : public vector<const char*> { NOMEMALIGN
> | ^
> ./core/app.h:76:38: error: expected ‘{’ before ‘<’ token
> ./core/app.h:76:38: error: expected unqualified-id before ‘<’ token
> ./core/app.h:110:38: error: expected template-name before ‘<’ token
> 110 | class ExampleList : public vector<Example> { NOMEMALIGN
> | ^
> ./core/app.h:110:38: error: expected ‘{’ before ‘<’ token
> ./core/app.h:110:38: error: expected unqualified-id before ‘<’ token
> ./core/app.h:124:39: error: expected template-name before ‘<’ token
> 124 | class ArgumentList : public vector<Argument> { NOMEMALIGN
> | ^
> ./core/app.h:124:39: error: expected ‘{’ before ‘<’ token
> ./core/app.h:124:39: error: expected unqualified-id before ‘<’ token
> ./core/app.h:139:37: error: expected template-name before ‘<’ token
> 139 | class OptionList : public vector<OptionGroup> { NOMEMALIGN
> | ^
> ./core/app.h:139:37: error: expected ‘{’ before ‘<’ token
> ./core/app.h:139:37: error: expected unqualified-id before ‘<’ token
> ./core/app.h: In function ‘void Eigen::check_overwrite(const string&)’:
> ./core/app.h:170:11: error: ‘Path’ has not been declared
> 170 | if (Path::exists (name) && !overwrite_files) {
> | ^~~~
> ./core/app.h:170:35: error: ‘overwrite_files’ was not declared in this scope; did you mean ‘Eigen::overwrite_files’?
> 170 | if (Path::exists (name) && !overwrite_files) {
> | ^~~~~~~~~~~~~~~
> | Eigen::overwrite_files
> ./core/app.h:49:17: note: ‘Eigen::overwrite_files’ declared here
> 49 | extern bool overwrite_files;
> | ^~~~~~~~~~~~~~~
> ./core/app.h:171:13: error: ‘check_overwrite_files_func’ was not declared in this scope; did you mean ‘Eigen::check_overwrite_files_func’?
> 171 | if (check_overwrite_files_func)
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> | Eigen::check_overwrite_files_func
> ./core/app.h:50:19: note: ‘Eigen::check_overwrite_files_func’ declared here
> 50 | extern void (*check_overwrite_files_func) (const std::string& name);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> ./core/app.h:174:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 174 | throw Exception ("output file \"" + name + "\" already exists (use -force option to force overwrite)");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h: At global scope:
> ./core/app.h:200:11: error: ‘Option’ does not name a type
> 200 | const Option* match_option (const char* stub);
> | ^~~~~~
> ./core/app.h:217:9: error: ‘default_type’ does not name a type
> 217 | default_type as_float () const;
> | ^~~~~~~~~~~~
> ./core/app.h:219:9: error: ‘vector’ does not name a type
> 219 | vector<int32_t> as_sequence_int () const {
> | ^~~~~~
> ./core/app.h:226:9: error: ‘vector’ does not name a type
> 226 | vector<uint32_t> as_sequence_uint () const {
> | ^~~~~~
> ./core/app.h:233:9: error: ‘vector’ does not name a type
> 233 | vector<default_type> as_sequence_float () const {
> | ^~~~~~
> ./core/app.h:249:18: error: ‘vector’ does not name a type
> 249 | operator vector<int32_t> () const { return as_sequence_int(); }
> | ^~~~~~
> ./core/app.h:250:18: error: ‘vector’ does not name a type
> 250 | operator vector<uint32_t> () const { return as_sequence_uint(); }
> | ^~~~~~
> ./core/app.h:251:18: error: ‘vector’ does not name a type
> 251 | operator vector<default_type> () const { return as_sequence_float(); }
> | ^~~~~~
> ./core/app.h:256:15: error: ‘Option’ does not name a type
> 256 | const Option* opt;
> | ^~~~~~
> ./core/app.h:257:15: error: ‘Argument’ does not name a type
> 257 | const Argument* arg;
> | ^~~~~~~~
> ./core/app.h:260:31: error: ‘Option’ does not name a type
> 260 | ParsedArgument (const Option* option, const Argument* argument, const char* text) :
> | ^~~~~~
> ./core/app.h:260:53: error: ‘Argument’ does not name a type
> 260 | ParsedArgument (const Option* option, const Argument* argument, const char* text) :
> | ^~~~~~~~
> ./core/app.h:265:21: error: ‘Exception’ has not been declared
> 265 | void error (Exception& e) const {
> | ^~~~~~~~~
> ./core/app.h: In member function ‘bool MR::App::ParsedArgument::as_bool() const’:
> ./core/app.h:214:40: error: ‘to’ was not declared in this scope; did you mean ‘Eigen::to’?
> 214 | bool as_bool () const { return to<bool> (p); }
> | ^~
> | Eigen::to
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/mrtrix.h:260:31: note: ‘Eigen::to’ declared here
> 260 | template <class T> inline T to (const std::string& string)
> | ^~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h:214:43: error: expected primary-expression before ‘bool’
> 214 | bool as_bool () const { return to<bool> (p); }
> | ^~~~
> ./core/app.h:214:43: error: expected ‘;’ before ‘bool’
> ./core/app.h:214:47: error: expected unqualified-id before ‘>’ token
> 214 | bool as_bool () const { return to<bool> (p); }
> | ^
> ./core/app.h: In member function ‘MR::App::ParsedArgument::operator float() const’:
> ./core/app.h:247:42: error: ‘as_float’ was not declared in this scope; did you mean ‘cfloat’?
> 247 | operator float () const { return as_float(); }
> | ^~~~~~~~
> | cfloat
> ./core/app.h: In member function ‘MR::App::ParsedArgument::operator double() const’:
> ./core/app.h:248:43: error: ‘as_float’ was not declared in this scope; did you mean ‘cfloat’?
> 248 | operator double () const { return as_float(); }
> | ^~~~~~~~
> | cfloat
> ./core/app.h: In constructor ‘MR::App::ParsedArgument::ParsedArgument(const int*, const int*, const char*)’:
> ./core/app.h:261:11: error: class ‘MR::App::ParsedArgument’ does not have any field named ‘opt’
> 261 | opt (option), arg (argument), p (text) {
> | ^~~
> ./core/app.h:261:25: error: class ‘MR::App::ParsedArgument’ does not have any field named ‘arg’
> 261 | opt (option), arg (argument), p (text) {
> | ^~~
> ./core/app.h: In member function ‘void MR::App::ParsedArgument::error(int&) const’:
> ./core/app.h:268:15: error: ‘opt’ was not declared in this scope
> 268 | if (opt) msg += std::string ("\" for option \"") + opt->id + "\"";
> | ^~~
> ./core/app.h:269:63: error: overloaded function with no contextual type information
> 269 | else msg += std::string ("\" for argument \"") + arg->id + "\"";
> | ^~
> ./core/app.h:270:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 270 | throw Exception (e, msg);
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h: At global scope:
> ./core/app.h:288:29: error: ‘Option’ does not name a type
> 288 | ParsedOption (const Option* option, const char* const* arguments) :
> | ^~~~~~
> ./core/app.h:313:15: error: ‘Option’ does not name a type
> 313 | const Option* opt;
> | ^~~~~~
> ./core/app.h:317:15: error: ‘ParsedArgument’ does not name a type
> 317 | const ParsedArgument operator[] (size_t num) const {
> | ^~~~~~~~~~~~~~
> ./core/app.h: In constructor ‘MR::App::ParsedOption::ParsedOption(const int*, const char* const*)’:
> ./core/app.h:289:13: error: class ‘MR::App::ParsedOption’ does not have any field named ‘opt’
> 289 | opt (option), args (arguments)
> | ^~~
> ./core/app.h:291:43: error: request for member ‘size’ in ‘* option’, which is of non-class type ‘const int’
> 291 | for (size_t i = 0; i != option->size(); ++i) {
> | ^~~~
> ./core/app.h:293:18: error: ‘consume_dash’ was not declared in this scope; did you mean ‘Eigen::consume_dash’?
> 293 | if (!consume_dash (p))
> | ^~~~~~~~~~~~
> | Eigen::consume_dash
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/mrtrix.h:236:15: note: ‘Eigen::consume_dash’ declared here
> 236 | inline bool consume_dash (const char*& arg)
> | ^~~~~~~~~~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h:295:28: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 295 | if (( (*option)[i].type == ImageIn || (*option)[i].type == ImageOut ) && is_dash (arguments[i]))
> | ^
> ./core/app.h:295:40: error: ‘ImageIn’ was not declared in this scope; did you mean ‘MR::App::ImageIn’?
> 295 | if (( (*option)[i].type == ImageIn || (*option)[i].type == ImageOut ) && is_dash (arguments[i]))
> | ^~~~~~~
> | MR::App::ImageIn
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:55:7: note: ‘MR::App::ImageIn’ declared here
> 55 | ImageIn,
> | ^~~~~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h:295:60: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 295 | if (( (*option)[i].type == ImageIn || (*option)[i].type == ImageOut ) && is_dash (arguments[i]))
> | ^
> ./core/app.h:295:72: error: ‘ImageOut’ was not declared in this scope; did you mean ‘MR::App::ImageOut’?
> 295 | if (( (*option)[i].type == ImageIn || (*option)[i].type == ImageOut ) && is_dash (arguments[i]))
> | ^~~~~~~~
> | MR::App::ImageOut
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:56:7: note: ‘MR::App::ImageOut’ declared here
> 56 | ImageOut,
> | ^~~~~~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h:295:86: error: ‘is_dash’ was not declared in this scope; did you mean ‘Eigen::is_dash’?
> 295 | if (( (*option)[i].type == ImageIn || (*option)[i].type == ImageOut ) && is_dash (arguments[i]))
> | ^~~~~~~
> | Eigen::is_dash
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/mrtrix.h:225:17: note: ‘Eigen::is_dash’ declared here
> 225 | inline size_t is_dash (const std::string& arg)
> | ^~~~~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h:297:26: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 297 | if ((*option)[i].type == Integer || (*option)[i].type == Float || (*option)[i].type == IntSeq ||
> | ^
> ./core/app.h:297:38: error: ‘Integer’ was not declared in this scope; did you mean ‘MR::App::Integer’?
> 297 | if ((*option)[i].type == Integer || (*option)[i].type == Float || (*option)[i].type == IntSeq ||
> | ^~~~~~~
> | MR::App::Integer
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:48:7: note: ‘MR::App::Integer’ declared here
> 48 | Integer,
> | ^~~~~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h:297:58: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 297 | if ((*option)[i].type == Integer || (*option)[i].type == Float || (*option)[i].type == IntSeq ||
> | ^
> ./core/app.h:297:70: error: ‘Float’ was not declared in this scope; did you mean ‘MR::App::Float’?
> 297 | if ((*option)[i].type == Integer || (*option)[i].type == Float || (*option)[i].type == IntSeq ||
> | ^~~~~
> | MR::App::Float
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:49:7: note: ‘MR::App::Float’ declared here
> 49 | Float,
> | ^~~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h:297:88: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 297 | if ((*option)[i].type == Integer || (*option)[i].type == Float || (*option)[i].type == IntSeq ||
> | ^
> ./core/app.h:297:100: error: ‘IntSeq’ was not declared in this scope; did you mean ‘MR::App::IntSeq’?
> 297 | if ((*option)[i].type == Integer || (*option)[i].type == Float || (*option)[i].type == IntSeq ||
> | ^~~~~~
> | MR::App::IntSeq
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:57:7: note: ‘MR::App::IntSeq’ declared here
> 57 | IntSeq,
> | ^~~~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h:298:26: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 298 | (*option)[i].type == FloatSeq || (*option)[i].type == Various)
> | ^
> ./core/app.h:298:38: error: ‘FloatSeq’ was not declared in this scope; did you mean ‘MR::App::FloatSeq’?
> 298 | (*option)[i].type == FloatSeq || (*option)[i].type == Various)
> | ^~~~~~~~
> | MR::App::FloatSeq
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:58:7: note: ‘MR::App::FloatSeq’ declared here
> 58 | FloatSeq,
> | ^~~~~~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h:298:59: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 298 | (*option)[i].type == FloatSeq || (*option)[i].type == Various)
> | ^
> ./core/app.h:298:71: error: ‘Various’ was not declared in this scope; did you mean ‘MR::App::Various’?
> 298 | (*option)[i].type == FloatSeq || (*option)[i].type == Various)
> | ^~~~~~~
> | MR::App::Various
> In file included from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/cmdline_option.h:61:7: note: ‘MR::App::Various’ declared here
> 61 | Various
> | ^~~~~~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h:301:27: error: request for member ‘size’ in ‘* option’, which is of non-class type ‘const int’
> 301 | ((option->size() == 1) ?
> | ^~~~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> ./core/app.h:303:47: error: request for member ‘size’ in ‘* option’, which is of non-class type ‘const int’
> 303 | ("one of the " + str(option->size()) + " expected arguments ")) +
> | ^~~~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> ./core/app.h:303:35: error: ‘str’ was not declared in this scope; did you mean ‘Eigen::str’?
> 303 | ("one of the " + str(option->size()) + " expected arguments ")) +
> | ^~~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/mrtrix.h:247:41: note: ‘Eigen::str’ declared here
> 247 | template <class T> inline std::string str (const T& value, int precision = 0)
> | ^~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h:304:44: error: request for member ‘id’ in ‘* option’, which is of non-class type ‘const int’
> 304 | "for option \"-" + option->id + "\", yet this itself looks like a separate command-line option; " +
> | ^~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> ./core/app.h:306:27: error: request for member ‘size’ in ‘* option’, which is of non-class type ‘const int’
> 306 | ((option->size() == 1) ? " " : "s ") +
> | ^~~~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> ./core/app.h:307:56: error: request for member ‘id’ in ‘* option’, which is of non-class type ‘const int’
> 307 | "to command-line option \"-" + option->id + "\" may have been erroneously omitted, which may cause " +
> | ^~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> ./core/exception.h:73:48: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~~~~~~~~~~~~~~~~~
> ./core/app.h:300:13: note: in expansion of macro ‘WARN’
> 300 | WARN (std::string("Value \"") + arguments[i] + "\" is being used as " +
> | ^~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h: In member function ‘bool MR::App::ParsedOption::operator==(const char*) const’:
> ./core/app.h:324:30: error: ‘lowercase’ was not declared in this scope; did you mean ‘Eigen::lowercase’?
> 324 | std::string name = lowercase (match);
> | ^~~~~~~~~
> | Eigen::lowercase
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/mrtrix.h:98:22: note: ‘Eigen::lowercase’ declared here
> 98 | inline std::string lowercase (const std::string& string)
> | ^~~~~~~~~
> In file included from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/app.h:325:26: error: ‘opt’ was not declared in this scope
> 325 | return name == opt->id;
> | ^~~
> ./core/app.h: At global scope:
> ./core/app.h:332:12: error: ‘vector’ does not name a type
> 332 | extern vector<ParsedArgument> argument;
> | ^~~~~~
> ./core/app.h:334:12: error: ‘vector’ does not name a type
> 334 | extern vector<ParsedOption> option;
> | ^~~~~~
> ./core/app.h:350:12: error: ‘Description’ does not name a type
> 350 | extern Description DESCRIPTION;
> | ^~~~~~~~~~~
> ./core/app.h:369:12: error: ‘ExampleList’ does not name a type
> 369 | extern ExampleList EXAMPLES;
> | ^~~~~~~~~~~
> ./core/app.h:386:12: error: ‘ArgumentList’ does not name a type
> 386 | extern ArgumentList ARGUMENTS;
> | ^~~~~~~~~~~~
> ./core/app.h:405:12: error: ‘OptionList’ does not name a type
> 405 | extern OptionList OPTIONS;
> | ^~~~~~~~~~
> ./core/app.h:425:12: error: ‘Description’ does not name a type
> 425 | extern Description REFERENCES;
> | ^~~~~~~~~~~
> ./core/app.h:429:12: error: ‘OptionGroup’ does not name a type
> 429 | extern OptionGroup __standard_options;
> | ^~~~~~~~~~~
> ./core/app.h:451:11: error: ‘vector’ does not name a type
> 451 | const vector<ParsedOption> get_options (const std::string& name);
> | ^~~~~~
> ./core/app.h: In function ‘T Eigen::get_option_value(const string&, T)’:
> ./core/app.h:467:18: error: there are no arguments to ‘get_options’ that depend on a template parameter, so a declaration of ‘get_options’ must be available [-fpermissive]
> 467 | auto opt = get_options(name);
> | ^~~~~~~~~~~
> ./core/app.h: At global scope:
> ./core/app.h:474:59: error: ‘App’ does not name a type
> 474 | inline std::string operator+ (const char* left, const App::ParsedArgument& right)
> | ^~~
> ./core/app.h:474:78: error: expected unqualified-id before ‘&’ token
> 474 | inline std::string operator+ (const char* left, const App::ParsedArgument& right)
> | ^
> ./core/app.h:474:78: error: expected ‘)’ before ‘&’ token
> 474 | inline std::string operator+ (const char* left, const App::ParsedArgument& right)
> | ~ ^
> | )
> ./core/app.h:474:80: error: expected initializer before ‘right’
> 474 | inline std::string operator+ (const char* left, const App::ParsedArgument& right)
> | ^~~~~
> ./core/app.h:482:66: error: ‘App’ does not name a type
> 482 | inline std::ostream& operator<< (std::ostream& stream, const App::ParsedArgument& arg)
> | ^~~
> ./core/app.h:482:85: error: expected unqualified-id before ‘&’ token
> 482 | inline std::ostream& operator<< (std::ostream& stream, const App::ParsedArgument& arg)
> | ^
> ./core/app.h:482:85: error: expected ‘)’ before ‘&’ token
> 482 | inline std::ostream& operator<< (std::ostream& stream, const App::ParsedArgument& arg)
> | ~ ^
> | )
> ./core/app.h:482:87: error: expected initializer before ‘arg’
> 482 | inline std::ostream& operator<< (std::ostream& stream, const App::ParsedArgument& arg)
> | ^~~
> In file included from /usr/include/c++/11/fstream:42,
> from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/x86_64-linux-gnu/c++/11/bits/basic_file.h:54:11: error: ‘__basic_file’ is not a class template
> 54 | class __basic_file<char>
> | ^~~~~~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/basic_file.h:54:28: error: template specifiers not specified in declaration of ‘template<class _CharT> class std::__basic_file’
> 54 | class __basic_file<char>
> | ^
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/fstream:85:49: error: expected template-name before ‘<’ token
> 85 | class basic_filebuf : public basic_streambuf<_CharT, _Traits>
> | ^
> /usr/include/c++/11/fstream:85:49: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/fstream:497:48: error: expected template-name before ‘<’ token
> 497 | class basic_ifstream : public basic_istream<_CharT, _Traits>
> | ^
> /usr/include/c++/11/fstream:497:48: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/fstream:758:48: error: expected template-name before ‘<’ token
> 758 | class basic_ofstream : public basic_ostream<_CharT,_Traits>
> | ^
> /usr/include/c++/11/fstream:758:48: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/fstream:1021:48: error: expected template-name before ‘<’ token
> 1021 | class basic_fstream : public basic_iostream<_CharT, _Traits>
> | ^
> /usr/include/c++/11/fstream:1021:48: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/fstream:1269:5: error: variable or field ‘swap’ declared void
> 1269 | swap(basic_filebuf<_CharT, _Traits>& __x,
> | ^~~~
> /usr/include/c++/11/fstream:1269:10: error: ‘basic_filebuf’ was not declared in this scope; did you mean ‘std::basic_filebuf’?
> 1269 | swap(basic_filebuf<_CharT, _Traits>& __x,
> | ^~~~~~~~~~~~~
> | std::basic_filebuf
> In file included from /usr/include/c++/11/system_error:40,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/iosfwd:113:11: note: ‘std::basic_filebuf’ declared here
> 113 | class basic_filebuf;
> | ^~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/fstream:1269:30: error: expected primary-expression before ‘,’ token
> 1269 | swap(basic_filebuf<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1269:39: error: expected primary-expression before ‘>’ token
> 1269 | swap(basic_filebuf<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1269:42: error: ‘__x’ was not declared in this scope
> 1269 | swap(basic_filebuf<_CharT, _Traits>& __x,
> | ^~~
> /usr/include/c++/11/fstream:1270:10: error: ‘basic_filebuf’ was not declared in this scope; did you mean ‘std::basic_filebuf’?
> 1270 | basic_filebuf<_CharT, _Traits>& __y)
> | ^~~~~~~~~~~~~
> | std::basic_filebuf
> In file included from /usr/include/c++/11/system_error:40,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/iosfwd:113:11: note: ‘std::basic_filebuf’ declared here
> 113 | class basic_filebuf;
> | ^~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/fstream:1270:30: error: expected primary-expression before ‘,’ token
> 1270 | basic_filebuf<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1270:39: error: expected primary-expression before ‘>’ token
> 1270 | basic_filebuf<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1270:42: error: ‘__y’ was not declared in this scope; did you mean ‘__yn’?
> 1270 | basic_filebuf<_CharT, _Traits>& __y)
> | ^~~
> | __yn
> /usr/include/c++/11/fstream:1276:5: error: variable or field ‘swap’ declared void
> 1276 | swap(basic_ifstream<_CharT, _Traits>& __x,
> | ^~~~
> /usr/include/c++/11/fstream:1276:10: error: ‘basic_ifstream’ was not declared in this scope; did you mean ‘std::basic_ifstream’?
> 1276 | swap(basic_ifstream<_CharT, _Traits>& __x,
> | ^~~~~~~~~~~~~~
> | std::basic_ifstream
> In file included from /usr/include/c++/11/system_error:40,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/iosfwd:116:11: note: ‘std::basic_ifstream’ declared here
> 116 | class basic_ifstream;
> | ^~~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/fstream:1276:31: error: expected primary-expression before ‘,’ token
> 1276 | swap(basic_ifstream<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1276:40: error: expected primary-expression before ‘>’ token
> 1276 | swap(basic_ifstream<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1276:43: error: ‘__x’ was not declared in this scope
> 1276 | swap(basic_ifstream<_CharT, _Traits>& __x,
> | ^~~
> /usr/include/c++/11/fstream:1277:10: error: ‘basic_ifstream’ was not declared in this scope; did you mean ‘std::basic_ifstream’?
> 1277 | basic_ifstream<_CharT, _Traits>& __y)
> | ^~~~~~~~~~~~~~
> | std::basic_ifstream
> In file included from /usr/include/c++/11/system_error:40,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/iosfwd:116:11: note: ‘std::basic_ifstream’ declared here
> 116 | class basic_ifstream;
> | ^~~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/fstream:1277:31: error: expected primary-expression before ‘,’ token
> 1277 | basic_ifstream<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1277:40: error: expected primary-expression before ‘>’ token
> 1277 | basic_ifstream<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1277:43: error: ‘__y’ was not declared in this scope; did you mean ‘__yn’?
> 1277 | basic_ifstream<_CharT, _Traits>& __y)
> | ^~~
> | __yn
> /usr/include/c++/11/fstream:1283:5: error: variable or field ‘swap’ declared void
> 1283 | swap(basic_ofstream<_CharT, _Traits>& __x,
> | ^~~~
> /usr/include/c++/11/fstream:1283:10: error: ‘basic_ofstream’ was not declared in this scope; did you mean ‘std::basic_ofstream’?
> 1283 | swap(basic_ofstream<_CharT, _Traits>& __x,
> | ^~~~~~~~~~~~~~
> | std::basic_ofstream
> In file included from /usr/include/c++/11/system_error:40,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/iosfwd:119:11: note: ‘std::basic_ofstream’ declared here
> 119 | class basic_ofstream;
> | ^~~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/fstream:1283:31: error: expected primary-expression before ‘,’ token
> 1283 | swap(basic_ofstream<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1283:40: error: expected primary-expression before ‘>’ token
> 1283 | swap(basic_ofstream<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1283:43: error: ‘__x’ was not declared in this scope
> 1283 | swap(basic_ofstream<_CharT, _Traits>& __x,
> | ^~~
> /usr/include/c++/11/fstream:1284:10: error: ‘basic_ofstream’ was not declared in this scope; did you mean ‘std::basic_ofstream’?
> 1284 | basic_ofstream<_CharT, _Traits>& __y)
> | ^~~~~~~~~~~~~~
> | std::basic_ofstream
> In file included from /usr/include/c++/11/system_error:40,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/iosfwd:119:11: note: ‘std::basic_ofstream’ declared here
> 119 | class basic_ofstream;
> | ^~~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/fstream:1284:31: error: expected primary-expression before ‘,’ token
> 1284 | basic_ofstream<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1284:40: error: expected primary-expression before ‘>’ token
> 1284 | basic_ofstream<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1284:43: error: ‘__y’ was not declared in this scope; did you mean ‘__yn’?
> 1284 | basic_ofstream<_CharT, _Traits>& __y)
> | ^~~
> | __yn
> /usr/include/c++/11/fstream:1290:5: error: variable or field ‘swap’ declared void
> 1290 | swap(basic_fstream<_CharT, _Traits>& __x,
> | ^~~~
> /usr/include/c++/11/fstream:1290:10: error: ‘basic_fstream’ was not declared in this scope; did you mean ‘std::basic_fstream’?
> 1290 | swap(basic_fstream<_CharT, _Traits>& __x,
> | ^~~~~~~~~~~~~
> | std::basic_fstream
> In file included from /usr/include/c++/11/system_error:40,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/iosfwd:122:11: note: ‘std::basic_fstream’ declared here
> 122 | class basic_fstream;
> | ^~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/fstream:1290:30: error: expected primary-expression before ‘,’ token
> 1290 | swap(basic_fstream<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1290:39: error: expected primary-expression before ‘>’ token
> 1290 | swap(basic_fstream<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1290:42: error: ‘__x’ was not declared in this scope
> 1290 | swap(basic_fstream<_CharT, _Traits>& __x,
> | ^~~
> /usr/include/c++/11/fstream:1291:10: error: ‘basic_fstream’ was not declared in this scope; did you mean ‘std::basic_fstream’?
> 1291 | basic_fstream<_CharT, _Traits>& __y)
> | ^~~~~~~~~~~~~
> | std::basic_fstream
> In file included from /usr/include/c++/11/system_error:40,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/iosfwd:122:11: note: ‘std::basic_fstream’ declared here
> 122 | class basic_fstream;
> | ^~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/fstream:1291:30: error: expected primary-expression before ‘,’ token
> 1291 | basic_fstream<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1291:39: error: expected primary-expression before ‘>’ token
> 1291 | basic_fstream<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1291:42: error: ‘__y’ was not declared in this scope; did you mean ‘__yn’?
> 1291 | basic_fstream<_CharT, _Traits>& __y)
> | ^~~
> | __yn
> In file included from /usr/include/c++/11/fstream:1298,
> from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> /usr/include/c++/11/bits/fstream.tcc:49:18: error: expected initializer before ‘<’ token
> 49 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:63:18: error: expected initializer before ‘<’ token
> 63 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:80:5: error: ‘basic_filebuf’ does not name a type
> 80 | basic_filebuf<_CharT, _Traits>::
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:95:5: error: ‘basic_filebuf’ does not name a type
> 95 | basic_filebuf<_CharT, _Traits>::
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:123:5: error: ‘basic_filebuf’ does not name a type
> 123 | basic_filebuf<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:153:18: error: expected initializer before ‘<’ token
> 153 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:178:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 178 | typename basic_filebuf<_CharT, _Traits>::__filebuf_type*
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:178:27: error: expected initializer before ‘<’ token
> 178 | typename basic_filebuf<_CharT, _Traits>::__filebuf_type*
> | ^
> /usr/include/c++/11/bits/fstream.tcc:248:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 248 | typename basic_filebuf<_CharT, _Traits>::__filebuf_type*
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:248:27: error: expected initializer before ‘<’ token
> 248 | typename basic_filebuf<_CharT, _Traits>::__filebuf_type*
> | ^
> /usr/include/c++/11/bits/fstream.tcc:296:5: error: ‘streamsize’ does not name a type
> 296 | streamsize
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:322:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 322 | typename basic_filebuf<_CharT, _Traits>::int_type
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:322:27: error: expected initializer before ‘<’ token
> 322 | typename basic_filebuf<_CharT, _Traits>::int_type
> | ^
> /usr/include/c++/11/bits/fstream.tcc:481:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 481 | typename basic_filebuf<_CharT, _Traits>::int_type
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:481:27: error: expected initializer before ‘<’ token
> 481 | typename basic_filebuf<_CharT, _Traits>::int_type
> | ^
> /usr/include/c++/11/bits/fstream.tcc:540:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 540 | typename basic_filebuf<_CharT, _Traits>::int_type
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:540:27: error: expected initializer before ‘<’ token
> 540 | typename basic_filebuf<_CharT, _Traits>::int_type
> | ^
> /usr/include/c++/11/bits/fstream.tcc:606:18: error: expected initializer before ‘<’ token
> 606 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:668:5: error: ‘streamsize’ does not name a type
> 668 | streamsize
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:754:5: error: ‘streamsize’ does not name a type
> 754 | streamsize
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:802:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 802 | typename basic_filebuf<_CharT, _Traits>::__streambuf_type*
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:802:27: error: expected initializer before ‘<’ token
> 802 | typename basic_filebuf<_CharT, _Traits>::__streambuf_type*
> | ^
> /usr/include/c++/11/bits/fstream.tcc:831:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 831 | typename basic_filebuf<_CharT, _Traits>::pos_type
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:831:27: error: expected initializer before ‘<’ token
> 831 | typename basic_filebuf<_CharT, _Traits>::pos_type
> | ^
> /usr/include/c++/11/bits/fstream.tcc:891:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 891 | typename basic_filebuf<_CharT, _Traits>::pos_type
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:891:27: error: expected initializer before ‘<’ token
> 891 | typename basic_filebuf<_CharT, _Traits>::pos_type
> | ^
> /usr/include/c++/11/bits/fstream.tcc:906:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 906 | typename basic_filebuf<_CharT, _Traits>::pos_type
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:906:27: error: expected initializer before ‘<’ token
> 906 | typename basic_filebuf<_CharT, _Traits>::pos_type
> | ^
> /usr/include/c++/11/bits/fstream.tcc:932:22: error: expected initializer before ‘<’ token
> 932 | int basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:951:18: error: expected initializer before ‘<’ token
> 951 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:1012:18: error: expected initializer before ‘<’ token
> 1012 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:1029:18: error: expected initializer before ‘<’ token
> 1029 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:1086:25: error: ‘basic_filebuf’ is not a class template
> 1086 | extern template class basic_filebuf<char>;
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1086:25: error: template argument required for ‘class basic_filebuf’
> /usr/include/c++/11/bits/fstream.tcc:1087:25: error: ‘basic_ifstream’ is not a class template
> 1087 | extern template class basic_ifstream<char>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1087:25: error: template argument required for ‘class basic_ifstream’
> /usr/include/c++/11/bits/fstream.tcc:1088:25: error: ‘basic_ofstream’ is not a class template
> 1088 | extern template class basic_ofstream<char>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1088:25: error: template argument required for ‘class basic_ofstream’
> /usr/include/c++/11/bits/fstream.tcc:1089:25: error: ‘basic_fstream’ is not a class template
> 1089 | extern template class basic_fstream<char>;
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1089:25: error: template argument required for ‘class basic_fstream’
> /usr/include/c++/11/bits/fstream.tcc:1092:25: error: ‘basic_filebuf’ is not a class template
> 1092 | extern template class basic_filebuf<wchar_t>;
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1092:25: error: template argument required for ‘class basic_filebuf’
> /usr/include/c++/11/bits/fstream.tcc:1093:25: error: ‘basic_ifstream’ is not a class template
> 1093 | extern template class basic_ifstream<wchar_t>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1093:25: error: template argument required for ‘class basic_ifstream’
> /usr/include/c++/11/bits/fstream.tcc:1094:25: error: ‘basic_ofstream’ is not a class template
> 1094 | extern template class basic_ofstream<wchar_t>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1094:25: error: template argument required for ‘class basic_ofstream’
> /usr/include/c++/11/bits/fstream.tcc:1095:25: error: ‘basic_fstream’ is not a class template
> 1095 | extern template class basic_fstream<wchar_t>;
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1095:25: error: template argument required for ‘class basic_fstream’
> In file included from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/file/key_value.h:61:25: error: field ‘in’ has incomplete type ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’}
> 61 | std::ifstream in;
> | ^~
> In file included from /usr/include/c++/11/system_error:40,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/iosfwd:116:11: note: declaration of ‘std::ifstream’ {aka ‘class std::basic_ifstream<char>’}
> 116 | class basic_ifstream;
> | ^~~~~~~~~~~~~~
> In file included from ./core/math/math.h:27,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/file/key_value.h:67:12: error: variable or field ‘write’ declared void
> 67 | void write (File::OFStream& out,
> | ^~~~~
> ./core/file/key_value.h:67:19: error: ‘File’ has not been declared
> 67 | void write (File::OFStream& out,
> | ^~~~
> ./core/file/key_value.h:67:35: error: ‘out’ was not declared in this scope
> 67 | void write (File::OFStream& out,
> | ^~~
> ./core/file/key_value.h:68:19: error: expected primary-expression before ‘const’
> 68 | const KeyValues& keyvals,
> | ^~~~~
> ./core/file/key_value.h:69:19: error: expected primary-expression before ‘const’
> 69 | const std::string& prefix,
> | ^~~~~
> ./core/file/key_value.h:70:19: error: expected primary-expression before ‘const’
> 70 | const bool add_to_command_history = true);
> | ^~~~~
> In file included from ./core/math/math.h:28,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/file/ofstream.h:39:34: error: invalid use of incomplete type ‘std::ofstream’ {aka ‘class std::basic_ofstream<char>’}
> 39 | class OFStream : public std::ofstream { NOMEMALIGN
> | ^~~~~~~~
> In file included from /usr/include/c++/11/system_error:40,
> from /usr/include/c++/11/mutex:42,
> from ./core/math/zstatistic.h:22,
> from core/math/zstatistic.cpp:18:
> /usr/include/c++/11/iosfwd:119:11: note: declaration of ‘std::ofstream’ {aka ‘class std::basic_ofstream<char>’}
> 119 | class basic_ofstream;
> | ^~~~~~~~~~~~~~
> In file included from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/math/math.h:128:9: error: ‘container_value_type’ is not a class template
> 128 | class container_value_type <Cont, typename std::enable_if<is_eigen_type<Cont>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~~~~~~~~~~~
> ./core/math/math.h:128:61: error: ‘is_eigen_type’ was not declared in this scope; did you mean ‘MR::is_eigen_type’?
> 128 | class container_value_type <Cont, typename std::enable_if<is_eigen_type<Cont>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~~~~
> | MR::is_eigen_type
> ./core/math/math.h:113:9: note: ‘MR::is_eigen_type’ declared here
> 113 | class is_eigen_type { NOMEMALIGN
> | ^~~~~~~~~~~~~
> ./core/math/math.h:128:79: error: template argument 1 is invalid
> 128 | class container_value_type <Cont, typename std::enable_if<is_eigen_type<Cont>::value, int>::type> { NOMEMALIGN
> | ^
> ./core/math/math.h:128:87: error: expected ‘(’ before ‘,’ token
> 128 | class container_value_type <Cont, typename std::enable_if<is_eigen_type<Cont>::value, int>::type> { NOMEMALIGN
> | ^
> | (
> ./core/math/math.h:128:93: error: expected ‘{’ or ‘:’ before ‘::’ token
> 128 | class container_value_type <Cont, typename std::enable_if<is_eigen_type<Cont>::value, int>::type> { NOMEMALIGN
> | ^~
> ./core/math/math.h:128:93: error: expected ‘{’ before ‘::’ token
> ./core/math/math.h:136:79: error: ‘KeyValues’ does not name a type
> 136 | void save_matrix (const MatrixType& M, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> ./core/math/math.h:136:100: error: there are no arguments to ‘KeyValues’ that depend on a template parameter, so a declaration of ‘KeyValues’ must be available [-fpermissive]
> 136 | void save_matrix (const MatrixType& M, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> In file included from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/math/math.h: In function ‘void Eigen::save_matrix(const MatrixType&, const string&, const int&, bool)’:
> ./core/math/math.h:139:7: error: ‘File’ has not been declared
> 139 | File::OFStream out (filename);
> | ^~~~
> ./core/math/math.h:140:7: error: ‘File’ has not been declared
> 140 | File::KeyValue::write (out, keyvals, "# ", add_to_command_history);
> | ^~~~
> ./core/math/math.h:140:30: error: ‘out’ was not declared in this scope
> 140 | File::KeyValue::write (out, keyvals, "# ", add_to_command_history);
> | ^~~
> ./core/math/math.h:141:88: error: ‘Path’ was not declared in this scope; did you mean ‘MR::Path’?
> 141 | Eigen::IOFormat fmt (Eigen::FullPrecision, Eigen::DontAlignCols, std::string (1, Path::delimiter (filename)), "\n", "", "", "", "");
> | ^~~~
> | MR::Path
> In file included from ./core/app.h:31,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/file/path.h:57:13: note: ‘MR::Path’ declared here
> 57 | namespace Path
> | ^~~~
> In file included from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/math/math.h: At global scope:
> ./core/math/math.h:147:31: error: ‘default_type’ does not name a type
> 147 | template <class ValueType = default_type>
> | ^~~~~~~~~~~~
> ./core/math/math.h:148:5: error: ‘vector’ does not name a type
> 148 | vector<vector<ValueType>> load_matrix_2D_vector (const std::string& filename, vector<std::string>* comments = nullptr)
> | ^~~~~~
> ./core/math/math.h:195:31: error: ‘default_type’ does not name a type
> 195 | template <class ValueType = default_type>
> | ^~~~~~~~~~~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/math/math.h: In function ‘Eigen::Matrix<Type, -1, -1> Eigen::load_matrix(const string&)’:
> ./core/exception.h:75:49: error: there are no arguments to ‘report_to_user_func’ that depend on a template parameter, so a declaration of ‘report_to_user_func’ must be available [-fpermissive]
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> ./core/math/math.h:198:7: note: in expansion of macro ‘DEBUG’
> 198 | DEBUG ("loading matrix file \"" + filename + "\"...");
> | ^~~~~
> In file included from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/math/math.h:199:13: error: ‘vector’ does not name a type
> 199 | const vector<vector<ValueType>> V = load_matrix_2D_vector<ValueType> (filename);
> | ^~~~~~
> ./core/math/math.h:201:67: error: ‘V’ was not declared in this scope
> 201 | Eigen::Matrix<ValueType, Eigen::Dynamic, Eigen::Dynamic> M (V.size(), V[0].size());
> | ^
> ./core/math/math.h: At global scope:
> ./core/math/math.h:211:31: error: ‘default_type’ does not name a type
> 211 | template <class ValueType = default_type>
> | ^~~~~~~~~~~~
> ./core/math/math.h: In function ‘Eigen::Matrix<Type, -1, -1> Eigen::parse_matrix(const string&)’:
> ./core/math/math.h:215:26: error: there are no arguments to ‘split_lines’ that depend on a template parameter, so a declaration of ‘split_lines’ must be available [-fpermissive]
> 215 | const auto lines = split_lines (spec);
> | ^~~~~~~~~~~
> ./core/math/math.h:221:17: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 221 | throw Exception ("error converting string to matrix - uneven number of entries per row");
> | ^~~~~~~~~
> ./core/math/math.h: At global scope:
> ./core/math/math.h:230:10: error: ‘transform_type’ does not name a type
> 230 | inline transform_type load_transform (const std::string& filename, VectorType& centre)
> | ^~~~~~~~~~~~~~
> ./core/math/math.h:281:10: error: ‘transform_type’ does not name a type
> 281 | inline transform_type load_transform (const std::string& filename)
> | ^~~~~~~~~~~~~~
> ./core/math/math.h:288:37: error: ‘transform_type’ does not name a type
> 288 | inline void save_transform (const transform_type& M, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~~~~~~
> ./core/math/math.h:288:91: error: ‘KeyValues’ does not name a type
> 288 | inline void save_transform (const transform_type& M, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> ./core/math/math.h:288:112: error: ‘KeyValues’ was not declared in this scope; did you mean ‘MR::KeyValues’?
> 288 | inline void save_transform (const transform_type& M, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> | MR::KeyValues
> In file included from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> ./core/types.h:238:9: note: ‘MR::KeyValues’ declared here
> 238 | using KeyValues = std::map<std::string, std::string>;
> | ^~~~~~~~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from ./core/math/math.h:23,
> from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/math/math.h: In function ‘void Eigen::save_transform(const int&, const string&, const int&, bool)’:
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> ./core/math/math.h:290:5: note: in expansion of macro ‘DEBUG’
> 290 | DEBUG ("saving transform to file \"" + filename + "\"...");
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/math/math.h:291:5: error: ‘File’ has not been declared
> 291 | File::OFStream out (filename);
> | ^~~~
> ./core/math/math.h:292:5: error: ‘File’ has not been declared
> 292 | File::KeyValue::write (out, keyvals, "# ", add_to_command_history);
> | ^~~~
> ./core/math/math.h:292:28: error: ‘out’ was not declared in this scope
> 292 | File::KeyValue::write (out, keyvals, "# ", add_to_command_history);
> | ^~~
> ./core/math/math.h:293:19: error: ‘Path’ has not been declared
> 293 | const char d (Path::delimiter (filename));
> | ^~~~
> ./core/math/math.h:295:14: error: request for member ‘matrix’ in ‘M’, which is of non-class type ‘const int’
> 295 | out << M.matrix().format (fmt);
> | ^~~~~~
> ./core/math/math.h: At global scope:
> ./core/math/math.h:300:37: error: ‘transform_type’ does not name a type
> 300 | inline void save_transform (const transform_type& M, const Eigen::MatrixBase<Derived>& centre, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~~~~~~
> ./core/math/math.h:300:133: error: ‘KeyValues’ does not name a type
> 300 | inline void save_transform (const transform_type& M, const Eigen::MatrixBase<Derived>& centre, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> ./core/math/math.h:300:154: error: there are no arguments to ‘KeyValues’ that depend on a template parameter, so a declaration of ‘KeyValues’ must be available [-fpermissive]
> 300 | inline void save_transform (const transform_type& M, const Eigen::MatrixBase<Derived>& centre, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> ./core/math/math.h: In function ‘void Eigen::save_transform(const int&, const Eigen::MatrixBase<Derived>&, const string&, const int&, bool)’:
> ./core/math/math.h:303:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 303 | throw Exception ("save_transform() requires 3x1 vector as centre");
> | ^~~~~~~~~
> ./core/math/math.h:304:5: error: ‘KeyValues’ was not declared in this scope; did you mean ‘MR::KeyValues’?
> 304 | KeyValues local_keyvals = keyvals;
> | ^~~~~~~~~
> | MR::KeyValues
> In file included from ./core/math/stats/typedefs.h:20,
> from ./core/math/zstatistic.h:24,
> from core/math/zstatistic.cpp:18:
> ./core/types.h:238:9: note: ‘MR::KeyValues’ declared here
> 238 | using KeyValues = std::map<std::string, std::string>;
> | ^~~~~~~~~
> In file included from ./core/math/erfinv.h:18,
> from core/math/zstatistic.cpp:21:
> ./core/math/math.h:308:5: error: ‘local_keyvals’ was not declared in this scope
> 308 | local_keyvals.insert(std::pair<std::string, std::string>("centre", os.str()));
> | ^~~~~~~~~~~~~
> ./core/math/math.h:309:5: error: there are no arguments to ‘save_transform’ that depend on a template parameter, so a declaration of ‘save_transform’ must be available [-fpermissive]
> 309 | save_transform(M, filename, local_keyvals, add_to_command_history);
> | ^~~~~~~~~~~~~~
> ./core/math/math.h: At global scope:
> ./core/math/math.h:314:79: error: ‘KeyValues’ does not name a type
> 314 | void save_vector (const VectorType& V, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> ./core/math/math.h:314:100: error: there are no arguments to ‘KeyValues’ that depend on a template parameter, so a declaration of ‘KeyValues’ must be available [-fpermissive]
> 314 | void save_vector (const VectorType& V, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> ./core/math/math.h: In function ‘void Eigen::save_vector(const VectorType&, const string&, const int&, bool)’:
> ./core/math/math.h:317:7: error: ‘File’ has not been declared
> 317 | File::OFStream out (filename);
> | ^~~~
> ./core/math/math.h:318:7: error: ‘File’ has not been declared
> 318 | File::KeyValue::write (out, keyvals, "# ", add_to_command_history);
> | ^~~~
> ./core/math/math.h:318:30: error: ‘out’ was not declared in this scope
> 318 | File::KeyValue::write (out, keyvals, "# ", add_to_command_history);
> | ^~~
> ./core/math/math.h:319:21: error: ‘Path’ has not been declared
> 319 | const char d (Path::delimiter (filename));
> | ^~~~
> ./core/math/math.h: At global scope:
> ./core/math/math.h:326:31: error: ‘default_type’ does not name a type
> 326 | template <class ValueType = default_type>
> | ^~~~~~~~~~~~
> ./core/math/math.h: In function ‘Eigen::Matrix<Type, -1, 1> Eigen::load_vector(const string&)’:
> ./core/math/math.h:329:18: error: ‘load_matrix’ was not declared in this scope; did you mean ‘Eigen::load_matrix’?
> 329 | auto vec = load_matrix<ValueType> (filename);
> | ^~~~~~~~~~~
> | Eigen::load_matrix
> ./core/math/math.h:196:62: note: ‘Eigen::load_matrix’ declared here
> 196 | Eigen::Matrix<ValueType, Eigen::Dynamic, Eigen::Dynamic> load_matrix (const std::string& filename)
> | ^~~~~~~~~~~
> ./core/math/math.h:329:39: error: expected primary-expression before ‘>’ token
> 329 | auto vec = load_matrix<ValueType> (filename);
> | ^
> ./core/math/math.h:333:15: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 333 | throw Exception ("file \"" + filename + "\" contains matrix, not vector");
> | ^~~~~~~~~
> In file included from core/math/zstatistic.cpp:21:
> ./core/math/erfinv.h: At global scope:
> ./core/math/erfinv.h:41:5: error: ‘default_type’ does not name a type
> 41 | default_type erfinv (const default_type);
> | ^~~~~~~~~~~~
> ./core/math/erfinv.h:46:5: error: ‘default_type’ does not name a type
> 46 | default_type erfcinv (const default_type);
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:41:7: error: ‘default_type’ does not name a type
> 41 | default_type F2z_upper (const default_type F, const size_t rank, const default_type dof)
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:56:7: error: ‘default_type’ does not name a type
> 56 | default_type F2z_lower (const default_type oneoverF, const size_t rank, const default_type dof)
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:77:5: error: ‘default_type’ does not name a type
> 77 | default_type t2z (const default_type stat, const default_type dof)
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:93:5: error: ‘default_type’ does not name a type
> 93 | default_type F2z (const default_type F, const size_t rank, const default_type dof)
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:112:5: error: ‘default_type’ does not name a type
> 112 | default_type Zstatistic::t2z (const default_type t, const size_t dof)
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:128:5: error: ‘default_type’ does not name a type
> 128 | default_type Zstatistic::F2z (const default_type F, const size_t rank, const size_t dof)
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:145:5: error: ‘default_type’ does not name a type
> 145 | default_type Zstatistic::v2z (const default_type v, const default_type dof)
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:152:5: error: ‘default_type’ does not name a type
> 152 | default_type Zstatistic::G2z (const default_type G, const size_t rank, const default_type dof)
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:172:5: error: ‘default_type’ does not name a type
> 172 | default_type Zstatistic::LookupBase::interp (const default_type stat,
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:207:15: error: ‘default_type’ does not name a type
> 207 | constexpr default_type t2z_max = 10.0;
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:208:15: error: ‘default_type’ does not name a type
> 208 | constexpr default_type t2z_step = 0.001;
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:210:48: error: ‘t2z_max’ was not declared in this scope
> 210 | constexpr ssize_t t2z_halfdomain = ssize_t(t2z_max / t2z_step);
> | ^~~~~~~
> core/math/zstatistic.cpp:210:58: error: ‘t2z_step’ was not declared in this scope
> 210 | constexpr ssize_t t2z_halfdomain = ssize_t(t2z_max / t2z_step);
> | ^~~~~~~~
> core/math/zstatistic.cpp:212:5: error: ‘Zstatistic’ does not name a type
> 212 | Zstatistic::Lookup_t2z::Lookup_t2z (const size_t dof) :
> | ^~~~~~~~~~
> core/math/zstatistic.cpp:249:5: error: ‘default_type’ does not name a type
> 249 | default_type Zstatistic::Lookup_t2z::operator() (const default_type t) const
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:284:15: error: ‘default_type’ does not name a type
> 284 | constexpr default_type F2z_max = 100.0;
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:285:15: error: ‘default_type’ does not name a type
> 285 | constexpr default_type F2z_step = 0.01;
> | ^~~~~~~~~~~~
> core/math/zstatistic.cpp:287:48: error: ‘F2z_max’ was not declared in this scope
> 287 | constexpr ssize_t F2z_halfdomain = size_t((F2z_max - 1.0) / F2z_step);
> | ^~~~~~~
> core/math/zstatistic.cpp:287:65: error: ‘F2z_step’ was not declared in this scope
> 287 | constexpr ssize_t F2z_halfdomain = size_t((F2z_max - 1.0) / F2z_step);
> | ^~~~~~~~
> core/math/zstatistic.cpp:289:5: error: ‘Zstatistic’ does not name a type
> 289 | Zstatistic::Lookup_F2z::Lookup_F2z (const size_t rank, const size_t dof) :
> | ^~~~~~~~~~
> core/math/zstatistic.cpp:352:5: error: ‘default_type’ does not name a type
> 352 | default_type Zstatistic::Lookup_F2z::operator() (const default_type F) const
> | ^~~~~~~~~~~~
>
> ERROR: ( 1/546) [CC] tmp/core/file/config.o
>
> g++ -c -std=c++11 -DMRTRIX_BUILD_TYPE="release version with openmp" -pthread -fPIC -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -mmmx -msse -msse2 -mfpmath=sse -DMRTRIX_WORD64 -DMRTRIX_HAVE_EIGEN_UNSUPPORTED_SPECIAL_FUNCTIONS -DMRTRIX_TIFF_SUPPORT -idirafter /usr/include/x86_64-linux-gnu -DMRTRIX_PNG_SUPPORT -idirafter /usr/include/libpng16 -DEIGEN_FFTW_DEFAULT -fopenmp -Wall -O3 -DNDEBUG -Isrc -I./core -Icmd -idirafter /usr/include/eigen3 core/file/config.cpp -o tmp/core/file/config.o
>
> failed with output
>
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:326:49: error: ‘using Vector3 = class Eigen::Matrix<double, 3, 1>’ redeclared as different kind of entity
> 326 | using Vector3 = Matrix<MR::default_type, 3, 1>;
> | ^
> In file included from /usr/include/eigen3/Eigen/Core:295,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/Matrix.h:541:1: note: previous declaration ‘template<class Type> using Vector3 = Eigen::Matrix<Type, 3, 1>’
> 541 | EIGEN_MAKE_TYPEDEFS(3, 3)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:327:49: error: ‘using Vector4 = class Eigen::Matrix<double, 4, 1>’ redeclared as different kind of entity
> 327 | using Vector4 = Matrix<MR::default_type, 4, 1>;
> | ^
> In file included from /usr/include/eigen3/Eigen/Core:295,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/Matrix.h:542:1: note: previous declaration ‘template<class Type> using Vector4 = Eigen::Matrix<Type, 4, 1>’
> 542 | EIGEN_MAKE_TYPEDEFS(4, 4)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:112:7: error: ‘vector’ does not name a type
> 112 | vector<std::string> description;
> | ^~~~~~
> ./core/exception.h: In constructor ‘MR::Exception::Exception(const string&)’:
> ./core/exception.h:85:9: error: ‘description’ was not declared in this scope
> 85 | description.push_back (msg);
> | ^~~~~~~~~~~
> ./core/exception.h: In constructor ‘MR::Exception::Exception(const MR::Exception&, const string&)’:
> ./core/exception.h:88:9: error: class ‘MR::Exception’ does not have any field named ‘description’
> 88 | description (previous_exception.description) {
> | ^~~~~~~~~~~
> ./core/exception.h:88:41: error: ‘const class MR::Exception’ has no member named ‘description’
> 88 | description (previous_exception.description) {
> | ^~~~~~~~~~~
> ./core/exception.h:89:9: error: ‘description’ was not declared in this scope
> 89 | description.push_back (msg);
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘std::size_t MR::Exception::num() const’:
> ./core/exception.h:97:16: error: ‘description’ was not declared in this scope
> 97 | return description.size();
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘const string& MR::Exception::operator[](std::size_t) const’:
> ./core/exception.h:100:16: error: ‘description’ was not declared in this scope
> 100 | return description[n];
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘void MR::Exception::push_back(const string&)’:
> ./core/exception.h:103:9: error: ‘description’ was not declared in this scope
> 103 | description.push_back (s);
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘void MR::Exception::push_back(const MR::Exception&)’:
> ./core/exception.h:106:25: error: ‘const class MR::Exception’ has no member named ‘description’
> 106 | for (auto s : e.description)
> | ^~~~~~~~~~~
> ./core/exception.h: At global scope:
> ./core/exception.h:115:50: error: expected class-name before ‘{’ token
> 115 | class InvalidImageException : public Exception { NOMEMALIGN
> | ^
> ./core/exception.h:118:36: error: ‘Exception’ does not name a type
> 118 | InvalidImageException (const Exception& previous_exception, const std::string& msg)
> | ^~~~~~~~~
> ./core/exception.h: In constructor ‘MR::InvalidImageException::InvalidImageException(const string&)’:
> ./core/exception.h:117:56: error: class ‘MR::InvalidImageException’ does not have any field named ‘Exception’
> 117 | InvalidImageException (const std::string& msg) : Exception(msg) {}
> | ^~~~~~~~~
> ./core/exception.h: In constructor ‘MR::InvalidImageException::InvalidImageException(const int&, const string&)’:
> ./core/exception.h:119:11: error: class ‘MR::InvalidImageException’ does not have any field named ‘Exception’
> 119 | : Exception(previous_exception, msg) {}
> | ^~~~~~~~~
> ./core/exception.h: At global scope:
> ./core/exception.h:123:44: error: expected class-name before ‘{’ token
> 123 | class CancelException : public Exception { NOMEMALIGN
> | ^
> ./core/exception.h: In constructor ‘MR::CancelException::CancelException()’:
> ./core/exception.h:125:28: error: class ‘MR::CancelException’ does not have any field named ‘Exception’
> 125 | CancelException () : Exception ("operation cancelled by user") { }
> | ^~~~~~~~~
> ./core/exception.h: At global scope:
> ./core/exception.h:128:41: error: ‘Exception’ does not name a type
> 128 | void display_exception_cmdline (const Exception& E, int log_level);
> | ^~~~~~~~~
> ./core/exception.h: In constructor ‘MR::LogLevelLatch::LogLevelLatch(int)’:
> ./core/exception.h:137:23: error: ‘App’ has not been declared
> 137 | prev_level (App::log_level)
> | ^~~
> ./core/exception.h:139:9: error: ‘App’ has not been declared
> 139 | App::log_level = new_level;
> | ^~~
> ./core/exception.h: In destructor ‘MR::LogLevelLatch::~LogLevelLatch()’:
> ./core/exception.h:142:9: error: ‘App’ has not been declared
> 142 | App::log_level = prev_level;
> | ^~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:64:12: error: ‘max_digits’ is not a class template
> 64 | struct max_digits<X, typename std::enable_if<std::is_fundamental<X>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:64:91: error: redeclared with 1 template parameter
> 64 | struct max_digits<X, typename std::enable_if<std::is_fundamental<X>::value, int>::type> { NOMEMALIGN
> | ^
> ./core/mrtrix.h:59:12: note: previous declaration ‘template<class X, class ReturnType> struct MR::max_digits’ used 2 template parameters
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:69:12: error: ‘max_digits’ is not a class template
> 69 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:69:108: error: redeclared with 1 template parameter
> 69 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^
> ./core/mrtrix.h:59:12: note: previous declaration ‘template<class X, class ReturnType> struct MR::max_digits’ used 2 template parameters
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:74:12: error: ‘max_digits’ is not a class template
> 74 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::value_type>::value && !std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:74:163: error: redeclared with 1 template parameter
> 74 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::value_type>::value && !std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:59:12: note: previous declaration ‘template<class X, class ReturnType> struct MR::max_digits’ used 2 template parameters
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h: In function ‘std::string Eigen::unquote(const string&)’:
> ./core/mrtrix.h:149:76: error: definition of ‘auto Eigen::unquote(const string&)::<lambda>::operator()(const char&) const’ is not in namespace enclosing ‘Eigen::unquote(const string&)::<lambda>’ [-fpermissive]
> 149 | if (std::none_of (substring.begin(), substring.end(), [] (const char& c) { return c == '\"'; }))
> | ^
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:173:3: error: ‘vector’ does not name a type
> 173 | vector<std::string> split (
> | ^~~~~~
> ./core/mrtrix.h:179:10: error: ‘vector’ does not name a type
> 179 | inline vector<std::string> split_lines (
> | ^~~~~~
> ./core/mrtrix.h: In function ‘std::size_t Eigen::is_dash(const string&)’:
> ./core/mrtrix.h:227:21: error: ‘char_is_dash’ was not declared in this scope; did you mean ‘Eigen::char_is_dash’?
> 227 | size_t nbytes = char_is_dash (arg.c_str());
> | ^~~~~~~~~~~~
> | Eigen::char_is_dash
> ./core/mrtrix.h:205:17: note: ‘Eigen::char_is_dash’ declared here
> 205 | inline size_t char_is_dash (const char* arg)
> | ^~~~~~~~~~~~
> ./core/mrtrix.h: In function ‘bool Eigen::consume_dash(const char*&)’:
> ./core/mrtrix.h:238:21: error: ‘char_is_dash’ was not declared in this scope; did you mean ‘Eigen::char_is_dash’?
> 238 | size_t nbytes = char_is_dash (arg);
> | ^~~~~~~~~~~~
> | Eigen::char_is_dash
> ./core/mrtrix.h:205:17: note: ‘Eigen::char_is_dash’ declared here
> 205 | inline size_t char_is_dash (const char* arg)
> | ^~~~~~~~~~~~
> ./core/mrtrix.h: In function ‘std::string Eigen::str(const T&, int)’:
> ./core/mrtrix.h:252:14: error: ‘max_digits’ was not declared in this scope; did you mean ‘MR::max_digits’?
> 252 | else if (max_digits<T>::value())
> | ^~~~~~~~~~
> | MR::max_digits
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:59:12: note: ‘MR::max_digits’ declared here
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:252:26: error: expected primary-expression before ‘>’ token
> 252 | else if (max_digits<T>::value())
> | ^
> ./core/mrtrix.h:252:29: error: ‘::value’ has not been declared
> 252 | else if (max_digits<T>::value())
> | ^~~~~
> ./core/mrtrix.h:253:37: error: expected primary-expression before ‘>’ token
> 253 | stream.precision (max_digits<T>::value());
> | ^
> ./core/mrtrix.h:253:40: error: ‘::value’ has not been declared
> 253 | stream.precision (max_digits<T>::value());
> | ^~~~~
> ./core/mrtrix.h:256:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 256 | throw Exception (std::string("error converting type \"") + typeid(T).name() + "\" value to string");
> | ^~~~~~~~~
> ./core/mrtrix.h:256:13: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
> ./core/mrtrix.h: In function ‘T Eigen::to(const string&)’:
> ./core/mrtrix.h:262:33: error: there are no arguments to ‘strip’ that depend on a template parameter, so a declaration of ‘strip’ must be available [-fpermissive]
> 262 | const std::string stripped (strip (string));
> | ^~~~~
> ./core/mrtrix.h:268:37: error: there are no arguments to ‘lowercase’ that depend on a template parameter, so a declaration of ‘lowercase’ must be available [-fpermissive]
> 268 | const std::string lstring = lowercase (stripped);
> | ^~~~~~~~~
> ./core/mrtrix.h:278:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 278 | throw Exception ("error converting string \"" + string + "\" to type \"" + typeid(T).name() + "\"");
> | ^~~~~~~~~
> ./core/mrtrix.h:280:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 280 | throw Exception ("incomplete use of string \"" + string + "\" in conversion to type \"" + typeid(T).name() + "\"");
> | ^~~~~~~~~
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:285:29: error: expected initializer before ‘<’ token
> 285 | template <> inline bool to<bool> (const std::string& string)
> | ^
> ./core/mrtrix.h:295:37: error: expected initializer before ‘<’ token
> 295 | template <> inline std::string str<cfloat> (const cfloat& value, int precision)
> | ^
> ./core/mrtrix.h:308:22: error: ‘cfloat’ does not name a type
> 308 | template <> inline cfloat to<cfloat> (const std::string& string)
> | ^~~~~~
> ./core/mrtrix.h:353:37: error: expected initializer before ‘<’ token
> 353 | template <> inline std::string str<cdouble> (const cdouble& value, int precision)
> | ^
> ./core/mrtrix.h:366:22: error: ‘cdouble’ does not name a type
> 366 | template <> inline cdouble to<cdouble> (const std::string& string)
> | ^~~~~~~
> ./core/mrtrix.h:417:3: error: ‘vector’ does not name a type
> 417 | vector<default_type> parse_floats (const std::string& spec);
> | ^~~~~~
> ./core/mrtrix.h:422:3: error: ‘vector’ does not name a type
> 422 | vector<IntType> parse_ints (const std::string& spec, const IntType last = std::numeric_limits<IntType>::max())
> | ^~~~~~
> ./core/mrtrix.h:498:34: error: ‘vector’ does not name a type
> 498 | inline std::string join (const vector<std::string>& V, const std::string& delimiter)
> | ^~~~~~
> ./core/mrtrix.h:498:40: error: expected ‘,’ or ‘...’ before ‘<’ token
> 498 | inline std::string join (const vector<std::string>& V, const std::string& delimiter)
> | ^
> ./core/mrtrix.h: In function ‘std::string Eigen::join(int)’:
> ./core/mrtrix.h:501:9: error: ‘V’ was not declared in this scope
> 501 | if (V.empty())
> | ^
> ./core/mrtrix.h:503:11: error: ‘V’ was not declared in this scope
> 503 | ret = V[0];
> | ^
> ./core/mrtrix.h:504:10: error: ‘vector’ was not declared in this scope
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~~~~
> ./core/mrtrix.h:504:10: note: suggested alternatives:
> In file included from /usr/include/c++/11/vector:67,
> from ./core/types.h:27,
> from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/c++/11/bits/stl_vector.h:389:11: note: ‘std::vector’
> 389 | class vector : protected _Vector_base<_Tp, _Alloc>
> | ^~~~~~
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:253:11: note: ‘MR::vector’
> 253 | class vector : public ::std::vector<X, Eigen::aligned_allocator<X>> { NOMEMALIGN
> | ^~~~~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:504:28: error: expected primary-expression before ‘>’ token
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:504:31: error: ‘::const_iterator’ has not been declared
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~~~~~~~~~~~~
> ./core/mrtrix.h:504:64: error: ‘i’ was not declared in this scope
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:505:14: error: ‘delimiter’ was not declared in this scope
> 505 | ret += delimiter + *i;
> | ^~~~~~~~~
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:510:34: error: ‘vector’ does not name a type
> 510 | inline std::string join (const vector<T>& V, const std::string& delimiter)
> | ^~~~~~
> ./core/mrtrix.h:510:40: error: expected ‘,’ or ‘...’ before ‘<’ token
> 510 | inline std::string join (const vector<T>& V, const std::string& delimiter)
> | ^
> ./core/mrtrix.h: In function ‘std::string Eigen::join(int)’:
> ./core/mrtrix.h:513:9: error: ‘V’ was not declared in this scope
> 513 | if (V.empty())
> | ^
> ./core/mrtrix.h:515:15: error: ‘V’ was not declared in this scope
> 515 | ret = str(V[0]);
> | ^
> ./core/mrtrix.h:515:11: error: there are no arguments to ‘str’ that depend on a template parameter, so a declaration of ‘str’ must be available [-fpermissive]
> 515 | ret = str(V[0]);
> | ^~~
> ./core/mrtrix.h:516:25: error: expected ‘;’ before ‘<’ token
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> | ;
> ./core/mrtrix.h:516:25: error: expected primary-expression before ‘<’ token
> ./core/mrtrix.h:516:27: error: expected primary-expression before ‘>’ token
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:516:30: error: ‘::const_iterator’ has not been declared
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~~~~~~~~~~~~
> ./core/mrtrix.h:516:44: error: expected ‘;’ before ‘i’
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~
> | ;
> ./core/mrtrix.h:516:45: error: ‘i’ was not declared in this scope
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:516:61: error: expected ‘)’ before ‘;’ token
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ~ ^
> | )
> ./core/mrtrix.h:516:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~
> ./core/mrtrix.h:516:63: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:516:63: error: ‘i’ was not declared in this scope
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: At global scope:
> ./core/cmdline_option.h:65:15: error: ‘ArgFlags’ does not name a type
> 65 | constexpr ArgFlags None = 0;
> | ^~~~~~~~
> ./core/cmdline_option.h:66:15: error: ‘ArgFlags’ does not name a type
> 66 | constexpr ArgFlags Optional = 0x1;
> | ^~~~~~~~
> ./core/cmdline_option.h:67:15: error: ‘ArgFlags’ does not name a type
> 67 | constexpr ArgFlags AllowMultiple = 0x2;
> | ^~~~~~~~
> ./core/cmdline_option.h:122:9: error: ‘ArgType’ does not name a type
> 122 | ArgType type;
> | ^~~~~~~
> ./core/cmdline_option.h:124:9: error: ‘ArgFlags’ does not name a type
> 124 | ArgFlags flags;
> | ^~~~~~~~
> ./core/cmdline_option.h:133:13: error: ‘default_type’ does not name a type
> 133 | default_type min, max;
> | ^~~~~~~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:206:37: error: ‘default_type’ does not name a type
> 206 | Argument& type_float (const default_type min = -std::numeric_limits<default_type>::infinity(),
> | ^~~~~~~~~~~~
> ./core/cmdline_option.h:207:37: error: ‘default_type’ does not name a type
> 207 | const default_type max = std::numeric_limits<default_type>::infinity()) {
> | ^~~~~~~~~~~~
> ./core/cmdline_option.h:206:77: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 206 | Argument& type_float (const default_type min = -std::numeric_limits<default_type>::infinity(),
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:206:89: error: template argument 1 is invalid
> 206 | Argument& type_float (const default_type min = -std::numeric_limits<default_type>::infinity(),
> | ^
> ./core/cmdline_option.h:207:76: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 207 | const default_type max = std::numeric_limits<default_type>::infinity()) {
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:207:88: error: template argument 1 is invalid
> 207 | const default_type max = std::numeric_limits<default_type>::infinity()) {
> | ^
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In constructor ‘MR::App::Argument::Argument(const char*, std::string)’:
> ./core/cmdline_option.h:112:42: error: class ‘MR::App::Argument’ does not have any field named ‘type’
> 112 | id (name), desc (description), type (Undefined), flags (None)
> | ^~~~
> ./core/cmdline_option.h:112:48: error: ‘Undefined’ was not declared in this scope; did you mean ‘MR::App::Undefined’?
> 112 | id (name), desc (description), type (Undefined), flags (None)
> | ^~~~~~~~~
> | MR::App::Undefined
> ./core/cmdline_option.h:45:7: note: ‘MR::App::Undefined’ declared here
> 45 | Undefined,
> | ^~~~~~~~~
> ./core/cmdline_option.h:112:60: error: class ‘MR::App::Argument’ does not have any field named ‘flags’
> 112 | id (name), desc (description), type (Undefined), flags (None)
> | ^~~~~
> ./core/cmdline_option.h:112:67: error: ‘None’ was not declared in this scope
> 112 | id (name), desc (description), type (Undefined), flags (None)
> | ^~~~
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::optional()’:
> ./core/cmdline_option.h:154:11: error: ‘flags’ was not declared in this scope
> 154 | flags |= Optional;
> | ^~~~~
> ./core/cmdline_option.h:154:20: error: ‘Optional’ was not declared in this scope; did you mean ‘optional’?
> 154 | flags |= Optional;
> | ^~~~~~~~
> | optional
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::allow_multiple()’:
> ./core/cmdline_option.h:161:11: error: ‘flags’ was not declared in this scope
> 161 | flags |= AllowMultiple;
> | ^~~~~
> ./core/cmdline_option.h:161:20: error: ‘AllowMultiple’ was not declared in this scope; did you mean ‘allow_multiple’?
> 161 | flags |= AllowMultiple;
> | ^~~~~~~~~~~~~
> | allow_multiple
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_text()’:
> ./core/cmdline_option.h:168:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 168 | type = Text;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:168:18: error: ‘Text’ was not declared in this scope; did you mean ‘MR::App::Text’?
> 168 | type = Text;
> | ^~~~
> | MR::App::Text
> ./core/cmdline_option.h:46:7: note: ‘MR::App::Text’ declared here
> 46 | Text,
> | ^~~~
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_image_in()’:
> ./core/cmdline_option.h:175:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 175 | type = ImageIn;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:175:18: error: ‘ImageIn’ was not declared in this scope; did you mean ‘MR::App::ImageIn’?
> 175 | type = ImageIn;
> | ^~~~~~~
> | MR::App::ImageIn
> ./core/cmdline_option.h:55:7: note: ‘MR::App::ImageIn’ declared here
> 55 | ImageIn,
> | ^~~~~~~
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_image_out()’:
> ./core/cmdline_option.h:182:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 182 | type = ImageOut;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:182:18: error: ‘ImageOut’ was not declared in this scope; did you mean ‘MR::App::ImageOut’?
> 182 | type = ImageOut;
> | ^~~~~~~~
> | MR::App::ImageOut
> ./core/cmdline_option.h:56:7: note: ‘MR::App::ImageOut’ declared here
> 56 | ImageOut,
> | ^~~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_integer(int64_t, int64_t)’:
> ./core/cmdline_option.h:190:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 190 | type = Integer;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:190:18: error: ‘Integer’ was not declared in this scope; did you mean ‘MR::App::Integer’?
> 190 | type = Integer;
> | ^~~~~~~
> | MR::App::Integer
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:48:7: note: ‘MR::App::Integer’ declared here
> 48 | Integer,
> | ^~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_bool()’:
> ./core/cmdline_option.h:200:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 200 | type = Boolean;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:200:18: error: ‘Boolean’ was not declared in this scope; did you mean ‘MR::App::Boolean’?
> 200 | type = Boolean;
> | ^~~~~~~
> | MR::App::Boolean
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:47:7: note: ‘MR::App::Boolean’ declared here
> 47 | Boolean,
> | ^~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_float(int, int)’:
> ./core/cmdline_option.h:209:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 209 | type = Float;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:209:18: error: ‘Float’ was not declared in this scope; did you mean ‘MR::App::Float’?
> 209 | type = Float;
> | ^~~~~
> | MR::App::Float
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:49:7: note: ‘MR::App::Float’ declared here
> 49 | Float,
> | ^~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:210:20: error: ‘struct MR::App::Argument::<unnamed union>::<unnamed>’ has no member named ‘min’
> 210 | limits.f.min = min;
> | ^~~
> ./core/cmdline_option.h:211:20: error: ‘struct MR::App::Argument::<unnamed union>::<unnamed>’ has no member named ‘max’
> 211 | limits.f.max = max;
> | ^~~
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_choice(const char* const*)’:
> ./core/cmdline_option.h:228:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 228 | type = Choice;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:228:18: error: ‘Choice’ was not declared in this scope; did you mean ‘MR::App::Choice’?
> 228 | type = Choice;
> | ^~~~~~
> | MR::App::Choice
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:54:7: note: ‘MR::App::Choice’ declared here
> 54 | Choice,
> | ^~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_file_in()’:
> ./core/cmdline_option.h:236:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 236 | type = ArgFileIn;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:236:18: error: ‘ArgFileIn’ was not declared in this scope; did you mean ‘MR::App::ArgFileIn’?
> 236 | type = ArgFileIn;
> | ^~~~~~~~~
> | MR::App::ArgFileIn
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:50:7: note: ‘MR::App::ArgFileIn’ declared here
> 50 | ArgFileIn,
> | ^~~~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_file_out()’:
> ./core/cmdline_option.h:243:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 243 | type = ArgFileOut;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:243:18: error: ‘ArgFileOut’ was not declared in this scope; did you mean ‘MR::App::ArgFileOut’?
> 243 | type = ArgFileOut;
> | ^~~~~~~~~~
> | MR::App::ArgFileOut
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:51:7: note: ‘MR::App::ArgFileOut’ declared here
> 51 | ArgFileOut,
> | ^~~~~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_directory_in()’:
> ./core/cmdline_option.h:250:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 250 | type = ArgDirectoryIn;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:250:18: error: ‘ArgDirectoryIn’ was not declared in this scope; did you mean ‘MR::App::ArgDirectoryIn’?
> 250 | type = ArgDirectoryIn;
> | ^~~~~~~~~~~~~~
> | MR::App::ArgDirectoryIn
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:52:7: note: ‘MR::App::ArgDirectoryIn’ declared here
> 52 | ArgDirectoryIn,
> | ^~~~~~~~~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_directory_out()’:
> ./core/cmdline_option.h:257:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 257 | type = ArgDirectoryOut;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:257:18: error: ‘ArgDirectoryOut’ was not declared in this scope; did you mean ‘MR::App::ArgDirectoryOut’?
> 257 | type = ArgDirectoryOut;
> | ^~~~~~~~~~~~~~~
> | MR::App::ArgDirectoryOut
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:53:7: note: ‘MR::App::ArgDirectoryOut’ declared here
> 53 | ArgDirectoryOut,
> | ^~~~~~~~~~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_sequence_int()’:
> ./core/cmdline_option.h:264:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 264 | type = IntSeq;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:264:18: error: ‘IntSeq’ was not declared in this scope; did you mean ‘MR::App::IntSeq’?
> 264 | type = IntSeq;
> | ^~~~~~
> | MR::App::IntSeq
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:57:7: note: ‘MR::App::IntSeq’ declared here
> 57 | IntSeq,
> | ^~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_sequence_float()’:
> ./core/cmdline_option.h:271:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 271 | type = FloatSeq;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:271:18: error: ‘FloatSeq’ was not declared in this scope; did you mean ‘MR::App::FloatSeq’?
> 271 | type = FloatSeq;
> | ^~~~~~~~
> | MR::App::FloatSeq
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:58:7: note: ‘MR::App::FloatSeq’ declared here
> 58 | FloatSeq,
> | ^~~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_tracks_in()’:
> ./core/cmdline_option.h:278:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 278 | type = TracksIn;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:278:18: error: ‘TracksIn’ was not declared in this scope; did you mean ‘MR::App::TracksIn’?
> 278 | type = TracksIn;
> | ^~~~~~~~
> | MR::App::TracksIn
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:59:7: note: ‘MR::App::TracksIn’ declared here
> 59 | TracksIn,
> | ^~~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_tracks_out()’:
> ./core/cmdline_option.h:285:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 285 | type = TracksOut;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:285:18: error: ‘TracksOut’ was not declared in this scope; did you mean ‘MR::App::TracksOut’?
> 285 | type = TracksOut;
> | ^~~~~~~~~
> | MR::App::TracksOut
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:60:7: note: ‘MR::App::TracksOut’ declared here
> 60 | TracksOut,
> | ^~~~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: In member function ‘MR::App::Argument& MR::App::Argument::type_various()’:
> ./core/cmdline_option.h:292:11: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 292 | type = Various;
> | ^~~~
> | wctype
> ./core/cmdline_option.h:292:18: error: ‘Various’ was not declared in this scope; did you mean ‘MR::App::Various’?
> 292 | type = Various;
> | ^~~~~~~
> | MR::App::Various
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:61:7: note: ‘MR::App::Various’ declared here
> 61 | Various
> | ^~~~~~~
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h: At global scope:
> ./core/cmdline_option.h:343:33: error: expected template-name before ‘<’ token
> 343 | class Option : public vector<Argument> { NOMEMALIGN
> | ^
> ./core/cmdline_option.h:343:33: error: expected ‘{’ before ‘<’ token
> ./core/cmdline_option.h:343:33: error: expected unqualified-id before ‘<’ token
> ./core/cmdline_option.h:418:38: error: expected template-name before ‘<’ token
> 418 | class OptionGroup : public vector<Option> { NOMEMALIGN
> | ^
> ./core/cmdline_option.h:418:38: error: expected ‘{’ before ‘<’ token
> ./core/cmdline_option.h:418:38: error: expected unqualified-id before ‘<’ token
> In file included from ./core/app.h:31,
> from core/file/config.cpp:17:
> ./core/file/path.h: In function ‘bool Eigen::exists(const string&)’:
> ./core/file/path.h:99:13: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 99 | throw Exception (strerror (errno));
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/app.h:31,
> from core/file/config.cpp:17:
> ./core/file/path.h: In function ‘bool Eigen::is_dir(const string&)’:
> ./core/file/path.h:115:13: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 115 | throw Exception (strerror (errno));
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/app.h:31,
> from core/file/config.cpp:17:
> ./core/file/path.h: In function ‘bool Eigen::is_file(const string&)’:
> ./core/file/path.h:125:13: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 125 | throw Exception (strerror (errno));
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/app.h:31,
> from core/file/config.cpp:17:
> ./core/file/path.h: In function ‘bool Eigen::has_suffix(const string&, const std::initializer_list<const std::__cxx11::basic_string<char> >&)’:
> ./core/file/path.h:140:57: error: definition of ‘auto Eigen::has_suffix(const string&, const std::initializer_list<const std::__cxx11::basic_string<char> >&)::<lambda>::operator()(const string&) const’ is not in namespace enclosing ‘Eigen::has_suffix(const string&, const std::initializer_list<const std::__cxx11::basic_string<char> >&)::<lambda>’ [-fpermissive]
> 140 | [&] (const std::string& suffix) { return has_suffix (name, suffix); });
> | ^
> ./core/file/path.h: In lambda function:
> ./core/file/path.h:140:68: error: ‘has_suffix’ was not declared in this scope; did you mean ‘Eigen::has_suffix’?
> 140 | [&] (const std::string& suffix) { return has_suffix (name, suffix); });
> | ^~~~~~~~~~
> | Eigen::has_suffix
> ./core/file/path.h:136:17: note: ‘Eigen::has_suffix’ declared here
> 136 | inline bool has_suffix (const std::string &name, const std::initializer_list<const std::string> &suffix_list)
> | ^~~~~~~~~~
> ./core/file/path.h: At global scope:
> ./core/file/path.h:143:60: error: ‘vector’ does not name a type
> 143 | inline bool has_suffix (const std::string &name, const vector<std::string> &suffix_list)
> | ^~~~~~
> ./core/file/path.h:143:66: error: expected ‘,’ or ‘...’ before ‘<’ token
> 143 | inline bool has_suffix (const std::string &name, const vector<std::string> &suffix_list)
> | ^
> ./core/file/path.h: In function ‘bool Eigen::has_suffix(const string&, int)’:
> ./core/file/path.h:145:27: error: ‘suffix_list’ was not declared in this scope
> 145 | return std::any_of (suffix_list.begin(),
> | ^~~~~~~~~~~
> ./core/file/path.h:147:57: error: definition of ‘auto Eigen::has_suffix(const string&, int)::<lambda>::operator()(const string&) const’ is not in namespace enclosing ‘Eigen::has_suffix(const string&, int)::<lambda>’ [-fpermissive]
> 147 | [&] (const std::string& suffix) { return has_suffix (name, suffix); });
> | ^
> ./core/file/path.h: In lambda function:
> ./core/file/path.h:147:68: error: ‘has_suffix’ was not declared in this scope; did you mean ‘Eigen::has_suffix’?
> 147 | [&] (const std::string& suffix) { return has_suffix (name, suffix); });
> | ^~~~~~~~~~
> | Eigen::has_suffix
> ./core/file/path.h:143:17: note: ‘Eigen::has_suffix’ declared here
> 143 | inline bool has_suffix (const std::string &name, const vector<std::string> &suffix_list)
> | ^~~~~~~~~~
> ./core/file/path.h: In function ‘bool Eigen::is_mrtrix_image(const string&)’:
> ./core/file/path.h:153:9: error: ‘Path’ has not been declared
> 153 | Path::has_suffix (name, {".mif", ".mih", ".mif.gz"});
> | ^~~~
> ./core/file/path.h: In function ‘std::string Eigen::cwd()’:
> ./core/file/path.h:165:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 165 | throw Exception ("failed to get current working directory!");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/app.h:31,
> from core/file/config.cpp:17:
> ./core/file/path.h: In function ‘std::string Eigen::home()’:
> ./core/file/path.h:175:15: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 175 | throw Exception (HOME_ENV " environment variable is not set!");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/app.h:31,
> from core/file/config.cpp:17:
> ./core/file/path.h: In constructor ‘MR::Path::Dir::Dir(const string&)’:
> ./core/file/path.h:184:19: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 184 | throw Exception ("error opening folder " + name + ": " + strerror (errno));
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/app.h:31,
> from core/file/config.cpp:17:
> ./core/file/path.h: In function ‘char Eigen::delimiter(const string&)’:
> ./core/file/path.h:216:11: error: ‘Path’ has not been declared
> 216 | if (Path::has_suffix (filename, ".tsv"))
> | ^~~~
> ./core/file/path.h:218:16: error: ‘Path’ has not been declared
> 218 | else if (Path::has_suffix (filename, ".csv"))
> | ^~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h: At global scope:
> ./core/app.h:62:46: error: expected primary-expression before ‘type’
> 62 | const char* argtype_description (ArgType type);
> | ^~~~
> ./core/app.h:76:38: error: expected template-name before ‘<’ token
> 76 | class Description : public vector<const char*> { NOMEMALIGN
> | ^
> ./core/app.h:76:38: error: expected ‘{’ before ‘<’ token
> ./core/app.h:76:38: error: expected unqualified-id before ‘<’ token
> ./core/app.h:110:38: error: expected template-name before ‘<’ token
> 110 | class ExampleList : public vector<Example> { NOMEMALIGN
> | ^
> ./core/app.h:110:38: error: expected ‘{’ before ‘<’ token
> ./core/app.h:110:38: error: expected unqualified-id before ‘<’ token
> ./core/app.h:124:39: error: expected template-name before ‘<’ token
> 124 | class ArgumentList : public vector<Argument> { NOMEMALIGN
> | ^
> ./core/app.h:124:39: error: expected ‘{’ before ‘<’ token
> ./core/app.h:124:39: error: expected unqualified-id before ‘<’ token
> ./core/app.h:139:37: error: expected template-name before ‘<’ token
> 139 | class OptionList : public vector<OptionGroup> { NOMEMALIGN
> | ^
> ./core/app.h:139:37: error: expected ‘{’ before ‘<’ token
> ./core/app.h:139:37: error: expected unqualified-id before ‘<’ token
> ./core/app.h: In function ‘void Eigen::check_overwrite(const string&)’:
> ./core/app.h:170:11: error: ‘Path’ has not been declared
> 170 | if (Path::exists (name) && !overwrite_files) {
> | ^~~~
> ./core/app.h:170:35: error: ‘overwrite_files’ was not declared in this scope; did you mean ‘Eigen::overwrite_files’?
> 170 | if (Path::exists (name) && !overwrite_files) {
> | ^~~~~~~~~~~~~~~
> | Eigen::overwrite_files
> ./core/app.h:49:17: note: ‘Eigen::overwrite_files’ declared here
> 49 | extern bool overwrite_files;
> | ^~~~~~~~~~~~~~~
> ./core/app.h:171:13: error: ‘check_overwrite_files_func’ was not declared in this scope; did you mean ‘Eigen::check_overwrite_files_func’?
> 171 | if (check_overwrite_files_func)
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> | Eigen::check_overwrite_files_func
> ./core/app.h:50:19: note: ‘Eigen::check_overwrite_files_func’ declared here
> 50 | extern void (*check_overwrite_files_func) (const std::string& name);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> ./core/app.h:174:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 174 | throw Exception ("output file \"" + name + "\" already exists (use -force option to force overwrite)");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h: At global scope:
> ./core/app.h:200:11: error: ‘Option’ does not name a type
> 200 | const Option* match_option (const char* stub);
> | ^~~~~~
> ./core/app.h:217:9: error: ‘default_type’ does not name a type
> 217 | default_type as_float () const;
> | ^~~~~~~~~~~~
> ./core/app.h:219:9: error: ‘vector’ does not name a type
> 219 | vector<int32_t> as_sequence_int () const {
> | ^~~~~~
> ./core/app.h:226:9: error: ‘vector’ does not name a type
> 226 | vector<uint32_t> as_sequence_uint () const {
> | ^~~~~~
> ./core/app.h:233:9: error: ‘vector’ does not name a type
> 233 | vector<default_type> as_sequence_float () const {
> | ^~~~~~
> ./core/app.h:249:18: error: ‘vector’ does not name a type
> 249 | operator vector<int32_t> () const { return as_sequence_int(); }
> | ^~~~~~
> ./core/app.h:250:18: error: ‘vector’ does not name a type
> 250 | operator vector<uint32_t> () const { return as_sequence_uint(); }
> | ^~~~~~
> ./core/app.h:251:18: error: ‘vector’ does not name a type
> 251 | operator vector<default_type> () const { return as_sequence_float(); }
> | ^~~~~~
> ./core/app.h:256:15: error: ‘Option’ does not name a type
> 256 | const Option* opt;
> | ^~~~~~
> ./core/app.h:257:15: error: ‘Argument’ does not name a type
> 257 | const Argument* arg;
> | ^~~~~~~~
> ./core/app.h:260:31: error: ‘Option’ does not name a type
> 260 | ParsedArgument (const Option* option, const Argument* argument, const char* text) :
> | ^~~~~~
> ./core/app.h:260:53: error: ‘Argument’ does not name a type
> 260 | ParsedArgument (const Option* option, const Argument* argument, const char* text) :
> | ^~~~~~~~
> ./core/app.h:265:21: error: ‘Exception’ has not been declared
> 265 | void error (Exception& e) const {
> | ^~~~~~~~~
> ./core/app.h: In member function ‘bool MR::App::ParsedArgument::as_bool() const’:
> ./core/app.h:214:40: error: ‘to’ was not declared in this scope; did you mean ‘Eigen::to’?
> 214 | bool as_bool () const { return to<bool> (p); }
> | ^~
> | Eigen::to
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:260:31: note: ‘Eigen::to’ declared here
> 260 | template <class T> inline T to (const std::string& string)
> | ^~
> In file included from core/file/config.cpp:17:
> ./core/app.h:214:43: error: expected primary-expression before ‘bool’
> 214 | bool as_bool () const { return to<bool> (p); }
> | ^~~~
> ./core/app.h:214:43: error: expected ‘;’ before ‘bool’
> ./core/app.h:214:47: error: expected unqualified-id before ‘>’ token
> 214 | bool as_bool () const { return to<bool> (p); }
> | ^
> ./core/app.h: In member function ‘MR::App::ParsedArgument::operator float() const’:
> ./core/app.h:247:42: error: ‘as_float’ was not declared in this scope; did you mean ‘cfloat’?
> 247 | operator float () const { return as_float(); }
> | ^~~~~~~~
> | cfloat
> ./core/app.h: In member function ‘MR::App::ParsedArgument::operator double() const’:
> ./core/app.h:248:43: error: ‘as_float’ was not declared in this scope; did you mean ‘cfloat’?
> 248 | operator double () const { return as_float(); }
> | ^~~~~~~~
> | cfloat
> ./core/app.h: In constructor ‘MR::App::ParsedArgument::ParsedArgument(const int*, const int*, const char*)’:
> ./core/app.h:261:11: error: class ‘MR::App::ParsedArgument’ does not have any field named ‘opt’
> 261 | opt (option), arg (argument), p (text) {
> | ^~~
> ./core/app.h:261:25: error: class ‘MR::App::ParsedArgument’ does not have any field named ‘arg’
> 261 | opt (option), arg (argument), p (text) {
> | ^~~
> ./core/app.h: In member function ‘void MR::App::ParsedArgument::error(int&) const’:
> ./core/app.h:268:15: error: ‘opt’ was not declared in this scope
> 268 | if (opt) msg += std::string ("\" for option \"") + opt->id + "\"";
> | ^~~
> ./core/app.h:269:63: error: overloaded function with no contextual type information
> 269 | else msg += std::string ("\" for argument \"") + arg->id + "\"";
> | ^~
> ./core/app.h:270:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 270 | throw Exception (e, msg);
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h: At global scope:
> ./core/app.h:288:29: error: ‘Option’ does not name a type
> 288 | ParsedOption (const Option* option, const char* const* arguments) :
> | ^~~~~~
> ./core/app.h:313:15: error: ‘Option’ does not name a type
> 313 | const Option* opt;
> | ^~~~~~
> ./core/app.h:317:15: error: ‘ParsedArgument’ does not name a type
> 317 | const ParsedArgument operator[] (size_t num) const {
> | ^~~~~~~~~~~~~~
> ./core/app.h: In constructor ‘MR::App::ParsedOption::ParsedOption(const int*, const char* const*)’:
> ./core/app.h:289:13: error: class ‘MR::App::ParsedOption’ does not have any field named ‘opt’
> 289 | opt (option), args (arguments)
> | ^~~
> ./core/app.h:291:43: error: request for member ‘size’ in ‘* option’, which is of non-class type ‘const int’
> 291 | for (size_t i = 0; i != option->size(); ++i) {
> | ^~~~
> ./core/app.h:293:18: error: ‘consume_dash’ was not declared in this scope; did you mean ‘Eigen::consume_dash’?
> 293 | if (!consume_dash (p))
> | ^~~~~~~~~~~~
> | Eigen::consume_dash
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:236:15: note: ‘Eigen::consume_dash’ declared here
> 236 | inline bool consume_dash (const char*& arg)
> | ^~~~~~~~~~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h:295:28: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 295 | if (( (*option)[i].type == ImageIn || (*option)[i].type == ImageOut ) && is_dash (arguments[i]))
> | ^
> ./core/app.h:295:40: error: ‘ImageIn’ was not declared in this scope; did you mean ‘MR::App::ImageIn’?
> 295 | if (( (*option)[i].type == ImageIn || (*option)[i].type == ImageOut ) && is_dash (arguments[i]))
> | ^~~~~~~
> | MR::App::ImageIn
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:55:7: note: ‘MR::App::ImageIn’ declared here
> 55 | ImageIn,
> | ^~~~~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h:295:60: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 295 | if (( (*option)[i].type == ImageIn || (*option)[i].type == ImageOut ) && is_dash (arguments[i]))
> | ^
> ./core/app.h:295:72: error: ‘ImageOut’ was not declared in this scope; did you mean ‘MR::App::ImageOut’?
> 295 | if (( (*option)[i].type == ImageIn || (*option)[i].type == ImageOut ) && is_dash (arguments[i]))
> | ^~~~~~~~
> | MR::App::ImageOut
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:56:7: note: ‘MR::App::ImageOut’ declared here
> 56 | ImageOut,
> | ^~~~~~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h:295:86: error: ‘is_dash’ was not declared in this scope; did you mean ‘Eigen::is_dash’?
> 295 | if (( (*option)[i].type == ImageIn || (*option)[i].type == ImageOut ) && is_dash (arguments[i]))
> | ^~~~~~~
> | Eigen::is_dash
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:225:17: note: ‘Eigen::is_dash’ declared here
> 225 | inline size_t is_dash (const std::string& arg)
> | ^~~~~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h:297:26: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 297 | if ((*option)[i].type == Integer || (*option)[i].type == Float || (*option)[i].type == IntSeq ||
> | ^
> ./core/app.h:297:38: error: ‘Integer’ was not declared in this scope; did you mean ‘MR::App::Integer’?
> 297 | if ((*option)[i].type == Integer || (*option)[i].type == Float || (*option)[i].type == IntSeq ||
> | ^~~~~~~
> | MR::App::Integer
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:48:7: note: ‘MR::App::Integer’ declared here
> 48 | Integer,
> | ^~~~~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h:297:58: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 297 | if ((*option)[i].type == Integer || (*option)[i].type == Float || (*option)[i].type == IntSeq ||
> | ^
> ./core/app.h:297:70: error: ‘Float’ was not declared in this scope; did you mean ‘MR::App::Float’?
> 297 | if ((*option)[i].type == Integer || (*option)[i].type == Float || (*option)[i].type == IntSeq ||
> | ^~~~~
> | MR::App::Float
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:49:7: note: ‘MR::App::Float’ declared here
> 49 | Float,
> | ^~~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h:297:88: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 297 | if ((*option)[i].type == Integer || (*option)[i].type == Float || (*option)[i].type == IntSeq ||
> | ^
> ./core/app.h:297:100: error: ‘IntSeq’ was not declared in this scope; did you mean ‘MR::App::IntSeq’?
> 297 | if ((*option)[i].type == Integer || (*option)[i].type == Float || (*option)[i].type == IntSeq ||
> | ^~~~~~
> | MR::App::IntSeq
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:57:7: note: ‘MR::App::IntSeq’ declared here
> 57 | IntSeq,
> | ^~~~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h:298:26: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 298 | (*option)[i].type == FloatSeq || (*option)[i].type == Various)
> | ^
> ./core/app.h:298:38: error: ‘FloatSeq’ was not declared in this scope; did you mean ‘MR::App::FloatSeq’?
> 298 | (*option)[i].type == FloatSeq || (*option)[i].type == Various)
> | ^~~~~~~~
> | MR::App::FloatSeq
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:58:7: note: ‘MR::App::FloatSeq’ declared here
> 58 | FloatSeq,
> | ^~~~~~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h:298:59: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 298 | (*option)[i].type == FloatSeq || (*option)[i].type == Various)
> | ^
> ./core/app.h:298:71: error: ‘Various’ was not declared in this scope; did you mean ‘MR::App::Various’?
> 298 | (*option)[i].type == FloatSeq || (*option)[i].type == Various)
> | ^~~~~~~
> | MR::App::Various
> In file included from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/cmdline_option.h:61:7: note: ‘MR::App::Various’ declared here
> 61 | Various
> | ^~~~~~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/app.h:301:27: error: request for member ‘size’ in ‘* option’, which is of non-class type ‘const int’
> 301 | ((option->size() == 1) ?
> | ^~~~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> ./core/app.h:303:47: error: request for member ‘size’ in ‘* option’, which is of non-class type ‘const int’
> 303 | ("one of the " + str(option->size()) + " expected arguments ")) +
> | ^~~~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> ./core/app.h:303:35: error: ‘str’ was not declared in this scope; did you mean ‘Eigen::str’?
> 303 | ("one of the " + str(option->size()) + " expected arguments ")) +
> | ^~~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:247:41: note: ‘Eigen::str’ declared here
> 247 | template <class T> inline std::string str (const T& value, int precision = 0)
> | ^~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/app.h:304:44: error: request for member ‘id’ in ‘* option’, which is of non-class type ‘const int’
> 304 | "for option \"-" + option->id + "\", yet this itself looks like a separate command-line option; " +
> | ^~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> ./core/app.h:306:27: error: request for member ‘size’ in ‘* option’, which is of non-class type ‘const int’
> 306 | ((option->size() == 1) ? " " : "s ") +
> | ^~~~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> ./core/app.h:307:56: error: request for member ‘id’ in ‘* option’, which is of non-class type ‘const int’
> 307 | "to command-line option \"-" + option->id + "\" may have been erroneously omitted, which may cause " +
> | ^~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> ./core/exception.h:73:48: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~~~~~~~~~~~~~~~~~
> ./core/app.h:300:13: note: in expansion of macro ‘WARN’
> 300 | WARN (std::string("Value \"") + arguments[i] + "\" is being used as " +
> | ^~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h: In member function ‘bool MR::App::ParsedOption::operator==(const char*) const’:
> ./core/app.h:324:30: error: ‘lowercase’ was not declared in this scope; did you mean ‘Eigen::lowercase’?
> 324 | std::string name = lowercase (match);
> | ^~~~~~~~~
> | Eigen::lowercase
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:98:22: note: ‘Eigen::lowercase’ declared here
> 98 | inline std::string lowercase (const std::string& string)
> | ^~~~~~~~~
> In file included from core/file/config.cpp:17:
> ./core/app.h:325:26: error: ‘opt’ was not declared in this scope
> 325 | return name == opt->id;
> | ^~~
> ./core/app.h: At global scope:
> ./core/app.h:332:12: error: ‘vector’ does not name a type
> 332 | extern vector<ParsedArgument> argument;
> | ^~~~~~
> ./core/app.h:334:12: error: ‘vector’ does not name a type
> 334 | extern vector<ParsedOption> option;
> | ^~~~~~
> ./core/app.h:350:12: error: ‘Description’ does not name a type
> 350 | extern Description DESCRIPTION;
> | ^~~~~~~~~~~
> ./core/app.h:369:12: error: ‘ExampleList’ does not name a type
> 369 | extern ExampleList EXAMPLES;
> | ^~~~~~~~~~~
> ./core/app.h:386:12: error: ‘ArgumentList’ does not name a type
> 386 | extern ArgumentList ARGUMENTS;
> | ^~~~~~~~~~~~
> ./core/app.h:405:12: error: ‘OptionList’ does not name a type
> 405 | extern OptionList OPTIONS;
> | ^~~~~~~~~~
> ./core/app.h:425:12: error: ‘Description’ does not name a type
> 425 | extern Description REFERENCES;
> | ^~~~~~~~~~~
> ./core/app.h:429:12: error: ‘OptionGroup’ does not name a type
> 429 | extern OptionGroup __standard_options;
> | ^~~~~~~~~~~
> ./core/app.h:451:11: error: ‘vector’ does not name a type
> 451 | const vector<ParsedOption> get_options (const std::string& name);
> | ^~~~~~
> ./core/app.h: In function ‘T Eigen::get_option_value(const string&, T)’:
> ./core/app.h:467:18: error: there are no arguments to ‘get_options’ that depend on a template parameter, so a declaration of ‘get_options’ must be available [-fpermissive]
> 467 | auto opt = get_options(name);
> | ^~~~~~~~~~~
> ./core/app.h: At global scope:
> ./core/app.h:474:59: error: ‘App’ does not name a type
> 474 | inline std::string operator+ (const char* left, const App::ParsedArgument& right)
> | ^~~
> ./core/app.h:474:78: error: expected unqualified-id before ‘&’ token
> 474 | inline std::string operator+ (const char* left, const App::ParsedArgument& right)
> | ^
> ./core/app.h:474:78: error: expected ‘)’ before ‘&’ token
> 474 | inline std::string operator+ (const char* left, const App::ParsedArgument& right)
> | ~ ^
> | )
> ./core/app.h:474:80: error: expected initializer before ‘right’
> 474 | inline std::string operator+ (const char* left, const App::ParsedArgument& right)
> | ^~~~~
> ./core/app.h:482:66: error: ‘App’ does not name a type
> 482 | inline std::ostream& operator<< (std::ostream& stream, const App::ParsedArgument& arg)
> | ^~~
> ./core/app.h:482:85: error: expected unqualified-id before ‘&’ token
> 482 | inline std::ostream& operator<< (std::ostream& stream, const App::ParsedArgument& arg)
> | ^
> ./core/app.h:482:85: error: expected ‘)’ before ‘&’ token
> 482 | inline std::ostream& operator<< (std::ostream& stream, const App::ParsedArgument& arg)
> | ~ ^
> | )
> ./core/app.h:482:87: error: expected initializer before ‘arg’
> 482 | inline std::ostream& operator<< (std::ostream& stream, const App::ParsedArgument& arg)
> | ^~~
> In file included from ./core/header.h:27,
> from core/file/config.cpp:19:
> ./core/datatype.h:184:14: error: ‘App’ does not name a type
> 184 | static App::OptionGroup options ();
> | ^~~
> ./core/datatype.h: In member function ‘bool MR::DataType::is_byte_order_native()’:
> ./core/datatype.h:70:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 70 | throw Exception ("byte order not set!");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from ./core/header.h:27,
> from core/file/config.cpp:19:
> ./core/datatype.h: At global scope:
> ./core/datatype.h:200:22: error: ‘DataType’ does not name a type
> 200 | template <> inline DataType DataType::from<bool> ()
> | ^~~~~~~~
> ./core/datatype.h:204:22: error: ‘DataType’ does not name a type
> 204 | template <> inline DataType DataType::from<int8_t> ()
> | ^~~~~~~~
> ./core/datatype.h:208:22: error: ‘DataType’ does not name a type
> 208 | template <> inline DataType DataType::from<uint8_t> ()
> | ^~~~~~~~
> ./core/datatype.h:212:22: error: ‘DataType’ does not name a type
> 212 | template <> inline DataType DataType::from<int16_t> ()
> | ^~~~~~~~
> ./core/datatype.h:216:22: error: ‘DataType’ does not name a type
> 216 | template <> inline DataType DataType::from<uint16_t> ()
> | ^~~~~~~~
> ./core/datatype.h:220:22: error: ‘DataType’ does not name a type
> 220 | template <> inline DataType DataType::from<int32_t> ()
> | ^~~~~~~~
> ./core/datatype.h:224:22: error: ‘DataType’ does not name a type
> 224 | template <> inline DataType DataType::from<uint32_t> ()
> | ^~~~~~~~
> ./core/datatype.h:228:22: error: ‘DataType’ does not name a type
> 228 | template <> inline DataType DataType::from<int64_t> ()
> | ^~~~~~~~
> ./core/datatype.h:232:22: error: ‘DataType’ does not name a type
> 232 | template <> inline DataType DataType::from<uint64_t> ()
> | ^~~~~~~~
> ./core/datatype.h:236:22: error: ‘DataType’ does not name a type
> 236 | template <> inline DataType DataType::from<float> ()
> | ^~~~~~~~
> ./core/datatype.h:240:22: error: ‘DataType’ does not name a type
> 240 | template <> inline DataType DataType::from<double> ()
> | ^~~~~~~~
> ./core/datatype.h:244:22: error: ‘DataType’ does not name a type
> 244 | template <> inline DataType DataType::from<cfloat> ()
> | ^~~~~~~~
> ./core/datatype.h:248:22: error: ‘DataType’ does not name a type
> 248 | template <> inline DataType DataType::from<cdouble> ()
> | ^~~~~~~~
> In file included from /usr/include/c++/11/fstream:42,
> from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> /usr/include/x86_64-linux-gnu/c++/11/bits/basic_file.h:54:11: error: ‘__basic_file’ is not a class template
> 54 | class __basic_file<char>
> | ^~~~~~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/basic_file.h:54:28: error: template specifiers not specified in declaration of ‘template<class _CharT> class std::__basic_file’
> 54 | class __basic_file<char>
> | ^
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> /usr/include/c++/11/fstream:85:49: error: expected template-name before ‘<’ token
> 85 | class basic_filebuf : public basic_streambuf<_CharT, _Traits>
> | ^
> /usr/include/c++/11/fstream:85:49: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/fstream:497:48: error: expected template-name before ‘<’ token
> 497 | class basic_ifstream : public basic_istream<_CharT, _Traits>
> | ^
> /usr/include/c++/11/fstream:497:48: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/fstream:758:48: error: expected template-name before ‘<’ token
> 758 | class basic_ofstream : public basic_ostream<_CharT,_Traits>
> | ^
> /usr/include/c++/11/fstream:758:48: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/fstream:1021:48: error: expected template-name before ‘<’ token
> 1021 | class basic_fstream : public basic_iostream<_CharT, _Traits>
> | ^
> /usr/include/c++/11/fstream:1021:48: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/fstream:1269:5: error: variable or field ‘swap’ declared void
> 1269 | swap(basic_filebuf<_CharT, _Traits>& __x,
> | ^~~~
> /usr/include/c++/11/fstream:1269:10: error: ‘basic_filebuf’ was not declared in this scope; did you mean ‘std::basic_filebuf’?
> 1269 | swap(basic_filebuf<_CharT, _Traits>& __x,
> | ^~~~~~~~~~~~~
> | std::basic_filebuf
> In file included from /usr/include/c++/11/bits/localefwd.h:41,
> from /usr/include/c++/11/string:43,
> from ./core/app.h:22,
> from core/file/config.cpp:17:
> /usr/include/c++/11/iosfwd:113:11: note: ‘std::basic_filebuf’ declared here
> 113 | class basic_filebuf;
> | ^~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> /usr/include/c++/11/fstream:1269:30: error: expected primary-expression before ‘,’ token
> 1269 | swap(basic_filebuf<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1269:39: error: expected primary-expression before ‘>’ token
> 1269 | swap(basic_filebuf<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1269:42: error: ‘__x’ was not declared in this scope
> 1269 | swap(basic_filebuf<_CharT, _Traits>& __x,
> | ^~~
> /usr/include/c++/11/fstream:1270:10: error: ‘basic_filebuf’ was not declared in this scope; did you mean ‘std::basic_filebuf’?
> 1270 | basic_filebuf<_CharT, _Traits>& __y)
> | ^~~~~~~~~~~~~
> | std::basic_filebuf
> In file included from /usr/include/c++/11/bits/localefwd.h:41,
> from /usr/include/c++/11/string:43,
> from ./core/app.h:22,
> from core/file/config.cpp:17:
> /usr/include/c++/11/iosfwd:113:11: note: ‘std::basic_filebuf’ declared here
> 113 | class basic_filebuf;
> | ^~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> /usr/include/c++/11/fstream:1270:30: error: expected primary-expression before ‘,’ token
> 1270 | basic_filebuf<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1270:39: error: expected primary-expression before ‘>’ token
> 1270 | basic_filebuf<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1270:42: error: ‘__y’ was not declared in this scope; did you mean ‘__yn’?
> 1270 | basic_filebuf<_CharT, _Traits>& __y)
> | ^~~
> | __yn
> /usr/include/c++/11/fstream:1276:5: error: variable or field ‘swap’ declared void
> 1276 | swap(basic_ifstream<_CharT, _Traits>& __x,
> | ^~~~
> /usr/include/c++/11/fstream:1276:10: error: ‘basic_ifstream’ was not declared in this scope; did you mean ‘std::basic_ifstream’?
> 1276 | swap(basic_ifstream<_CharT, _Traits>& __x,
> | ^~~~~~~~~~~~~~
> | std::basic_ifstream
> In file included from /usr/include/c++/11/bits/localefwd.h:41,
> from /usr/include/c++/11/string:43,
> from ./core/app.h:22,
> from core/file/config.cpp:17:
> /usr/include/c++/11/iosfwd:116:11: note: ‘std::basic_ifstream’ declared here
> 116 | class basic_ifstream;
> | ^~~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> /usr/include/c++/11/fstream:1276:31: error: expected primary-expression before ‘,’ token
> 1276 | swap(basic_ifstream<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1276:40: error: expected primary-expression before ‘>’ token
> 1276 | swap(basic_ifstream<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1276:43: error: ‘__x’ was not declared in this scope
> 1276 | swap(basic_ifstream<_CharT, _Traits>& __x,
> | ^~~
> /usr/include/c++/11/fstream:1277:10: error: ‘basic_ifstream’ was not declared in this scope; did you mean ‘std::basic_ifstream’?
> 1277 | basic_ifstream<_CharT, _Traits>& __y)
> | ^~~~~~~~~~~~~~
> | std::basic_ifstream
> In file included from /usr/include/c++/11/bits/localefwd.h:41,
> from /usr/include/c++/11/string:43,
> from ./core/app.h:22,
> from core/file/config.cpp:17:
> /usr/include/c++/11/iosfwd:116:11: note: ‘std::basic_ifstream’ declared here
> 116 | class basic_ifstream;
> | ^~~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> /usr/include/c++/11/fstream:1277:31: error: expected primary-expression before ‘,’ token
> 1277 | basic_ifstream<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1277:40: error: expected primary-expression before ‘>’ token
> 1277 | basic_ifstream<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1277:43: error: ‘__y’ was not declared in this scope; did you mean ‘__yn’?
> 1277 | basic_ifstream<_CharT, _Traits>& __y)
> | ^~~
> | __yn
> /usr/include/c++/11/fstream:1283:5: error: variable or field ‘swap’ declared void
> 1283 | swap(basic_ofstream<_CharT, _Traits>& __x,
> | ^~~~
> /usr/include/c++/11/fstream:1283:10: error: ‘basic_ofstream’ was not declared in this scope; did you mean ‘std::basic_ofstream’?
> 1283 | swap(basic_ofstream<_CharT, _Traits>& __x,
> | ^~~~~~~~~~~~~~
> | std::basic_ofstream
> In file included from /usr/include/c++/11/bits/localefwd.h:41,
> from /usr/include/c++/11/string:43,
> from ./core/app.h:22,
> from core/file/config.cpp:17:
> /usr/include/c++/11/iosfwd:119:11: note: ‘std::basic_ofstream’ declared here
> 119 | class basic_ofstream;
> | ^~~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> /usr/include/c++/11/fstream:1283:31: error: expected primary-expression before ‘,’ token
> 1283 | swap(basic_ofstream<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1283:40: error: expected primary-expression before ‘>’ token
> 1283 | swap(basic_ofstream<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1283:43: error: ‘__x’ was not declared in this scope
> 1283 | swap(basic_ofstream<_CharT, _Traits>& __x,
> | ^~~
> /usr/include/c++/11/fstream:1284:10: error: ‘basic_ofstream’ was not declared in this scope; did you mean ‘std::basic_ofstream’?
> 1284 | basic_ofstream<_CharT, _Traits>& __y)
> | ^~~~~~~~~~~~~~
> | std::basic_ofstream
> In file included from /usr/include/c++/11/bits/localefwd.h:41,
> from /usr/include/c++/11/string:43,
> from ./core/app.h:22,
> from core/file/config.cpp:17:
> /usr/include/c++/11/iosfwd:119:11: note: ‘std::basic_ofstream’ declared here
> 119 | class basic_ofstream;
> | ^~~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> /usr/include/c++/11/fstream:1284:31: error: expected primary-expression before ‘,’ token
> 1284 | basic_ofstream<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1284:40: error: expected primary-expression before ‘>’ token
> 1284 | basic_ofstream<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1284:43: error: ‘__y’ was not declared in this scope; did you mean ‘__yn’?
> 1284 | basic_ofstream<_CharT, _Traits>& __y)
> | ^~~
> | __yn
> /usr/include/c++/11/fstream:1290:5: error: variable or field ‘swap’ declared void
> 1290 | swap(basic_fstream<_CharT, _Traits>& __x,
> | ^~~~
> /usr/include/c++/11/fstream:1290:10: error: ‘basic_fstream’ was not declared in this scope; did you mean ‘std::basic_fstream’?
> 1290 | swap(basic_fstream<_CharT, _Traits>& __x,
> | ^~~~~~~~~~~~~
> | std::basic_fstream
> In file included from /usr/include/c++/11/bits/localefwd.h:41,
> from /usr/include/c++/11/string:43,
> from ./core/app.h:22,
> from core/file/config.cpp:17:
> /usr/include/c++/11/iosfwd:122:11: note: ‘std::basic_fstream’ declared here
> 122 | class basic_fstream;
> | ^~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> /usr/include/c++/11/fstream:1290:30: error: expected primary-expression before ‘,’ token
> 1290 | swap(basic_fstream<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1290:39: error: expected primary-expression before ‘>’ token
> 1290 | swap(basic_fstream<_CharT, _Traits>& __x,
> | ^
> /usr/include/c++/11/fstream:1290:42: error: ‘__x’ was not declared in this scope
> 1290 | swap(basic_fstream<_CharT, _Traits>& __x,
> | ^~~
> /usr/include/c++/11/fstream:1291:10: error: ‘basic_fstream’ was not declared in this scope; did you mean ‘std::basic_fstream’?
> 1291 | basic_fstream<_CharT, _Traits>& __y)
> | ^~~~~~~~~~~~~
> | std::basic_fstream
> In file included from /usr/include/c++/11/bits/localefwd.h:41,
> from /usr/include/c++/11/string:43,
> from ./core/app.h:22,
> from core/file/config.cpp:17:
> /usr/include/c++/11/iosfwd:122:11: note: ‘std::basic_fstream’ declared here
> 122 | class basic_fstream;
> | ^~~~~~~~~~~~~
> In file included from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> /usr/include/c++/11/fstream:1291:30: error: expected primary-expression before ‘,’ token
> 1291 | basic_fstream<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1291:39: error: expected primary-expression before ‘>’ token
> 1291 | basic_fstream<_CharT, _Traits>& __y)
> | ^
> /usr/include/c++/11/fstream:1291:42: error: ‘__y’ was not declared in this scope; did you mean ‘__yn’?
> 1291 | basic_fstream<_CharT, _Traits>& __y)
> | ^~~
> | __yn
> In file included from /usr/include/c++/11/fstream:1298,
> from ./core/file/key_value.h:20,
> from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> /usr/include/c++/11/bits/fstream.tcc:49:18: error: expected initializer before ‘<’ token
> 49 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:63:18: error: expected initializer before ‘<’ token
> 63 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:80:5: error: ‘basic_filebuf’ does not name a type
> 80 | basic_filebuf<_CharT, _Traits>::
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:95:5: error: ‘basic_filebuf’ does not name a type
> 95 | basic_filebuf<_CharT, _Traits>::
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:123:5: error: ‘basic_filebuf’ does not name a type
> 123 | basic_filebuf<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:153:18: error: expected initializer before ‘<’ token
> 153 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:178:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 178 | typename basic_filebuf<_CharT, _Traits>::__filebuf_type*
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:178:27: error: expected initializer before ‘<’ token
> 178 | typename basic_filebuf<_CharT, _Traits>::__filebuf_type*
> | ^
> /usr/include/c++/11/bits/fstream.tcc:248:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 248 | typename basic_filebuf<_CharT, _Traits>::__filebuf_type*
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:248:27: error: expected initializer before ‘<’ token
> 248 | typename basic_filebuf<_CharT, _Traits>::__filebuf_type*
> | ^
> /usr/include/c++/11/bits/fstream.tcc:296:5: error: ‘streamsize’ does not name a type
> 296 | streamsize
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:322:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 322 | typename basic_filebuf<_CharT, _Traits>::int_type
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:322:27: error: expected initializer before ‘<’ token
> 322 | typename basic_filebuf<_CharT, _Traits>::int_type
> | ^
> /usr/include/c++/11/bits/fstream.tcc:481:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 481 | typename basic_filebuf<_CharT, _Traits>::int_type
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:481:27: error: expected initializer before ‘<’ token
> 481 | typename basic_filebuf<_CharT, _Traits>::int_type
> | ^
> /usr/include/c++/11/bits/fstream.tcc:540:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 540 | typename basic_filebuf<_CharT, _Traits>::int_type
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:540:27: error: expected initializer before ‘<’ token
> 540 | typename basic_filebuf<_CharT, _Traits>::int_type
> | ^
> /usr/include/c++/11/bits/fstream.tcc:606:18: error: expected initializer before ‘<’ token
> 606 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:668:5: error: ‘streamsize’ does not name a type
> 668 | streamsize
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:754:5: error: ‘streamsize’ does not name a type
> 754 | streamsize
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:802:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 802 | typename basic_filebuf<_CharT, _Traits>::__streambuf_type*
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:802:27: error: expected initializer before ‘<’ token
> 802 | typename basic_filebuf<_CharT, _Traits>::__streambuf_type*
> | ^
> /usr/include/c++/11/bits/fstream.tcc:831:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 831 | typename basic_filebuf<_CharT, _Traits>::pos_type
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:831:27: error: expected initializer before ‘<’ token
> 831 | typename basic_filebuf<_CharT, _Traits>::pos_type
> | ^
> /usr/include/c++/11/bits/fstream.tcc:891:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 891 | typename basic_filebuf<_CharT, _Traits>::pos_type
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:891:27: error: expected initializer before ‘<’ token
> 891 | typename basic_filebuf<_CharT, _Traits>::pos_type
> | ^
> /usr/include/c++/11/bits/fstream.tcc:906:14: error: expected nested-name-specifier before ‘basic_filebuf’
> 906 | typename basic_filebuf<_CharT, _Traits>::pos_type
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:906:27: error: expected initializer before ‘<’ token
> 906 | typename basic_filebuf<_CharT, _Traits>::pos_type
> | ^
> /usr/include/c++/11/bits/fstream.tcc:932:22: error: expected initializer before ‘<’ token
> 932 | int basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:951:18: error: expected initializer before ‘<’ token
> 951 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:1012:18: error: expected initializer before ‘<’ token
> 1012 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:1029:18: error: expected initializer before ‘<’ token
> 1029 | basic_filebuf<_CharT, _Traits>::
> | ^
> /usr/include/c++/11/bits/fstream.tcc:1086:25: error: ‘basic_filebuf’ is not a class template
> 1086 | extern template class basic_filebuf<char>;
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1086:25: error: template argument required for ‘class basic_filebuf’
> /usr/include/c++/11/bits/fstream.tcc:1087:25: error: ‘basic_ifstream’ is not a class template
> 1087 | extern template class basic_ifstream<char>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1087:25: error: template argument required for ‘class basic_ifstream’
> /usr/include/c++/11/bits/fstream.tcc:1088:25: error: ‘basic_ofstream’ is not a class template
> 1088 | extern template class basic_ofstream<char>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1088:25: error: template argument required for ‘class basic_ofstream’
> /usr/include/c++/11/bits/fstream.tcc:1089:25: error: ‘basic_fstream’ is not a class template
> 1089 | extern template class basic_fstream<char>;
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1089:25: error: template argument required for ‘class basic_fstream’
> /usr/include/c++/11/bits/fstream.tcc:1092:25: error: ‘basic_filebuf’ is not a class template
> 1092 | extern template class basic_filebuf<wchar_t>;
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1092:25: error: template argument required for ‘class basic_filebuf’
> /usr/include/c++/11/bits/fstream.tcc:1093:25: error: ‘basic_ifstream’ is not a class template
> 1093 | extern template class basic_ifstream<wchar_t>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1093:25: error: template argument required for ‘class basic_ifstream’
> /usr/include/c++/11/bits/fstream.tcc:1094:25: error: ‘basic_ofstream’ is not a class template
> 1094 | extern template class basic_ofstream<wchar_t>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1094:25: error: template argument required for ‘class basic_ofstream’
> /usr/include/c++/11/bits/fstream.tcc:1095:25: error: ‘basic_fstream’ is not a class template
> 1095 | extern template class basic_fstream<wchar_t>;
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/fstream.tcc:1095:25: error: template argument required for ‘class basic_fstream’
> In file included from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/file/key_value.h:61:25: error: field ‘in’ has incomplete type ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’}
> 61 | std::ifstream in;
> | ^~
> In file included from /usr/include/c++/11/bits/localefwd.h:41,
> from /usr/include/c++/11/string:43,
> from ./core/app.h:22,
> from core/file/config.cpp:17:
> /usr/include/c++/11/iosfwd:116:11: note: declaration of ‘std::ifstream’ {aka ‘class std::basic_ifstream<char>’}
> 116 | class basic_ifstream;
> | ^~~~~~~~~~~~~~
> In file included from ./core/math/math.h:27,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/file/key_value.h:67:12: error: variable or field ‘write’ declared void
> 67 | void write (File::OFStream& out,
> | ^~~~~
> ./core/file/key_value.h:67:19: error: ‘File’ has not been declared
> 67 | void write (File::OFStream& out,
> | ^~~~
> ./core/file/key_value.h:67:35: error: ‘out’ was not declared in this scope
> 67 | void write (File::OFStream& out,
> | ^~~
> ./core/file/key_value.h:68:19: error: expected primary-expression before ‘const’
> 68 | const KeyValues& keyvals,
> | ^~~~~
> ./core/file/key_value.h:69:19: error: expected primary-expression before ‘const’
> 69 | const std::string& prefix,
> | ^~~~~
> ./core/file/key_value.h:70:19: error: expected primary-expression before ‘const’
> 70 | const bool add_to_command_history = true);
> | ^~~~~
> In file included from ./core/math/math.h:28,
> from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/file/ofstream.h:39:34: error: invalid use of incomplete type ‘std::ofstream’ {aka ‘class std::basic_ofstream<char>’}
> 39 | class OFStream : public std::ofstream { NOMEMALIGN
> | ^~~~~~~~
> In file included from /usr/include/c++/11/bits/localefwd.h:41,
> from /usr/include/c++/11/string:43,
> from ./core/app.h:22,
> from core/file/config.cpp:17:
> /usr/include/c++/11/iosfwd:119:11: note: declaration of ‘std::ofstream’ {aka ‘class std::basic_ofstream<char>’}
> 119 | class basic_ofstream;
> | ^~~~~~~~~~~~~~
> In file included from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/math/math.h:128:9: error: ‘container_value_type’ is not a class template
> 128 | class container_value_type <Cont, typename std::enable_if<is_eigen_type<Cont>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~~~~~~~~~~~
> ./core/math/math.h:128:61: error: ‘is_eigen_type’ was not declared in this scope; did you mean ‘MR::is_eigen_type’?
> 128 | class container_value_type <Cont, typename std::enable_if<is_eigen_type<Cont>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~~~~
> | MR::is_eigen_type
> ./core/math/math.h:113:9: note: ‘MR::is_eigen_type’ declared here
> 113 | class is_eigen_type { NOMEMALIGN
> | ^~~~~~~~~~~~~
> ./core/math/math.h:128:79: error: template argument 1 is invalid
> 128 | class container_value_type <Cont, typename std::enable_if<is_eigen_type<Cont>::value, int>::type> { NOMEMALIGN
> | ^
> ./core/math/math.h:128:87: error: expected ‘(’ before ‘,’ token
> 128 | class container_value_type <Cont, typename std::enable_if<is_eigen_type<Cont>::value, int>::type> { NOMEMALIGN
> | ^
> | (
> ./core/math/math.h:128:93: error: expected ‘{’ or ‘:’ before ‘::’ token
> 128 | class container_value_type <Cont, typename std::enable_if<is_eigen_type<Cont>::value, int>::type> { NOMEMALIGN
> | ^~
> ./core/math/math.h:128:93: error: expected ‘{’ before ‘::’ token
> ./core/math/math.h:136:79: error: ‘KeyValues’ does not name a type
> 136 | void save_matrix (const MatrixType& M, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> ./core/math/math.h:136:100: error: there are no arguments to ‘KeyValues’ that depend on a template parameter, so a declaration of ‘KeyValues’ must be available [-fpermissive]
> 136 | void save_matrix (const MatrixType& M, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> In file included from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/math/math.h: In function ‘void Eigen::save_matrix(const MatrixType&, const string&, const int&, bool)’:
> ./core/math/math.h:139:7: error: ‘File’ has not been declared
> 139 | File::OFStream out (filename);
> | ^~~~
> ./core/math/math.h:140:7: error: ‘File’ has not been declared
> 140 | File::KeyValue::write (out, keyvals, "# ", add_to_command_history);
> | ^~~~
> ./core/math/math.h:140:30: error: ‘out’ was not declared in this scope
> 140 | File::KeyValue::write (out, keyvals, "# ", add_to_command_history);
> | ^~~
> ./core/math/math.h:141:88: error: ‘Path’ was not declared in this scope; did you mean ‘MR::Path’?
> 141 | Eigen::IOFormat fmt (Eigen::FullPrecision, Eigen::DontAlignCols, std::string (1, Path::delimiter (filename)), "\n", "", "", "", "");
> | ^~~~
> | MR::Path
> In file included from ./core/app.h:31,
> from core/file/config.cpp:17:
> ./core/file/path.h:57:13: note: ‘MR::Path’ declared here
> 57 | namespace Path
> | ^~~~
> In file included from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/math/math.h: At global scope:
> ./core/math/math.h:147:31: error: ‘default_type’ does not name a type
> 147 | template <class ValueType = default_type>
> | ^~~~~~~~~~~~
> ./core/math/math.h:148:5: error: ‘vector’ does not name a type
> 148 | vector<vector<ValueType>> load_matrix_2D_vector (const std::string& filename, vector<std::string>* comments = nullptr)
> | ^~~~~~
> ./core/math/math.h:195:31: error: ‘default_type’ does not name a type
> 195 | template <class ValueType = default_type>
> | ^~~~~~~~~~~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/math/math.h: In function ‘Eigen::Matrix<Type, -1, -1> Eigen::load_matrix(const string&)’:
> ./core/exception.h:75:49: error: there are no arguments to ‘report_to_user_func’ that depend on a template parameter, so a declaration of ‘report_to_user_func’ must be available [-fpermissive]
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> ./core/math/math.h:198:7: note: in expansion of macro ‘DEBUG’
> 198 | DEBUG ("loading matrix file \"" + filename + "\"...");
> | ^~~~~
> In file included from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/math/math.h:199:13: error: ‘vector’ does not name a type
> 199 | const vector<vector<ValueType>> V = load_matrix_2D_vector<ValueType> (filename);
> | ^~~~~~
> ./core/math/math.h:201:67: error: ‘V’ was not declared in this scope
> 201 | Eigen::Matrix<ValueType, Eigen::Dynamic, Eigen::Dynamic> M (V.size(), V[0].size());
> | ^
> ./core/math/math.h: At global scope:
> ./core/math/math.h:211:31: error: ‘default_type’ does not name a type
> 211 | template <class ValueType = default_type>
> | ^~~~~~~~~~~~
> ./core/math/math.h: In function ‘Eigen::Matrix<Type, -1, -1> Eigen::parse_matrix(const string&)’:
> ./core/math/math.h:215:26: error: there are no arguments to ‘split_lines’ that depend on a template parameter, so a declaration of ‘split_lines’ must be available [-fpermissive]
> 215 | const auto lines = split_lines (spec);
> | ^~~~~~~~~~~
> ./core/math/math.h:221:17: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 221 | throw Exception ("error converting string to matrix - uneven number of entries per row");
> | ^~~~~~~~~
> ./core/math/math.h: At global scope:
> ./core/math/math.h:230:10: error: ‘transform_type’ does not name a type
> 230 | inline transform_type load_transform (const std::string& filename, VectorType& centre)
> | ^~~~~~~~~~~~~~
> ./core/math/math.h:281:10: error: ‘transform_type’ does not name a type
> 281 | inline transform_type load_transform (const std::string& filename)
> | ^~~~~~~~~~~~~~
> ./core/math/math.h:288:37: error: ‘transform_type’ does not name a type
> 288 | inline void save_transform (const transform_type& M, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~~~~~~
> ./core/math/math.h:288:91: error: ‘KeyValues’ does not name a type
> 288 | inline void save_transform (const transform_type& M, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> ./core/math/math.h:288:112: error: ‘KeyValues’ was not declared in this scope; did you mean ‘MR::KeyValues’?
> 288 | inline void save_transform (const transform_type& M, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> | MR::KeyValues
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:238:9: note: ‘MR::KeyValues’ declared here
> 238 | using KeyValues = std::map<std::string, std::string>;
> | ^~~~~~~~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/math/math.h: In function ‘void Eigen::save_transform(const int&, const string&, const int&, bool)’:
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> ./core/math/math.h:290:5: note: in expansion of macro ‘DEBUG’
> 290 | DEBUG ("saving transform to file \"" + filename + "\"...");
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/math/math.h:291:5: error: ‘File’ has not been declared
> 291 | File::OFStream out (filename);
> | ^~~~
> ./core/math/math.h:292:5: error: ‘File’ has not been declared
> 292 | File::KeyValue::write (out, keyvals, "# ", add_to_command_history);
> | ^~~~
> ./core/math/math.h:292:28: error: ‘out’ was not declared in this scope
> 292 | File::KeyValue::write (out, keyvals, "# ", add_to_command_history);
> | ^~~
> ./core/math/math.h:293:19: error: ‘Path’ has not been declared
> 293 | const char d (Path::delimiter (filename));
> | ^~~~
> ./core/math/math.h:295:14: error: request for member ‘matrix’ in ‘M’, which is of non-class type ‘const int’
> 295 | out << M.matrix().format (fmt);
> | ^~~~~~
> ./core/math/math.h: At global scope:
> ./core/math/math.h:300:37: error: ‘transform_type’ does not name a type
> 300 | inline void save_transform (const transform_type& M, const Eigen::MatrixBase<Derived>& centre, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~~~~~~
> ./core/math/math.h:300:133: error: ‘KeyValues’ does not name a type
> 300 | inline void save_transform (const transform_type& M, const Eigen::MatrixBase<Derived>& centre, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> ./core/math/math.h:300:154: error: there are no arguments to ‘KeyValues’ that depend on a template parameter, so a declaration of ‘KeyValues’ must be available [-fpermissive]
> 300 | inline void save_transform (const transform_type& M, const Eigen::MatrixBase<Derived>& centre, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> ./core/math/math.h: In function ‘void Eigen::save_transform(const int&, const Eigen::MatrixBase<Derived>&, const string&, const int&, bool)’:
> ./core/math/math.h:303:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 303 | throw Exception ("save_transform() requires 3x1 vector as centre");
> | ^~~~~~~~~
> ./core/math/math.h:304:5: error: ‘KeyValues’ was not declared in this scope; did you mean ‘MR::KeyValues’?
> 304 | KeyValues local_keyvals = keyvals;
> | ^~~~~~~~~
> | MR::KeyValues
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:238:9: note: ‘MR::KeyValues’ declared here
> 238 | using KeyValues = std::map<std::string, std::string>;
> | ^~~~~~~~~
> In file included from ./core/stride.h:24,
> from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/math/math.h:308:5: error: ‘local_keyvals’ was not declared in this scope
> 308 | local_keyvals.insert(std::pair<std::string, std::string>("centre", os.str()));
> | ^~~~~~~~~~~~~
> ./core/math/math.h:309:5: error: there are no arguments to ‘save_transform’ that depend on a template parameter, so a declaration of ‘save_transform’ must be available [-fpermissive]
> 309 | save_transform(M, filename, local_keyvals, add_to_command_history);
> | ^~~~~~~~~~~~~~
> ./core/math/math.h: At global scope:
> ./core/math/math.h:314:79: error: ‘KeyValues’ does not name a type
> 314 | void save_vector (const VectorType& V, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> ./core/math/math.h:314:100: error: there are no arguments to ‘KeyValues’ that depend on a template parameter, so a declaration of ‘KeyValues’ must be available [-fpermissive]
> 314 | void save_vector (const VectorType& V, const std::string& filename, const KeyValues& keyvals = KeyValues(), const bool add_to_command_history = true)
> | ^~~~~~~~~
> ./core/math/math.h: In function ‘void Eigen::save_vector(const VectorType&, const string&, const int&, bool)’:
> ./core/math/math.h:317:7: error: ‘File’ has not been declared
> 317 | File::OFStream out (filename);
> | ^~~~
> ./core/math/math.h:318:7: error: ‘File’ has not been declared
> 318 | File::KeyValue::write (out, keyvals, "# ", add_to_command_history);
> | ^~~~
> ./core/math/math.h:318:30: error: ‘out’ was not declared in this scope
> 318 | File::KeyValue::write (out, keyvals, "# ", add_to_command_history);
> | ^~~
> ./core/math/math.h:319:21: error: ‘Path’ has not been declared
> 319 | const char d (Path::delimiter (filename));
> | ^~~~
> ./core/math/math.h: At global scope:
> ./core/math/math.h:326:31: error: ‘default_type’ does not name a type
> 326 | template <class ValueType = default_type>
> | ^~~~~~~~~~~~
> ./core/math/math.h: In function ‘Eigen::Matrix<Type, -1, 1> Eigen::load_vector(const string&)’:
> ./core/math/math.h:329:18: error: ‘load_matrix’ was not declared in this scope; did you mean ‘Eigen::load_matrix’?
> 329 | auto vec = load_matrix<ValueType> (filename);
> | ^~~~~~~~~~~
> | Eigen::load_matrix
> ./core/math/math.h:196:62: note: ‘Eigen::load_matrix’ declared here
> 196 | Eigen::Matrix<ValueType, Eigen::Dynamic, Eigen::Dynamic> load_matrix (const std::string& filename)
> | ^~~~~~~~~~~
> ./core/math/math.h:329:39: error: expected primary-expression before ‘>’ token
> 329 | auto vec = load_matrix<ValueType> (filename);
> | ^
> ./core/math/math.h:333:15: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 333 | throw Exception ("file \"" + filename + "\" contains matrix, not vector");
> | ^~~~~~~~~
> In file included from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/stride.h: At global scope:
> ./core/stride.h:63:18: error: ‘vector’ does not name a type
> 63 | using List = vector<ssize_t>;
> | ^~~~~~
> ./core/stride.h:65:18: error: ‘App’ does not name a type
> 65 | extern const App::OptionGroup Options;
> | ^~~
> ./core/stride.h:90:24: error: expected ‘)’ before ‘&’ token
> 90 | Wrapper (List& strides) : S (strides) { }
> | ~ ^
> | )
> ./core/stride.h:101:11: error: ‘List’ does not name a type
> 101 | List& S;
> | ^~~~
> ./core/stride.h: In member function ‘std::size_t MR::Stride::{anonymous}::Wrapper::ndim() const’:
> ./core/stride.h:92:20: error: ‘S’ was not declared in this scope
> 92 | return S.size();
> | ^
> ./core/stride.h: In member function ‘const ssize_t& MR::Stride::{anonymous}::Wrapper::stride(std::size_t) const’:
> ./core/stride.h:95:20: error: ‘S’ was not declared in this scope
> 95 | return S[axis];
> | ^
> ./core/stride.h: In member function ‘ssize_t& MR::Stride::{anonymous}::Wrapper::stride(std::size_t)’:
> ./core/stride.h:98:20: error: ‘S’ was not declared in this scope
> 98 | return S[axis];
> | ^
> ./core/stride.h: At global scope:
> ./core/stride.h:106:7: error: expected class-name before ‘{’ token
> 106 | { NOMEMALIGN
> | ^
> ./core/stride.h:108:28: error: expected ‘)’ before ‘&’ token
> 108 | InfoWrapper (List& strides, const HeaderType& header) : Wrapper (strides), D (header) {
> | ~ ^
> | )
> ./core/stride.h:125:7: error: ‘List’ does not name a type
> 125 | List get (const HeaderType& header)
> | ^~~~
> ./core/stride.h:135:43: error: ‘List’ does not name a type
> 135 | void set (HeaderType& header, const List& stride)
> | ^~~~
> ./core/stride.h: In function ‘void Eigen::set(HeaderType&, const int&)’:
> ./core/stride.h:138:60: error: request for member ‘size’ in ‘stride’, which is of non-class type ‘const int’
> 138 | for (; n < std::min<size_t> (header.ndim(), stride.size()); ++n)
> | ^~~~
> ./core/stride.h:139:37: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
> 139 | header.stride (n) = stride[n];
> | ^
> ./core/stride.h:140:27: error: request for member ‘size’ in ‘stride’, which is of non-class type ‘const int’
> 140 | for (; n < stride.size(); ++n)
> | ^~~~
> ./core/stride.h: At global scope:
> ./core/stride.h:159:7: error: ‘vector’ does not name a type
> 159 | vector<size_t> order (const HeaderType& header, size_t from_axis = 0, size_t to_axis = std::numeric_limits<size_t>::max())
> | ^~~~~~
> In file included from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/stride.h:176:7: error: ‘vector’ does not name a type
> 176 | vector<size_t> order<List> (const List& strides, size_t from_axis, size_t to_axis)
> | ^~~~~~
> ./core/stride.h:222:19: error: variable or field ‘sanitise’ declared void
> 222 | inline void sanitise (List& strides, const HeaderType& header)
> | ^~~~~~~~
> ./core/stride.h:222:29: error: ‘List’ was not declared in this scope
> 222 | inline void sanitise (List& strides, const HeaderType& header)
> | ^~~~
> ./core/stride.h:222:35: error: ‘strides’ was not declared in this scope; did you mean ‘Stride’?
> 222 | inline void sanitise (List& strides, const HeaderType& header)
> | ^~~~~~~
> | Stride
> ./core/stride.h:222:44: error: expected primary-expression before ‘const’
> 222 | inline void sanitise (List& strides, const HeaderType& header)
> | ^~~~~
> ./core/stride.h:234:5: error: ‘List’ does not name a type
> 234 | List& sanitise (List& current, const List& desired, const vector<ssize_t>& header);
> | ^~~~
> ./core/stride.h: In function ‘void Eigen::actualise(HeaderType&)’:
> ./core/stride.h:242:9: error: ‘vector’ was not declared in this scope
> 242 | vector<size_t> x (order (header));
> | ^~~~~~
> ./core/stride.h:242:9: note: suggested alternatives:
> In file included from /usr/include/c++/11/vector:67,
> from ./core/types.h:27,
> from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/c++/11/bits/stl_vector.h:389:11: note: ‘std::vector’
> 389 | class vector : protected _Vector_base<_Tp, _Alloc>
> | ^~~~~~
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:253:11: note: ‘MR::vector’
> 253 | class vector : public ::std::vector<X, Eigen::aligned_allocator<X>> { NOMEMALIGN
> | ^~~~~~
> In file included from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/stride.h:242:22: error: expected primary-expression before ‘>’ token
> 242 | vector<size_t> x (order (header));
> | ^
> ./core/stride.h:245:26: error: ‘x’ was not declared in this scope
> 245 | header.stride (x[i]) = header.stride (x[i]) < 0 ? -skip : skip;
> | ^
> ./core/stride.h: At global scope:
> ./core/stride.h:253:19: error: variable or field ‘actualise’ declared void
> 253 | inline void actualise (List& strides, const HeaderType& header)
> | ^~~~~~~~~
> ./core/stride.h:253:30: error: ‘List’ was not declared in this scope
> 253 | inline void actualise (List& strides, const HeaderType& header)
> | ^~~~
> ./core/stride.h:253:36: error: ‘strides’ was not declared in this scope; did you mean ‘Stride’?
> 253 | inline void actualise (List& strides, const HeaderType& header)
> | ^~~~~~~
> | Stride
> ./core/stride.h:253:45: error: expected primary-expression before ‘const’
> 253 | inline void actualise (List& strides, const HeaderType& header)
> | ^~~~~
> ./core/stride.h:261:14: error: ‘List’ does not name a type
> 261 | inline List get_actual (HeaderType& header)
> | ^~~~
> ./core/stride.h:270:14: error: ‘List’ does not name a type
> 270 | inline List get_actual (const List& strides, const HeaderType& header)
> | ^~~~
> ./core/stride.h: In function ‘void Eigen::symbolise(HeaderType&)’:
> ./core/stride.h:283:9: error: ‘vector’ was not declared in this scope
> 283 | vector<size_t> p (order (header));
> | ^~~~~~
> ./core/stride.h:283:9: note: suggested alternatives:
> In file included from /usr/include/c++/11/vector:67,
> from ./core/types.h:27,
> from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/c++/11/bits/stl_vector.h:389:11: note: ‘std::vector’
> 389 | class vector : protected _Vector_base<_Tp, _Alloc>
> | ^~~~~~
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:253:11: note: ‘MR::vector’
> 253 | class vector : public ::std::vector<X, Eigen::aligned_allocator<X>> { NOMEMALIGN
> | ^~~~~~
> In file included from ./core/header.h:28,
> from core/file/config.cpp:19:
> ./core/stride.h:283:22: error: expected primary-expression before ‘>’ token
> 283 | vector<size_t> p (order (header));
> | ^
> ./core/stride.h:284:42: error: ‘p’ was not declared in this scope
> 284 | for (ssize_t i = 0; i < ssize_t (p.size()); ++i)
> | ^
> ./core/stride.h: At global scope:
> ./core/stride.h:290:19: error: variable or field ‘symbolise’ declared void
> 290 | inline void symbolise (List& strides)
> | ^~~~~~~~~
> ./core/stride.h:290:30: error: ‘List’ was not declared in this scope
> 290 | inline void symbolise (List& strides)
> | ^~~~
> ./core/stride.h:290:36: error: ‘strides’ was not declared in this scope; did you mean ‘Stride’?
> 290 | inline void symbolise (List& strides)
> | ^~~~~~~
> | Stride
> ./core/stride.h:298:14: error: ‘List’ does not name a type
> 298 | inline List get_symbolic (const HeaderType& header)
> | ^~~~
> ./core/stride.h:307:14: error: ‘List’ does not name a type
> 307 | inline List get_symbolic (const List& list)
> | ^~~~
> ./core/stride.h:333:22: error: ‘template<class HeaderType> std::size_t MR::Stride::offset’ conflicts with a previous declaration
> 333 | size_t offset (List& strides, const HeaderType& header)
> | ^~~~
> ./core/stride.h:319:14: note: previous declaration ‘std::size_t Eigen::offset(const HeaderType&)’
> 319 | size_t offset (const HeaderType& header)
> | ^~~~~~
> ./core/stride.h:333:22: error: ‘List’ was not declared in this scope
> 333 | size_t offset (List& strides, const HeaderType& header)
> | ^~~~
> ./core/stride.h:333:28: error: ‘strides’ was not declared in this scope; did you mean ‘Stride’?
> 333 | size_t offset (List& strides, const HeaderType& header)
> | ^~~~~~~
> | Stride
> ./core/stride.h:333:37: error: expected primary-expression before ‘const’
> 333 | size_t offset (List& strides, const HeaderType& header)
> | ^~~~~
> ./core/stride.h:333:61: error: expression list treated as compound expression in initializer [-fpermissive]
> 333 | size_t offset (List& strides, const HeaderType& header)
> | ^
> ./core/stride.h:333:14: warning: variable templates only available with ‘-std=c++14’ or ‘-std=gnu++14’
> 333 | size_t offset (List& strides, const HeaderType& header)
> | ^~~~~~
> ./core/stride.h:333:62: error: expected ‘;’ before ‘{’ token
> 333 | size_t offset (List& strides, const HeaderType& header)
> | ^
> | ;
> 334 | {
> | ~
> ./core/stride.h:364:7: error: ‘List’ does not name a type
> 364 | List get_nearest_match (const HeaderType& current, const List& desired)
> | ^~~~
> ./core/stride.h:386:12: error: ‘List’ does not name a type
> 386 | inline List contiguous_along_axis (size_t axis)
> | ^~~~
> ./core/stride.h:395:14: error: ‘List’ does not name a type
> 395 | inline List contiguous_along_axis (size_t axis, const HeaderType& header)
> | ^~~~
> ./core/stride.h:402:14: error: ‘List’ does not name a type
> 402 | inline List contiguous_along_spatial_axes (const HeaderType& header)
> | ^~~~
> ./core/stride.h:412:5: error: ‘List’ does not name a type
> 412 | List __from_command_line (const List& current);
> | ^~~~
> ./core/stride.h:416:68: error: ‘List’ does not name a type
> 416 | inline void set_from_command_line (HeaderType& header, const List& default_strides = List())
> | ^~~~
> ./core/stride.h:416:92: error: there are no arguments to ‘List’ that depend on a template parameter, so a declaration of ‘List’ must be available [-fpermissive]
> 416 | inline void set_from_command_line (HeaderType& header, const List& default_strides = List())
> | ^~~~
> ./core/stride.h: In function ‘void Eigen::set_from_command_line(HeaderType&, const int&)’:
> ./core/stride.h:421:34: error: request for member ‘size’ in ‘default_strides’, which is of non-class type ‘const int’
> 421 | else if (default_strides.size())
> | ^~~~
> In file included from ./core/file/mmap.h:25,
> from ./core/header.h:29,
> from core/file/config.cpp:19:
> ./core/file/entry.h: At global scope:
> ./core/file/entry.h:47:66: error: ‘Entry’ does not name a type
> 47 | inline std::ostream& operator<< (std::ostream& stream, const Entry& e)
> | ^~~~~
> ./core/file/entry.h: In function ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’:
> ./core/file/entry.h:49:41: error: request for member ‘name’ in ‘e’, which is of non-class type ‘const int’
> 49 | stream << "File::Entry { \"" << e.name << "\", offset " << e.start << " }";
> | ^~~~
> ./core/file/entry.h:49:68: error: request for member ‘start’ in ‘e’, which is of non-class type ‘const int’
> 49 | stream << "File::Entry { \"" << e.name << "\", offset " << e.start << " }";
> | ^~~~~
> In file included from ./core/header.h:29,
> from core/file/config.cpp:19:
> ./core/file/mmap.h: At global scope:
> ./core/file/mmap.h:32:34: error: expected class-name before ‘{’ token
> 32 | class MMap : protected Entry { NOMEMALIGN
> | ^
> ./core/file/mmap.h:55:21: error: ‘Entry’ does not name a type
> 55 | MMap (const Entry& entry, bool readwrite = false, bool preload = true, int64_t mapped_size = -1);
> | ^~~~~
> ./core/file/mmap.h: In member function ‘std::string MR::File::MMap::name() const’:
> ./core/file/mmap.h:59:18: error: ‘Entry’ has not been declared
> 59 | return Entry::name;
> | ^~~~~
> ./core/file/mmap.h: In function ‘std::ostream& Eigen::operator<<(std::ostream&, const MR::File::MMap&)’:
> ./core/file/mmap.h:77:57: error: ambiguous overload for ‘operator<<’ (operand types are ‘std::basic_ostream<char>’ and ‘const int’)
> 77 | stream << "File::MMap { " << m.name() << " [" << m.fd << "], size: "
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~ ~~~~
> | | |
> | | const int
> | std::basic_ostream<char>
> In file included from /usr/include/c++/11/istream:39,
> from /usr/include/c++/11/sstream:38,
> from ./core/mrtrix.h:25,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/c++/11/ostream:166:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 166 | operator<<(long __n)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:170:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 170 | operator<<(unsigned long __n)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:174:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 174 | operator<<(bool __n)
> | ^~~~~~~~
> In file included from /usr/include/c++/11/ostream:829,
> from /usr/include/c++/11/istream:39,
> from /usr/include/c++/11/sstream:38,
> from ./core/mrtrix.h:25,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/c++/11/bits/ostream.tcc:91:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]’
> 91 | basic_ostream<_CharT, _Traits>::
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/istream:39,
> from /usr/include/c++/11/sstream:38,
> from ./core/mrtrix.h:25,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/c++/11/ostream:181:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 181 | operator<<(unsigned short __n)
> | ^~~~~~~~
> In file included from /usr/include/c++/11/ostream:829,
> from /usr/include/c++/11/istream:39,
> from /usr/include/c++/11/sstream:38,
> from ./core/mrtrix.h:25,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/c++/11/bits/ostream.tcc:105:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]’
> 105 | basic_ostream<_CharT, _Traits>::
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/istream:39,
> from /usr/include/c++/11/sstream:38,
> from ./core/mrtrix.h:25,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/c++/11/ostream:192:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 192 | operator<<(unsigned int __n)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:201:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 201 | operator<<(long long __n)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:205:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 205 | operator<<(unsigned long long __n)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:220:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 220 | operator<<(double __f)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:224:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 224 | operator<<(float __f)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:232:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 232 | operator<<(long double __f)
> | ^~~~~~~~
> In file included from ./core/file/mmap.h:25,
> from ./core/header.h:29,
> from core/file/config.cpp:19:
> ./core/file/entry.h:47:26: note: candidate: ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’
> 47 | inline std::ostream& operator<< (std::ostream& stream, const Entry& e)
> | ^~~~~~~~
> In file included from ./core/header.h:29,
> from core/file/config.cpp:19:
> ./core/file/mmap.h:79:71: error: ‘const class MR::File::MMap’ has no member named ‘start’
> 79 | << " at " << (void*) m.address() << ", offset " << m.start << " }";
> | ^~~~~
> ./core/file/mmap.h: In copy constructor ‘MR::File::MMap::MMap(const MR::File::MMap&)’:
> ./core/file/mmap.h:94:35: error: class ‘MR::File::MMap’ does not have any field named ‘Entry’
> 94 | MMap (const MMap& mmap) : Entry (mmap), fd (0), addr (NULL), first (NULL), msize (0), mtime (0), readwrite (false) {
> | ^~~~~
> In file included from ./core/image_helpers.h:21,
> from ./core/header.h:30,
> from core/file/config.cpp:19:
> ./core/apply.h: At global scope:
> ./core/apply.h:39:14: error: ‘Apply’ is not a class template
> 39 | struct Apply<0> { NOMEMALIGN
> | ^~~~~
> ./core/apply.h:39:21: error: template specifiers not specified in declaration of ‘template<long unsigned int N> struct MR::{anonymous}::Apply’
> 39 | struct Apply<0> { NOMEMALIGN
> | ^
> ./core/apply.h:66:14: error: ‘Unpack’ is not a class template
> 66 | struct Unpack<0> { NOMEMALIGN
> | ^~~~~~
> ./core/apply.h:66:22: error: template specifiers not specified in declaration of ‘template<long unsigned int N> struct MR::{anonymous}::Unpack’
> 66 | struct Unpack<0> { NOMEMALIGN
> | ^
> ./core/apply.h: In function ‘void Eigen::apply(F&&, T&&)’:
> ./core/apply.h:84:7: error: ‘Apply’ was not declared in this scope; did you mean ‘MR::{anonymous}::Apply’?
> 84 | Apply< ::std::tuple_size<
> | ^~~~~
> | MR::{anonymous}::Apply
> ./core/apply.h:29:14: note: ‘MR::{anonymous}::Apply’ declared here
> 29 | struct Apply { NOMEMALIGN
> | ^~~~~
> ./core/apply.h:86:22: error: ‘::apply’ has not been declared; did you mean ‘Eigen::apply’?
> 86 | >::value-1>::apply (::std::forward<F>(f), ::std::forward<T>(t));
> | ^~~~~
> | Eigen::apply
> ./core/apply.h:82:23: note: ‘Eigen::apply’ declared here
> 82 | FORCE_INLINE void apply (F && f, T && t)
> | ^~~~~
> ./core/apply.h: At global scope:
> ./core/apply.h:92:17: error: ‘Unpack’ was not declared in this scope; did you mean ‘MR::{anonymous}::Unpack’?
> 92 | -> decltype(Unpack< ::std::tuple_size<
> | ^~~~~~
> | MR::{anonymous}::Unpack
> ./core/apply.h:51:14: note: ‘MR::{anonymous}::Unpack’ declared here
> 51 | struct Unpack { NOMEMALIGN
> | ^~~~~~
> ./core/apply.h:92:17: error: ‘Unpack’ was not declared in this scope; did you mean ‘MR::{anonymous}::Unpack’?
> 92 | -> decltype(Unpack< ::std::tuple_size<
> | ^~~~~~
> | MR::{anonymous}::Unpack
> ./core/apply.h:51:14: note: ‘MR::{anonymous}::Unpack’ declared here
> 51 | struct Unpack { NOMEMALIGN
> | ^~~~~~
> ./core/apply.h:94:20: error: ‘::unpack’ has not been declared
> 94 | >::value>::unpack (::std::forward<F>(f), ::std::forward<T>(t)))
> | ^~~~~~
> ./core/apply.h: In function ‘decltype (((<expression error> < std::tuple_size<typename std::decay<_Tp2>::type>::value) > <expression error>)) Eigen::unpack(F&&, T&&)’:
> ./core/apply.h:96:14: error: ‘Unpack’ was not declared in this scope; did you mean ‘MR::{anonymous}::Unpack’?
> 96 | return Unpack< ::std::tuple_size<
> | ^~~~~~
> | MR::{anonymous}::Unpack
> ./core/apply.h:51:14: note: ‘MR::{anonymous}::Unpack’ declared here
> 51 | struct Unpack { NOMEMALIGN
> | ^~~~~~
> ./core/apply.h:98:20: error: ‘::unpack’ has not been declared; did you mean ‘Eigen::unpack’?
> 98 | >::value>::unpack (::std::forward<F>(f), ::std::forward<T>(t));
> | ^~~~~~
> | Eigen::unpack
> ./core/apply.h:91:23: note: ‘Eigen::unpack’ declared here
> 91 | FORCE_INLINE auto unpack (F && f, T && t)
> | ^~~~~~
> In file included from ./core/header.h:30,
> from core/file/config.cpp:19:
> ./core/image_helpers.h: At global scope:
> ./core/image_helpers.h:64:14: error: ‘__assign’ is not a class template
> 64 | struct __assign<std::tuple<DestImageType...>> { NOMEMALIGN
> | ^~~~~~~~
> ./core/image_helpers.h:64:14: error: redefinition of ‘struct MR::{anonymous}::__assign<DestImageType>’
> ./core/image_helpers.h:55:14: note: previous definition of ‘struct MR::{anonymous}::__assign<DestImageType>’
> 55 | struct __assign { NOMEMALIGN
> | ^~~~~~~~
> ./core/image_helpers.h:81:14: error: ‘__max_axis’ is not a class template
> 81 | struct __max_axis<std::tuple<DestImageType...>> { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/image_helpers.h:81:14: error: redefinition of ‘struct MR::{anonymous}::__max_axis<DestImageType>’
> ./core/image_helpers.h:73:14: note: previous definition of ‘struct MR::{anonymous}::__max_axis<DestImageType>’
> 73 | struct __max_axis { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/image_helpers.h: In member function ‘void MR::{anonymous}::__assign_pos_axis_range<ImageType>::to(DestImageType& ...) const’:
> ./core/image_helpers.h:93:20: error: ‘__max_axis’ was not declared in this scope; did you mean ‘MR::{anonymous}::__max_axis’?
> 93 | apply (__max_axis<DestImageType...> (last_axis), std::tie (ref, dest...));
> | ^~~~~~~~~~
> | MR::{anonymous}::__max_axis
> ./core/image_helpers.h:73:14: note: ‘MR::{anonymous}::__max_axis’ declared here
> 73 | struct __max_axis { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/image_helpers.h:93:44: error: expected primary-expression before ‘...’ token
> 93 | apply (__max_axis<DestImageType...> (last_axis), std::tie (ref, dest...));
> | ^~~
> ./core/image_helpers.h:95:22: error: ‘__assign’ was not declared in this scope; did you mean ‘MR::{anonymous}::__assign’?
> 95 | apply (__assign<DestImageType...> (n, __get_index (ref, n)), std::tie (dest...));
> | ^~~~~~~~
> | MR::{anonymous}::__assign
> ./core/image_helpers.h:55:14: note: ‘MR::{anonymous}::__assign’ declared here
> 55 | struct __assign { NOMEMALIGN
> | ^~~~~~~~
> ./core/image_helpers.h:95:44: error: expected primary-expression before ‘...’ token
> 95 | apply (__assign<DestImageType...> (n, __get_index (ref, n)), std::tie (dest...));
> | ^~~
> ./core/image_helpers.h: At global scope:
> ./core/image_helpers.h:110:15: error: ‘vector’ does not name a type
> 110 | const vector<IntType> axes;
> | ^~~~~~
> ./core/image_helpers.h: In member function ‘void MR::{anonymous}::__assign_pos_axes<ImageType, IntType>::to(DestImageType& ...) const’:
> ./core/image_helpers.h:106:27: error: ‘axes’ was not declared in this scope
> 106 | for (auto a : axes)
> | ^~~~
> ./core/image_helpers.h:107:22: error: ‘__assign’ was not declared in this scope; did you mean ‘MR::{anonymous}::__assign’?
> 107 | apply (__assign<DestImageType...> (a, __get_index (ref, a)), std::tie (dest...));
> | ^~~~~~~~
> | MR::{anonymous}::__assign
> ./core/image_helpers.h:55:14: note: ‘MR::{anonymous}::__assign’ declared here
> 55 | struct __assign { NOMEMALIGN
> | ^~~~~~~~
> ./core/image_helpers.h:107:44: error: expected primary-expression before ‘...’ token
> 107 | apply (__assign<DestImageType...> (a, __get_index (ref, a)), std::tie (dest...));
> | ^~~
> ./core/image_helpers.h: At global scope:
> ./core/image_helpers.h:132:54: error: expected nested-name-specifier before ‘enable_if_header_type’
> 132 | template<typename C> static yes& test(typename enable_if_header_type<HeaderType,int>::type);
> | ^~~~~~~~~~~~~~~~~~~~~
> ./core/image_helpers.h:132:75: error: expected ‘,’ or ‘...’ before ‘<’ token
> 132 | template<typename C> static yes& test(typename enable_if_header_type<HeaderType,int>::type);
> | ^
> ./core/image_helpers.h:158:54: error: expected nested-name-specifier before ‘enable_if_image_type’
> 158 | template<typename C> static yes& test(typename enable_if_image_type<ImageType,int>::type);
> | ^~~~~~~~~~~~~~~~~~~~
> ./core/image_helpers.h:158:74: error: expected ‘,’ or ‘...’ before ‘<’ token
> 158 | template<typename C> static yes& test(typename enable_if_image_type<ImageType,int>::type);
> | ^
> ./core/image_helpers.h:178:33: error: ‘is_image_type’ was not declared in this scope; did you mean ‘MR::is_image_type’?
> 178 | static bool const value = is_image_type<ImageType>::value && !is_pure_image<ImageType>::value;
> | ^~~~~~~~~~~~~
> | MR::is_image_type
> ./core/image_helpers.h:156:11: note: ‘MR::is_image_type’ declared here
> 156 | class is_image_type { NOMEMALIGN
> | ^~~~~~~~~~~~~
> ./core/image_helpers.h:178:56: error: expected primary-expression before ‘>’ token
> 178 | static bool const value = is_image_type<ImageType>::value && !is_pure_image<ImageType>::value;
> | ^
> ./core/image_helpers.h:178:59: error: ‘::value’ has not been declared
> 178 | static bool const value = is_image_type<ImageType>::value && !is_pure_image<ImageType>::value;
> | ^~~~~
> ./core/image_helpers.h:178:69: error: ‘is_pure_image’ was not declared in this scope; did you mean ‘MR::is_pure_image’?
> 178 | static bool const value = is_image_type<ImageType>::value && !is_pure_image<ImageType>::value;
> | ^~~~~~~~~~~~~
> | MR::is_pure_image
> ./core/image_helpers.h:171:12: note: ‘MR::is_pure_image’ declared here
> 171 | struct is_pure_image { NOMEMALIGN
> | ^~~~~~~~~~~~~
> ./core/image_helpers.h:178:92: error: expected primary-expression before ‘>’ token
> 178 | static bool const value = is_image_type<ImageType>::value && !is_pure_image<ImageType>::value;
> | ^
> ./core/image_helpers.h:178:82: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
> 178 | static bool const value = is_image_type<ImageType>::value && !is_pure_image<ImageType>::value;
> | ^
> ./core/image_helpers.h:178:95: error: ‘::value’ has not been declared
> 178 | static bool const value = is_image_type<ImageType>::value && !is_pure_image<ImageType>::value;
> | ^~~~~
> ./core/image_helpers.h:194:18: error: ‘__assign_pos_axis_range’ does not name a type
> 194 | FORCE_INLINE __assign_pos_axis_range<ImageType>
> | ^~~~~~~~~~~~~~~~~~~~~~~
> ./core/image_helpers.h:211:18: error: ‘__assign_pos_axes’ does not name a type
> 211 | FORCE_INLINE __assign_pos_axes<ImageType, IntType>
> | ^~~~~~~~~~~~~~~~~
> ./core/image_helpers.h:218:18: error: ‘__assign_pos_axes’ does not name a type
> 218 | FORCE_INLINE __assign_pos_axes<ImageType, IntType>
> | ^~~~~~~~~~~~~~~~~
> In file included from ./core/header.h:30,
> from core/file/config.cpp:19:
> ./core/image_helpers.h: In function ‘void Eigen::check_effective_dimensionality(const HeaderType&, std::size_t)’:
> ./core/image_helpers.h:264:78: error: there are no arguments to ‘str’ that depend on a template parameter, so a declaration of ‘str’ must be available [-fpermissive]
> 264 | throw Exception ("Image \"" + in.name() + "\" does not represent " + str(N) + "D data (too few dimensions)");
> | ^~~
> ./core/image_helpers.h:267:80: error: there are no arguments to ‘str’ that depend on a template parameter, so a declaration of ‘str’ must be available [-fpermissive]
> 267 | throw Exception ("Image \"" + in.name() + "\" does not represent " + str(N) + "D data (axis " + str(i) + " has size " + str(in.size(i)) + ")");
> | ^~~
> ./core/image_helpers.h:267:107: error: there are no arguments to ‘str’ that depend on a template parameter, so a declaration of ‘str’ must be available [-fpermissive]
> 267 | throw Exception ("Image \"" + in.name() + "\" does not represent " + str(N) + "D data (axis " + str(i) + " has size " + str(in.size(i)) + ")");
> | ^~~
> ./core/image_helpers.h: At global scope:
> ./core/image_helpers.h:304:61: error: ‘vector’ does not name a type
> 304 | inline int64_t voxel_count (const HeaderType& in, const vector<size_t>& axes)
> | ^~~~~~
> ./core/image_helpers.h:304:67: error: expected ‘,’ or ‘...’ before ‘<’ token
> 304 | inline int64_t voxel_count (const HeaderType& in, const vector<size_t>& axes)
> | ^
> ./core/image_helpers.h: In function ‘int64_t Eigen::voxel_count(const HeaderType&, int)’:
> ./core/image_helpers.h:307:30: error: ‘axes’ was not declared in this scope
> 307 | for (size_t n = 0; n < axes.size(); ++n) {
> | ^~~~
> ./core/image_helpers.h: At global scope:
> ./core/image_helpers.h:320:29: error: expected initializer before ‘<’ token
> 320 | inline int64_t footprint<bool> (int64_t count) {
> | ^
> ./core/image_helpers.h:324:44: error: ‘DataType’ has not been declared
> 324 | inline int64_t footprint (int64_t count, DataType dtype) {
> | ^~~~~~~~
> ./core/image_helpers.h: In function ‘int64_t Eigen::footprint(int64_t, int)’:
> ./core/image_helpers.h:325:21: error: ‘DataType’ has not been declared
> 325 | return dtype == DataType::Bit ? (count+7)/8 : count*dtype.bytes();
> | ^~~~~~~~
> ./core/image_helpers.h:325:63: error: request for member ‘bytes’ in ‘dtype’, which is of non-class type ‘int’
> 325 | return dtype == DataType::Bit ? (count+7)/8 : count*dtype.bytes();
> | ^~~~~
> ./core/image_helpers.h: At global scope:
> ./core/image_helpers.h:362:87: error: ‘vector’ does not name a type
> 362 | inline bool spacings_match (const HeaderType1& in1, const HeaderType2& in2, const vector<size_t>& axes, const double tol=0.0)
> | ^~~~~~
> ./core/image_helpers.h:362:93: error: expected ‘,’ or ‘...’ before ‘<’ token
> 362 | inline bool spacings_match (const HeaderType1& in1, const HeaderType2& in2, const vector<size_t>& axes, const double tol=0.0)
> | ^
> ./core/image_helpers.h: In function ‘bool Eigen::spacings_match(const HeaderType1&, const HeaderType2&, int)’:
> ./core/image_helpers.h:364:30: error: ‘axes’ was not declared in this scope
> 364 | for (size_t n = 0; n < axes.size(); ++n) {
> | ^~~~
> ./core/image_helpers.h:366:65: error: ‘tol’ was not declared in this scope; did you mean ‘to’?
> 366 | if (abs(in1.spacing (axes[n]) - in2.spacing(axes[n])) > tol * 0.5 * (in1.spacing (axes[n]) + in2.spacing(axes[n]))) return false;
> | ^~~
> | to
> ./core/image_helpers.h: At global scope:
> ./core/image_helpers.h:393:89: error: ‘vector’ does not name a type
> 393 | inline bool dimensions_match (const HeaderType1& in1, const HeaderType2& in2, const vector<size_t>& axes)
> | ^~~~~~
> ./core/image_helpers.h:393:95: error: expected ‘,’ or ‘...’ before ‘<’ token
> 393 | inline bool dimensions_match (const HeaderType1& in1, const HeaderType2& in2, const vector<size_t>& axes)
> | ^
> ./core/image_helpers.h: In function ‘bool Eigen::dimensions_match(const HeaderType1&, const HeaderType2&, int)’:
> ./core/image_helpers.h:395:30: error: ‘axes’ was not declared in this scope
> 395 | for (size_t n = 0; n < axes.size(); ++n) {
> | ^~~~
> ./core/image_helpers.h: In function ‘void Eigen::check_dimensions(const HeaderType1&, const HeaderType2&, std::size_t, std::size_t)’:
> ./core/image_helpers.h:426:121: error: there are no arguments to ‘str’ that depend on a template parameter, so a declaration of ‘str’ must be available [-fpermissive]
> 426 | throw Exception ("dimension mismatch between \"" + in1.name() + "\" and \"" + in2.name() + "\" between axes " + str(from_axis) + " and " + str(to_axis-1) +
> | ^~~
> ./core/image_helpers.h:426:148: error: there are no arguments to ‘str’ that depend on a template parameter, so a declaration of ‘str’ must be available [-fpermissive]
> 426 | throw Exception ("dimension mismatch between \"" + in1.name() + "\" and \"" + in2.name() + "\" between axes " + str(from_axis) + " and " + str(to_axis-1) +
> | ^~~
> ./core/image_helpers.h: At global scope:
> ./core/image_helpers.h:431:89: error: ‘vector’ does not name a type
> 431 | inline void check_dimensions (const HeaderType1& in1, const HeaderType2& in2, const vector<size_t>& axes)
> | ^~~~~~
> ./core/image_helpers.h:431:95: error: expected ‘,’ or ‘...’ before ‘<’ token
> 431 | inline void check_dimensions (const HeaderType1& in1, const HeaderType2& in2, const vector<size_t>& axes)
> | ^
> ./core/image_helpers.h: In function ‘void Eigen::check_dimensions(const HeaderType1&, const HeaderType2&, int)’:
> ./core/image_helpers.h:433:40: error: ‘axes’ was not declared in this scope
> 433 | if (!dimensions_match (in1, in2, axes))
> | ^~~~
> ./core/image_helpers.h:434:118: error: there are no arguments to ‘join’ that depend on a template parameter, so a declaration of ‘join’ must be available [-fpermissive]
> 434 | throw Exception ("dimension mismatch between \"" + in1.name() + "\" and \"" + in2.name() + "\" for axes [" + join(axes, ",") + "]" +
> | ^~~~
> ./core/image_helpers.h: In function ‘bool Eigen::voxel_grids_match_in_scanner_space(HeaderType1, HeaderType2, double)’:
> ./core/image_helpers.h:455:13: error: invalid use of template-name ‘Eigen::Vector3’ without an argument list
> 455 | const Eigen::Vector3 vs1 (in1.spacing(0), in1.spacing(1), in1.spacing(2));
> | ^~~~~
> In file included from /usr/include/eigen3/Eigen/Core:295,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/Matrix.h:541:1: note: ‘template<class Type> using Vector3 = Eigen::Matrix<Type, 3, 1>’ declared here
> 541 | EIGEN_MAKE_TYPEDEFS(3, 3)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./core/header.h:30,
> from core/file/config.cpp:19:
> ./core/image_helpers.h:456:13: error: invalid use of template-name ‘Eigen::Vector3’ without an argument list
> 456 | const Eigen::Vector3 vs2 (in2.spacing(0), in2.spacing(1), in2.spacing(2));
> | ^~~~~
> In file included from /usr/include/eigen3/Eigen/Core:295,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/Matrix.h:541:1: note: ‘template<class Type> using Vector3 = Eigen::Matrix<Type, 3, 1>’ declared here
> 541 | EIGEN_MAKE_TYPEDEFS(3, 3)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./core/header.h:30,
> from core/file/config.cpp:19:
> ./core/image_helpers.h:464:48: error: ‘vs1’ was not declared in this scope
> 464 | double diff_in_scannercoord = std::sqrt((vs1.asDiagonal() * in1.transform().matrix() * voxel_coord -
> | ^~~
> ./core/image_helpers.h:465:9: error: ‘vs2’ was not declared in this scope
> 465 | vs2.asDiagonal() * in2.transform().matrix() * voxel_coord).colwise().squaredNorm().maxCoeff());
> | ^~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/image_helpers.h:466:74: error: there are no arguments to ‘str’ that depend on a template parameter, so a declaration of ‘str’ must be available [-fpermissive]
> 466 | DEBUG ("transforms_match: FOV difference in scanner coordinates: "+str(diff_in_scannercoord));
> | ^~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> In file included from ./core/header.h:30,
> from core/file/config.cpp:19:
> ./core/image_helpers.h: At global scope:
> ./core/image_helpers.h:551:24: error: expected template-name before ‘<’ token
> 551 | public ConstRow<ImageType>
> | ^
> ./core/image_helpers.h:551:24: error: expected ‘{’ before ‘<’ token
> ./core/image_helpers.h:631:22: error: ‘Helper’ does not name a type
> 631 | FORCE_INLINE Helper::Index<Derived> index (size_t axis) { return { static_cast<Derived&> (*this), axis }; }
> | ^~~~~~
> ./core/image_helpers.h:634:22: error: ‘Helper’ does not name a type
> 634 | FORCE_INLINE Helper::Value<Derived> value () { return { static_cast<Derived&> (*this) }; }
> | ^~~~~~
> ./core/image_helpers.h:651:22: error: ‘Helper’ does not name a type
> 651 | FORCE_INLINE Helper::ConstRow<Derived> row (size_t axis) const { return { static_cast<Derived&> (*this), axis }; }
> | ^~~~~~
> ./core/image_helpers.h:652:22: error: ‘Helper’ does not name a type
> 652 | FORCE_INLINE Helper::Row<Derived> row (size_t axis) { return { static_cast<Derived&> (*this), axis }; }
> | ^~~~~~
> In file included from ./core/header.h:31,
> from core/file/config.cpp:19:
> ./core/image_io/base.h:47:21: error: ‘Header’ does not name a type
> 47 | Base (const Header& header);
> | ^~~~~~
> ./core/image_io/base.h:59:26: error: ‘Header’ does not name a type
> 59 | void open (const Header& header, size_t buffer_size = 0);
> | ^~~~~~
> ./core/image_io/base.h:60:27: error: ‘Header’ does not name a type
> 60 | void close (const Header& header);
> | ^~~~~~
> ./core/image_io/base.h:88:9: error: ‘vector’ does not name a type
> 88 | vector<File::Entry> files;
> | ^~~~~~
> ./core/image_io/base.h:105:9: error: ‘vector’ does not name a type
> 105 | vector<std::unique_ptr<uint8_t[]>> addresses;
> | ^~~~~~
> ./core/image_io/base.h:111:34: error: ‘Header’ does not name a type
> 111 | virtual void load (const Header& header, size_t buffer_size) = 0;
> | ^~~~~~
> ./core/image_io/base.h:112:36: error: ‘Header’ does not name a type
> 112 | virtual void unload (const Header& header) = 0;
> | ^~~~~~
> ./core/image_io/base.h: In member function ‘uint8_t* MR::ImageIO::Base::segment(std::size_t) const’:
> ./core/image_io/base.h:78:18: error: ‘addresses’ was not declared in this scope
> 78 | return addresses[n].get();
> | ^~~~~~~~~
> ./core/image_io/base.h: In member function ‘std::size_t MR::ImageIO::Base::nsegments() const’:
> ./core/image_io/base.h:81:18: error: ‘addresses’ was not declared in this scope
> 81 | return addresses.size();
> | ^~~~~~~~~
> ./core/image_io/base.h: In member function ‘void MR::ImageIO::Base::merge(const MR::ImageIO::Base&)’:
> ./core/image_io/base.h:92:36: error: ‘const class MR::ImageIO::Base’ has no member named ‘files’
> 92 | for (size_t n = 0; n < B.files.size(); ++n)
> | ^~~~~
> ./core/image_io/base.h:93:13: error: ‘files’ was not declared in this scope
> 93 | files.push_back (B.files[n]);
> | ^~~~~
> ./core/image_io/base.h:93:32: error: ‘const class MR::ImageIO::Base’ has no member named ‘files’
> 93 | files.push_back (B.files[n]);
> | ^~~~~
> ./core/image_io/base.h: In function ‘std::ostream& Eigen::operator<<(std::ostream&, const MR::ImageIO::Base&)’:
> ./core/image_io/base.h:98:28: error: ‘const class MR::ImageIO::Base’ has no member named ‘files’
> 98 | stream << str (B.files.size()) << " files, segsize " << str(B.segsize)
> | ^~~~~
> ./core/image_io/base.h:98:21: error: ‘str’ was not declared in this scope; did you mean ‘Eigen::str’?
> 98 | stream << str (B.files.size()) << " files, segsize " << str(B.segsize)
> | ^~~
> | Eigen::str
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:247:41: note: ‘Eigen::str’ declared here
> 247 | template <class T> inline std::string str (const T& value, int precision = 0)
> | ^~~
> In file included from core/file/config.cpp:19:
> ./core/header.h: At global scope:
> ./core/header.h:56:11: error: ‘default_type’ does not name a type
> 56 | default_type spacing;
> | ^~~~~~~~~~~~
> ./core/header.h:208:13: error: ‘transform_type’ does not name a type
> 208 | const transform_type& transform () const { return transform_; }
> | ^~~~~~~~~~~~~~
> ./core/header.h:210:7: error: ‘transform_type’ does not name a type
> 210 | transform_type& transform () { return transform_; }
> | ^~~~~~~~~~~~~~
> In file included from core/file/config.cpp:19:
> ./core/header.h:217:28: error: expected ‘)’ before ‘<’ token
> 217 | NDimProxy (vector<Axis>& axes) : axes (axes) { }
> | ~ ^
> | )
> ./core/header.h:230:11: error: ‘vector’ does not name a type
> 230 | vector<Axis>& axes;
> | ^~~~~~
> ./core/header.h:244:13: error: ‘default_type’ does not name a type
> 244 | const default_type& spacing (size_t axis) const;
> | ^~~~~~~~~~~~
> ./core/header.h:246:7: error: ‘default_type’ does not name a type
> 246 | default_type& spacing (size_t axis);
> | ^~~~~~~~~~~~
> ./core/header.h:253:45: error: expected class-name before ‘{’ token
> 253 | class DataTypeProxy : public DataType { NOMEMALIGN
> | ^
> ./core/header.h:262:17: error: ‘DataType’ does not name a type
> 262 | const DataType& operator= (const DataType& DT) { DataType::operator= (DT); set(); return *this; }
> | ^~~~~~~~
> ./core/header.h:278:7: error: ‘DataType’ does not name a type
> 278 | DataType datatype () const { return datatype_; }
> | ^~~~~~~~
> ./core/header.h:281:7: error: ‘default_type’ does not name a type
> 281 | default_type intensity_offset () const { return offset_; }
> | ^~~~~~~~~~~~
> ./core/header.h:283:7: error: ‘default_type’ does not name a type
> 283 | default_type& intensity_offset () { return offset_; }
> | ^~~~~~~~~~~~
> ./core/header.h:285:7: error: ‘default_type’ does not name a type
> 285 | default_type intensity_scale () const { return scale_; }
> | ^~~~~~~~~~~~
> ./core/header.h:287:7: error: ‘default_type’ does not name a type
> 287 | default_type& intensity_scale () { return scale_; }
> | ^~~~~~~~~~~~
> ./core/header.h:290:37: error: ‘default_type’ has not been declared
> 290 | void apply_intensity_scaling (default_type scaling, default_type bias = 0.0) {
> | ^~~~~~~~~~~~
> ./core/header.h:290:59: error: ‘default_type’ has not been declared
> 290 | void apply_intensity_scaling (default_type scaling, default_type bias = 0.0) {
> | ^~~~~~~~~~~~
> ./core/header.h:296:35: error: ‘default_type’ has not been declared
> 296 | void set_intensity_scaling (default_type scaling = 1.0, default_type bias = 0.0) {
> | ^~~~~~~~~~~~
> ./core/header.h:296:63: error: ‘default_type’ has not been declared
> 296 | void set_intensity_scaling (default_type scaling = 1.0, default_type bias = 0.0) {
> | ^~~~~~~~~~~~
> ./core/header.h:338:9: error: ‘Image’ does not name a type
> 338 | Image<ValueType> get_image (bool read_write_if_existing = false);
> | ^~~~~
> ./core/header.h:341:13: error: ‘KeyValues’ does not name a type
> 341 | const KeyValues& keyval () const { return keyval_; }
> | ^~~~~~~~~
> ./core/header.h:343:7: error: ‘KeyValues’ does not name a type
> 343 | KeyValues& keyval () { return keyval_; }
> | ^~~~~~~~~
> ./core/header.h:361:7: error: ‘vector’ does not name a type
> 361 | vector<Axis> axes_;
> | ^~~~~~
> ./core/header.h:362:7: error: ‘transform_type’ does not name a type
> 362 | transform_type transform_;
> | ^~~~~~~~~~~~~~
> ./core/header.h:364:7: error: ‘KeyValues’ does not name a type
> 364 | KeyValues keyval_;
> | ^~~~~~~~~
> ./core/header.h:368:23: error: ‘ImageIO’ was not declared in this scope; did you mean ‘MR::ImageIO’?
> 368 | std::unique_ptr<ImageIO::Base> io;
> | ^~~~~~~
> | MR::ImageIO
> In file included from ./core/header.h:31,
> from core/file/config.cpp:19:
> ./core/image_io/base.h:41:13: note: ‘MR::ImageIO’ declared here
> 41 | namespace ImageIO
> | ^~~~~~~
> In file included from core/file/config.cpp:19:
> ./core/header.h:368:36: error: template argument 1 is invalid
> 368 | std::unique_ptr<ImageIO::Base> io;
> | ^
> ./core/header.h:368:36: error: template argument 2 is invalid
> ./core/header.h:370:7: error: ‘DataType’ does not name a type
> 370 | DataType datatype_;
> | ^~~~~~~~
> ./core/header.h:372:7: error: ‘default_type’ does not name a type
> 372 | default_type offset_, scale_;
> | ^~~~~~~~~~~~
> In file included from core/file/config.cpp:19:
> ./core/header.h: In constructor ‘MR::Header::Axis::Axis()’:
> ./core/header.h:54:40: error: class ‘MR::Header::Axis’ does not have any field named ‘spacing’
> 54 | Axis () noexcept : size (1), spacing (std::numeric_limits<default_type>::quiet_NaN()), stride (0) { }
> | ^~~~~~~
> ./core/header.h:54:69: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 54 | Axis () noexcept : size (1), spacing (std::numeric_limits<default_type>::quiet_NaN()), stride (0) { }
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> In file included from core/file/config.cpp:19:
> ./core/header.h:54:81: error: template argument 1 is invalid
> 54 | Axis () noexcept : size (1), spacing (std::numeric_limits<default_type>::quiet_NaN()), stride (0) { }
> | ^
> ./core/header.h: In constructor ‘MR::Header::Header()’:
> ./core/header.h:61:9: error: class ‘MR::Header’ does not have any field named ‘transform_’
> 61 | transform_ (Eigen::Matrix<default_type,3,4>::Constant (NaN)),
> | ^~~~~~~~~~
> ./core/header.h:61:35: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 61 | transform_ (Eigen::Matrix<default_type,3,4>::Constant (NaN)),
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> In file included from core/file/config.cpp:19:
> ./core/header.h:61:51: error: template argument 1 is invalid
> 61 | transform_ (Eigen::Matrix<default_type,3,4>::Constant (NaN)),
> | ^
> ./core/header.h:61:64: error: ‘NaN’ was not declared in this scope; did you mean ‘MR::NaN’?
> 61 | transform_ (Eigen::Matrix<default_type,3,4>::Constant (NaN)),
> | ^~~
> | MR::NaN
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:230:26: note: ‘MR::NaN’ declared here
> 230 | constexpr default_type NaN = std::numeric_limits<default_type>::quiet_NaN();
> | ^~~
> In file included from core/file/config.cpp:19:
> ./core/header.h:63:9: error: class ‘MR::Header’ does not have any field named ‘offset_’
> 63 | offset_ (0.0),
> | ^~~~~~~
> ./core/header.h:64:9: error: class ‘MR::Header’ does not have any field named ‘scale_’
> 64 | scale_ (1.0),
> | ^~~~~~
> ./core/header.h: In constructor ‘MR::Header::Header(MR::Header&&)’:
> ./core/header.h:69:9: error: class ‘MR::Header’ does not have any field named ‘axes_’
> 69 | axes_ (std::move (H.axes_)),
> | ^~~~~
> ./core/header.h:69:29: error: ‘class MR::Header’ has no member named ‘axes_’
> 69 | axes_ (std::move (H.axes_)),
> | ^~~~~
> ./core/header.h:70:9: error: class ‘MR::Header’ does not have any field named ‘transform_’
> 70 | transform_ (std::move (H.transform_)),
> | ^~~~~~~~~~
> ./core/header.h:70:34: error: ‘class MR::Header’ has no member named ‘transform_’
> 70 | transform_ (std::move (H.transform_)),
> | ^~~~~~~~~~
> ./core/header.h:72:9: error: class ‘MR::Header’ does not have any field named ‘keyval_’
> 72 | keyval_ (std::move (H.keyval_)),
> | ^~~~~~~
> ./core/header.h:72:31: error: ‘class MR::Header’ has no member named ‘keyval_’
> 72 | keyval_ (std::move (H.keyval_)),
> | ^~~~~~~
> ./core/header.h:75:9: error: class ‘MR::Header’ does not have any field named ‘datatype_’
> 75 | datatype_ (std::move (H.datatype_)),
> | ^~~~~~~~~
> ./core/header.h:75:33: error: ‘class MR::Header’ has no member named ‘datatype_’; did you mean ‘datatype’?
> 75 | datatype_ (std::move (H.datatype_)),
> | ^~~~~~~~~
> | datatype
> ./core/header.h:76:9: error: class ‘MR::Header’ does not have any field named ‘offset_’
> 76 | offset_ (H.offset_),
> | ^~~~~~~
> ./core/header.h:76:20: error: ‘class MR::Header’ has no member named ‘offset_’
> 76 | offset_ (H.offset_),
> | ^~~~~~~
> ./core/header.h:77:9: error: class ‘MR::Header’ does not have any field named ‘scale_’
> 77 | scale_ (H.scale_),
> | ^~~~~~
> ./core/header.h:77:19: error: ‘class MR::Header’ has no member named ‘scale_’
> 77 | scale_ (H.scale_),
> | ^~~~~~
> ./core/header.h: In member function ‘MR::Header& MR::Header::operator=(MR::Header&&)’:
> ./core/header.h:82:9: error: ‘axes_’ was not declared in this scope
> 82 | axes_ = std::move (H.axes_);
> | ^~~~~
> ./core/header.h:82:30: error: ‘class MR::Header’ has no member named ‘axes_’
> 82 | axes_ = std::move (H.axes_);
> | ^~~~~
> ./core/header.h:83:9: error: ‘transform_’ was not declared in this scope; did you mean ‘transform_type’?
> 83 | transform_ = std::move (H.transform_);
> | ^~~~~~~~~~
> | transform_type
> ./core/header.h:83:35: error: ‘class MR::Header’ has no member named ‘transform_’
> 83 | transform_ = std::move (H.transform_);
> | ^~~~~~~~~~
> ./core/header.h:85:9: error: ‘keyval_’ was not declared in this scope
> 85 | keyval_ = std::move (H.keyval_);
> | ^~~~~~~
> ./core/header.h:85:32: error: ‘class MR::Header’ has no member named ‘keyval_’
> 85 | keyval_ = std::move (H.keyval_);
> | ^~~~~~~
> ./core/header.h:88:9: error: ‘datatype_’ was not declared in this scope; did you mean ‘datatype’?
> 88 | datatype_ = std::move (H.datatype_);
> | ^~~~~~~~~
> | datatype
> ./core/header.h:88:34: error: ‘class MR::Header’ has no member named ‘datatype_’; did you mean ‘datatype’?
> 88 | datatype_ = std::move (H.datatype_);
> | ^~~~~~~~~
> | datatype
> ./core/header.h:89:9: error: ‘offset_’ was not declared in this scope; did you mean ‘offsetof’?
> 89 | offset_ = H.offset_;
> | ^~~~~~~
> | offsetof
> ./core/header.h:89:21: error: ‘class MR::Header’ has no member named ‘offset_’
> 89 | offset_ = H.offset_;
> | ^~~~~~~
> ./core/header.h:90:9: error: ‘scale_’ was not declared in this scope; did you mean ‘scalbn’?
> 90 | scale_ = H.scale_;
> | ^~~~~~
> | scalbn
> ./core/header.h:90:20: error: ‘class MR::Header’ has no member named ‘scale_’
> 90 | scale_ = H.scale_;
> | ^~~~~~
> ./core/header.h: In copy constructor ‘MR::Header::Header(const MR::Header&)’:
> ./core/header.h:100:9: error: class ‘MR::Header’ does not have any field named ‘axes_’
> 100 | axes_ (H.axes_),
> | ^~~~~
> ./core/header.h:100:18: error: ‘const class MR::Header’ has no member named ‘axes_’
> 100 | axes_ (H.axes_),
> | ^~~~~
> ./core/header.h:101:9: error: class ‘MR::Header’ does not have any field named ‘transform_’
> 101 | transform_ (H.transform_),
> | ^~~~~~~~~~
> ./core/header.h:101:23: error: ‘const class MR::Header’ has no member named ‘transform_’
> 101 | transform_ (H.transform_),
> | ^~~~~~~~~~
> ./core/header.h:103:9: error: class ‘MR::Header’ does not have any field named ‘keyval_’
> 103 | keyval_ (H.keyval_),
> | ^~~~~~~
> ./core/header.h:103:20: error: ‘const class MR::Header’ has no member named ‘keyval_’
> 103 | keyval_ (H.keyval_),
> | ^~~~~~~
> ./core/header.h:105:9: error: class ‘MR::Header’ does not have any field named ‘datatype_’
> 105 | datatype_ (H.datatype_),
> | ^~~~~~~~~
> ./core/header.h:105:22: error: ‘const class MR::Header’ has no member named ‘datatype_’; did you mean ‘datatype’?
> 105 | datatype_ (H.datatype_),
> | ^~~~~~~~~
> | datatype
> ./core/header.h:106:9: error: class ‘MR::Header’ does not have any field named ‘offset_’
> 106 | offset_ (datatype().is_integer() ? H.offset_ : 0.0),
> | ^~~~~~~
> ./core/header.h:106:29: error: ‘class MR::Header::DataTypeProxy’ has no member named ‘is_integer’
> 106 | offset_ (datatype().is_integer() ? H.offset_ : 0.0),
> | ^~~~~~~~~~
> ./core/header.h:106:46: error: ‘const class MR::Header’ has no member named ‘offset_’
> 106 | offset_ (datatype().is_integer() ? H.offset_ : 0.0),
> | ^~~~~~~
> ./core/header.h:107:9: error: class ‘MR::Header’ does not have any field named ‘scale_’
> 107 | scale_ (datatype().is_integer() ? H.scale_ : 1.0),
> | ^~~~~~
> ./core/header.h:107:28: error: ‘class MR::Header::DataTypeProxy’ has no member named ‘is_integer’
> 107 | scale_ (datatype().is_integer() ? H.scale_ : 1.0),
> | ^~~~~~~~~~
> ./core/header.h:107:45: error: ‘const class MR::Header’ has no member named ‘scale_’
> 107 | scale_ (datatype().is_integer() ? H.scale_ : 1.0),
> | ^~~~~~
> ./core/header.h: In constructor ‘MR::Header::Header(const HeaderType&)’:
> ./core/header.h:121:11: error: class ‘MR::Header’ does not have any field named ‘transform_’
> 121 | transform_ (original.transform()),
> | ^~~~~~~~~~
> ./core/header.h:123:11: error: class ‘MR::Header’ does not have any field named ‘keyval_’
> 123 | keyval_ (original.keyval()),
> | ^~~~~~~
> ./core/header.h:125:11: error: class ‘MR::Header’ does not have any field named ‘datatype_’
> 125 | datatype_ (DataType::from<typename HeaderType::value_type>()),
> | ^~~~~~~~~
> ./core/header.h:125:22: error: ‘DataType’ has not been declared
> 125 | datatype_ (DataType::from<typename HeaderType::value_type>()),
> | ^~~~~~~~
> ./core/header.h:125:68: error: expected ‘(’ before ‘>’ token
> 125 | datatype_ (DataType::from<typename HeaderType::value_type>()),
> | ^
> ./core/header.h:125:70: error: expected primary-expression before ‘)’ token
> 125 | datatype_ (DataType::from<typename HeaderType::value_type>()),
> | ^
> ./core/header.h:126:11: error: class ‘MR::Header’ does not have any field named ‘offset_’
> 126 | offset_ (0.0),
> | ^~~~~~~
> ./core/header.h:127:11: error: class ‘MR::Header’ does not have any field named ‘scale_’
> 127 | scale_ (1.0),
> | ^~~~~~
> ./core/header.h:130:13: error: ‘axes_’ was not declared in this scope
> 130 | axes_.resize (original.ndim());
> | ^~~~~
> ./core/header.h:134:15: error: there are no arguments to ‘spacing’ that depend on a template parameter, so a declaration of ‘spacing’ must be available [-fpermissive]
> 134 | spacing(n) = original.spacing(n);
> | ^~~~~~~
> ./core/header.h: In member function ‘MR::Header& MR::Header::operator=(const MR::Header&)’:
> ./core/header.h:143:9: error: ‘axes_’ was not declared in this scope
> 143 | axes_ = H.axes_;
> | ^~~~~
> ./core/header.h:143:19: error: ‘const class MR::Header’ has no member named ‘axes_’
> 143 | axes_ = H.axes_;
> | ^~~~~
> ./core/header.h:144:9: error: ‘transform_’ was not declared in this scope; did you mean ‘transform_type’?
> 144 | transform_ = H.transform_;
> | ^~~~~~~~~~
> | transform_type
> ./core/header.h:144:24: error: ‘const class MR::Header’ has no member named ‘transform_’
> 144 | transform_ = H.transform_;
> | ^~~~~~~~~~
> ./core/header.h:146:9: error: ‘keyval_’ was not declared in this scope
> 146 | keyval_ = H.keyval_;
> | ^~~~~~~
> ./core/header.h:146:21: error: ‘const class MR::Header’ has no member named ‘keyval_’
> 146 | keyval_ = H.keyval_;
> | ^~~~~~~
> ./core/header.h:148:9: error: ‘datatype_’ was not declared in this scope; did you mean ‘datatype’?
> 148 | datatype_ = H.datatype_;
> | ^~~~~~~~~
> | datatype
> ./core/header.h:148:23: error: ‘const class MR::Header’ has no member named ‘datatype_’; did you mean ‘datatype’?
> 148 | datatype_ = H.datatype_;
> | ^~~~~~~~~
> | datatype
> ./core/header.h:149:9: error: ‘offset_’ was not declared in this scope; did you mean ‘offsetof’?
> 149 | offset_ = datatype().is_integer() ? H.offset_ : 0.0;
> | ^~~~~~~
> | offsetof
> ./core/header.h:149:30: error: ‘class MR::Header::DataTypeProxy’ has no member named ‘is_integer’
> 149 | offset_ = datatype().is_integer() ? H.offset_ : 0.0;
> | ^~~~~~~~~~
> ./core/header.h:149:47: error: ‘const class MR::Header’ has no member named ‘offset_’
> 149 | offset_ = datatype().is_integer() ? H.offset_ : 0.0;
> | ^~~~~~~
> ./core/header.h:150:9: error: ‘scale_’ was not declared in this scope; did you mean ‘scalbn’?
> 150 | scale_ = datatype().is_integer() ? H.scale_ : 1.0;
> | ^~~~~~
> | scalbn
> ./core/header.h:150:29: error: ‘class MR::Header::DataTypeProxy’ has no member named ‘is_integer’
> 150 | scale_ = datatype().is_integer() ? H.scale_ : 1.0;
> | ^~~~~~~~~~
> ./core/header.h:150:46: error: ‘const class MR::Header’ has no member named ‘scale_’
> 150 | scale_ = datatype().is_integer() ? H.scale_ : 1.0;
> | ^~~~~~
> ./core/header.h:153:12: error: request for member ‘reset’ in ‘((MR::Header*)this)->MR::Header::io’, which is of non-class type ‘int’
> 153 | io.reset();
> | ^~~~~
> ./core/header.h: In member function ‘MR::Header& MR::Header::operator=(const HeaderType&)’:
> ./core/header.h:168:11: error: ‘axes_’ was not declared in this scope
> 168 | axes_.resize (original.ndim());
> | ^~~~~
> ./core/header.h:172:13: error: there are no arguments to ‘spacing’ that depend on a template parameter, so a declaration of ‘spacing’ must be available [-fpermissive]
> 172 | spacing(n) = original.spacing(n);
> | ^~~~~~~
> ./core/header.h:174:11: error: ‘transform_’ was not declared in this scope; did you mean ‘transform_type’?
> 174 | transform_ = original.transform();
> | ^~~~~~~~~~
> | transform_type
> ./core/header.h:176:11: error: ‘keyval_’ was not declared in this scope
> 176 | keyval_ = original.keyval();
> | ^~~~~~~
> ./core/header.h:178:11: error: ‘datatype_’ was not declared in this scope; did you mean ‘datatype’?
> 178 | datatype_ = DataType::from<typename HeaderType::value_type>();
> | ^~~~~~~~~
> | datatype
> ./core/header.h:178:23: error: ‘DataType’ has not been declared
> 178 | datatype_ = DataType::from<typename HeaderType::value_type>();
> | ^~~~~~~~
> ./core/header.h:178:69: error: expected ‘(’ before ‘>’ token
> 178 | datatype_ = DataType::from<typename HeaderType::value_type>();
> | ^
> ./core/header.h:178:71: error: expected primary-expression before ‘)’ token
> 178 | datatype_ = DataType::from<typename HeaderType::value_type>();
> | ^
> ./core/header.h:179:11: error: ‘offset_’ was not declared in this scope; did you mean ‘offsetof’?
> 179 | offset_ = 0.0;
> | ^~~~~~~
> | offsetof
> ./core/header.h:180:11: error: ‘scale_’ was not declared in this scope; did you mean ‘scalbn’?
> 180 | scale_ = 1.0;
> | ^~~~~~
> | scalbn
> ./core/header.h:183:14: error: request for member ‘reset’ in ‘((MR::Header*)this)->MR::Header::io’, which is of non-class type ‘int’
> 183 | io.reset();
> | ^~~~~
> ./core/header.h: In destructor ‘MR::Header::~Header()’:
> ./core/header.h:189:19: error: base operand of ‘->’ is not a pointer
> 189 | try { io->close (*this); }
> | ^~
> ./core/header.h:190:18: error: ‘Exception’ does not name a type
> 190 | catch (Exception& E) {
> | ^~~~~~~~~
> ./core/header.h:191:13: error: ‘E’ was not declared in this scope
> 191 | E.display();
> | ^
> In file included from core/file/config.cpp:19:
> ./core/header.h: In member function ‘MR::Header::NDimProxy::operator std::size_t() const’:
> ./core/header.h:223:45: error: ‘axes’ was not declared in this scope
> 223 | operator size_t () const { return axes.size(); }
> | ^~~~
> ./core/header.h: In member function ‘std::size_t MR::Header::NDimProxy::operator=(std::size_t)’:
> ./core/header.h:224:50: error: ‘axes’ was not declared in this scope
> 224 | size_t operator= (size_t new_size) { axes.resize (new_size); return new_size; }
> | ^~~~
> ./core/header.h: In function ‘std::ostream& Eigen::operator<<(std::ostream&, const MR::Header::NDimProxy&)’:
> ./core/header.h:226:29: error: ‘const class MR::Header::NDimProxy’ has no member named ‘axes’
> 226 | stream << proxy.axes.size();
> | ^~~~
> ./core/header.h: In member function ‘std::size_t MR::Header::ndim() const’:
> ./core/header.h:234:37: error: ‘axes_’ was not declared in this scope
> 234 | size_t ndim () const { return axes_.size(); }
> | ^~~~~
> ./core/header.h: In member function ‘MR::Header::NDimProxy MR::Header::ndim()’:
> ./core/header.h:236:36: error: ‘axes_’ was not declared in this scope
> 236 | NDimProxy ndim () { return { axes_ }; }
> | ^~~~~
> ./core/header.h:236:42: error: could not convert ‘{<expression error>}’ from ‘<brace-enclosed initializer list>’ to ‘MR::Header::NDimProxy’
> 236 | NDimProxy ndim () { return { axes_ }; }
> | ^
> | |
> | <brace-enclosed initializer list>
> ./core/header.h: In constructor ‘MR::Header::DataTypeProxy::DataTypeProxy(MR::Header&)’:
> ./core/header.h:255:39: error: class ‘MR::Header::DataTypeProxy’ does not have any field named ‘DataType’
> 255 | DataTypeProxy (Header& H) : DataType (H.datatype_), H (H) { }
> | ^~~~~~~~
> ./core/header.h:255:51: error: ‘class MR::Header’ has no member named ‘datatype_’; did you mean ‘datatype’?
> 255 | DataTypeProxy (Header& H) : DataType (H.datatype_), H (H) { }
> | ^~~~~~~~~
> | datatype
> ./core/header.h: In member function ‘uint8_t MR::Header::DataTypeProxy::operator()() const’:
> ./core/header.h:261:47: error: ‘DataType’ has not been declared
> 261 | uint8_t operator()() const { return DataType::operator()(); }
> | ^~~~~~~~
> ./core/header.h: In member function ‘void MR::Header::DataTypeProxy::set_flag(uint8_t)’:
> ./core/header.h:263:42: error: ‘DataType’ has not been declared
> 263 | void set_flag (uint8_t flag) { DataType::set_flag (flag); set(); }
> | ^~~~~~~~
> ./core/header.h: In member function ‘void MR::Header::DataTypeProxy::unset_flag(uint8_t)’:
> ./core/header.h:264:44: error: ‘DataType’ has not been declared
> 264 | void unset_flag (uint8_t flag) { DataType::unset_flag (flag); set(); }
> | ^~~~~~~~
> ./core/header.h: In member function ‘void MR::Header::DataTypeProxy::set_byte_order_native()’:
> ./core/header.h:265:43: error: ‘DataType’ has not been declared
> 265 | void set_byte_order_native () { DataType::set_byte_order_native(); set(); }
> | ^~~~~~~~
> ./core/header.h: In member function ‘void MR::Header::DataTypeProxy::set()’:
> ./core/header.h:269:15: error: ‘class MR::Header’ has no member named ‘datatype_’; did you mean ‘datatype’?
> 269 | H.datatype_ = dt;
> | ^~~~~~~~~
> | datatype
> ./core/header.h:269:27: error: ‘dt’ was not declared in this scope
> 269 | H.datatype_ = dt;
> | ^~
> ./core/header.h:270:18: error: ‘is_integer’ was not declared in this scope
> 270 | if (!is_integer())
> | ^~~~~~~~~~
> ./core/header.h: In member function ‘void MR::Header::apply_intensity_scaling(int, int)’:
> ./core/header.h:291:9: error: ‘scale_’ was not declared in this scope; did you mean ‘scalbn’?
> 291 | scale_ *= scaling;
> | ^~~~~~
> | scalbn
> ./core/header.h:292:9: error: ‘offset_’ was not declared in this scope; did you mean ‘offsetof’?
> 292 | offset_ = scaling * offset_ + bias;
> | ^~~~~~~
> | offsetof
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/header.h: In member function ‘void MR::Header::set_intensity_scaling(int, int)’:
> ./core/header.h:298:58: error: ‘str’ was not declared in this scope; did you mean ‘Eigen::str’?
> 298 | WARN ("invalid scaling parameters (offset: " + str(bias) + ", scale: " + str(scaling) + ")");
> | ^~~
> ./core/exception.h:73:69: note: in definition of macro ‘WARN’
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:247:41: note: ‘Eigen::str’ declared here
> 247 | template <class T> inline std::string str (const T& value, int precision = 0)
> | ^~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:73:48: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~~~~~~~~~~~~~~~~~
> ./core/header.h:298:11: note: in expansion of macro ‘WARN’
> 298 | WARN ("invalid scaling parameters (offset: " + str(bias) + ", scale: " + str(scaling) + ")");
> | ^~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> In file included from core/file/config.cpp:19:
> ./core/header.h:299:9: error: ‘scale_’ was not declared in this scope; did you mean ‘scalbn’?
> 299 | scale_ = scaling;
> | ^~~~~~
> | scalbn
> ./core/header.h:300:9: error: ‘offset_’ was not declared in this scope; did you mean ‘offsetof’?
> 300 | offset_ = bias;
> | ^~~~~~~
> | offsetof
> ./core/header.h: In member function ‘void MR::Header::set_intensity_scaling(const MR::Header&)’:
> ./core/header.h:303:79: error: ‘const class MR::Header’ has no member named ‘intensity_scale’; did you mean ‘set_intensity_scaling’?
> 303 | void set_intensity_scaling (const Header& H) { set_intensity_scaling (H.intensity_scale(), H.intensity_offset()); }
> | ^~~~~~~~~~~~~~~
> | set_intensity_scaling
> ./core/header.h:303:100: error: ‘const class MR::Header’ has no member named ‘intensity_offset’
> 303 | void set_intensity_scaling (const Header& H) { set_intensity_scaling (H.intensity_scale(), H.intensity_offset()); }
> | ^~~~~~~~~~~~~~~~
> ./core/header.h: In member function ‘bool MR::Header::is_file_backed() const’:
> ./core/header.h:307:57: error: base operand of ‘->’ is not a pointer
> 307 | bool is_file_backed () const { return valid() ? io->is_file_backed() : false; }
> | ^~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/header.h: In member function ‘void MR::Header::sanitise()’:
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> ./core/header.h:311:9: note: in expansion of macro ‘DEBUG’
> 311 | DEBUG ("sanitising image information...");
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> In file included from core/file/config.cpp:19:
> ./core/header.h: In member function ‘void MR::Header::sanitise_strides()’:
> ./core/header.h:388:9: error: ‘template<int OuterStrideAtCompileTime, int InnerStrideAtCompileTime> class Eigen::Stride’ used without template arguments
> 388 | Stride::sanitise (*this);
> | ^~~~~~
> ./core/header.h:389:9: error: ‘template<int OuterStrideAtCompileTime, int InnerStrideAtCompileTime> class Eigen::Stride’ used without template arguments
> 389 | Stride::actualise (*this);
> | ^~~~~~
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/header.h: At global scope:
> ./core/header.h:393:20: error: ‘Header’ was not declared in this scope; did you mean ‘MR::Header’?
> 393 | CHECK_MEM_ALIGN (Header);
> | ^~~~~~
> ./core/types.h:207:30: note: in definition of macro ‘CHECK_MEM_ALIGN’
> 207 | static_assert ( (alignof(__VA_ARGS__) <= ::MR::malloc_align) || __has_custom_new_operator<__VA_ARGS__>::value, \
> | ^~~~~~~~~~~
> In file included from core/file/config.cpp:19:
> ./core/header.h:48:9: note: ‘MR::Header’ declared here
> 48 | class Header { MEMALIGN (Header)
> | ^~~~~~
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/header.h:393:20: error: ‘Header’ was not declared in this scope; did you mean ‘MR::Header’?
> 393 | CHECK_MEM_ALIGN (Header);
> | ^~~~~~
> ./core/types.h:207:95: note: in definition of macro ‘CHECK_MEM_ALIGN’
> 207 | static_assert ( (alignof(__VA_ARGS__) <= ::MR::malloc_align) || __has_custom_new_operator<__VA_ARGS__>::value, \
> | ^~~~~~~~~~~
> In file included from core/file/config.cpp:19:
> ./core/header.h:48:9: note: ‘MR::Header’ declared here
> 48 | class Header { MEMALIGN (Header)
> | ^~~~~~
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:207:106: error: template argument 1 is invalid
> 207 | static_assert ( (alignof(__VA_ARGS__) <= ::MR::malloc_align) || __has_custom_new_operator<__VA_ARGS__>::value, \
> | ^
> ./core/header.h:393:3: note: in expansion of macro ‘CHECK_MEM_ALIGN’
> 393 | CHECK_MEM_ALIGN (Header);
> | ^~~~~~~~~~~~~~~
> In file included from core/file/config.cpp:19:
> ./core/header.h:399:3: error: ‘Header’ does not name a type
> 399 | Header concatenate (const vector<Header>& headers, const size_t axis, const bool permit_datatype_mismatch);
> | ^~~~~~
> ./core/header.h:407:25: error: ‘Header’ has not been declared
> 407 | inline const ssize_t& Header::size (size_t axis) const { return axes_[axis].size; }
> | ^~~~~~
> ./core/header.h:407:52: error: non-member function ‘const ssize_t& Eigen::size(std::size_t)’ cannot have cv-qualifier
> 407 | inline const ssize_t& Header::size (size_t axis) const { return axes_[axis].size; }
> | ^~~~~
> ./core/header.h: In function ‘const ssize_t& Eigen::size(std::size_t)’:
> ./core/header.h:407:67: error: ‘axes_’ was not declared in this scope
> 407 | inline const ssize_t& Header::size (size_t axis) const { return axes_[axis].size; }
> | ^~~~~
> ./core/header.h: At global scope:
> ./core/header.h:408:19: error: ‘Header’ has not been declared
> 408 | inline ssize_t& Header::size (size_t axis) { return axes_[axis].size; }
> | ^~~~~~
> ./core/header.h: In function ‘ssize_t& Eigen::size(std::size_t)’:
> ./core/header.h:408:55: error: ‘axes_’ was not declared in this scope
> 408 | inline ssize_t& Header::size (size_t axis) { return axes_[axis].size; }
> | ^~~~~
> ./core/header.h: At global scope:
> ./core/header.h:410:16: error: ‘default_type’ does not name a type
> 410 | inline const default_type& Header::spacing (size_t axis) const { return axes_[axis].spacing; }
> | ^~~~~~~~~~~~
> ./core/header.h:411:10: error: ‘default_type’ does not name a type
> 411 | inline default_type& Header::spacing (size_t axis) { return axes_[axis].spacing; }
> | ^~~~~~~~~~~~
> ./core/header.h:413:25: error: ‘Header’ has not been declared
> 413 | inline const ssize_t& Header::stride (size_t axis) const { return axes_[axis].stride; }
> | ^~~~~~
> ./core/header.h:413:54: error: non-member function ‘const ssize_t& Eigen::stride(std::size_t)’ cannot have cv-qualifier
> 413 | inline const ssize_t& Header::stride (size_t axis) const { return axes_[axis].stride; }
> | ^~~~~
> ./core/header.h: In function ‘const ssize_t& Eigen::stride(std::size_t)’:
> ./core/header.h:413:69: error: ‘axes_’ was not declared in this scope
> 413 | inline const ssize_t& Header::stride (size_t axis) const { return axes_[axis].stride; }
> | ^~~~~
> ./core/header.h: At global scope:
> ./core/header.h:414:19: error: ‘Header’ has not been declared
> 414 | inline ssize_t& Header::stride (size_t axis) { return axes_[axis].stride; }
> | ^~~~~~
> ./core/header.h: In function ‘ssize_t& Eigen::stride(std::size_t)’:
> ./core/header.h:414:57: error: ‘axes_’ was not declared in this scope
> 414 | inline ssize_t& Header::stride (size_t axis) { return axes_[axis].stride; }
> | ^~~~~
> In file included from core/file/config.cpp:22:
> ./core/file/config.h: At global scope:
> ./core/file/config.h:51:16: error: ‘KeyValues’ does not name a type
> 51 | static KeyValues config;
> | ^~~~~~~~~
> ./core/file/config.h: In static member function ‘static void MR::File::Config::set(const string&, const string&)’:
> ./core/file/config.h:34:11: error: ‘config’ was not declared in this scope; did you mean ‘Config’?
> 34 | config[key] = value;
> | ^~~~~~
> | Config
> ./core/file/config.h: In static member function ‘static std::string MR::File::Config::get(const string&)’:
> ./core/file/config.h:37:17: error: ‘KeyValues’ does not name a type
> 37 | const KeyValues::const_iterator i = config.find (key);
> | ^~~~~~~~~
> ./core/file/config.h:38:19: error: ‘i’ was not declared in this scope
> 38 | return (i != config.end() ? i->second : "");
> | ^
> ./core/file/config.h:38:24: error: ‘config’ was not declared in this scope; did you mean ‘Config’?
> 38 | return (i != config.end() ? i->second : "");
> | ^~~~~~
> | Config
> ./core/file/config.h: In static member function ‘static std::string MR::File::Config::get(const string&, const string&)’:
> ./core/file/config.h:41:11: error: ‘KeyValues’ has not been declared
> 41 | KeyValues::iterator i = config.find (key);
> | ^~~~~~~~~
> ./core/file/config.h:42:19: error: ‘i’ was not declared in this scope
> 42 | return (i != config.end() ? i->second : default_value);
> | ^
> ./core/file/config.h:42:24: error: ‘config’ was not declared in this scope; did you mean ‘Config’?
> 42 | return (i != config.end() ? i->second : default_value);
> | ^~~~~~
> | Config
> core/file/config.cpp: At global scope:
> core/file/config.cpp:35:5: error: ‘KeyValues’ does not name a type
> 35 | KeyValues Config::config;
> | ^~~~~~~~~
> core/file/config.cpp:44:10: error: ‘Config’ has not been declared
> 44 | void Config::init ()
> | ^~~~~~
> core/file/config.cpp: In function ‘void Eigen::init()’:
> core/file/config.cpp:50:11: error: ‘Path’ has not been declared
> 50 | if (Path::is_file (sysconf_location)) {
> | ^~~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:74:48: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 74 | #define INFO(msg) if (MR::App::log_level >= 2) report_to_user_func (msg, 2)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp:51:9: note: in expansion of macro ‘INFO’
> 51 | INFO (std::string("reading config file \"") + sysconf_location + "\"...");
> | ^~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp:53:11: error: ‘KeyValue’ has not been declared
> 53 | KeyValue::Reader kv (sysconf_location);
> | ^~~~~~~~
> core/file/config.cpp:54:18: error: ‘kv’ was not declared in this scope
> 54 | while (kv.next()) {
> | ^~
> core/file/config.cpp:55:13: error: ‘config’ was not declared in this scope; did you mean ‘Config’?
> 55 | config[kv.key()] = kv.value();
> | ^~~~~~
> | Config
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp:60:9: note: in expansion of macro ‘DEBUG’
> 60 | DEBUG (std::string ("No config file found at \"") + sysconf_location + "\"");
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp:63:26: error: ‘Path’ has not been declared
> 63 | std::string path = Path::join (Path::home(), MRTRIX_USER_CONFIG_FILE);
> | ^~~~
> core/file/config.cpp:63:38: error: ‘Path’ has not been declared
> 63 | std::string path = Path::join (Path::home(), MRTRIX_USER_CONFIG_FILE);
> | ^~~~
> core/file/config.cpp:64:11: error: ‘Path’ has not been declared
> 64 | if (Path::is_file (path)) {
> | ^~~~
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:74:48: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 74 | #define INFO(msg) if (MR::App::log_level >= 2) report_to_user_func (msg, 2)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp:65:9: note: in expansion of macro ‘INFO’
> 65 | INFO ("reading config file \"" + path + "\"...");
> | ^~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp:67:11: error: ‘KeyValue’ has not been declared
> 67 | KeyValue::Reader kv (path);
> | ^~~~~~~~
> core/file/config.cpp:68:18: error: ‘kv’ was not declared in this scope
> 68 | while (kv.next()) {
> | ^~
> core/file/config.cpp:69:13: error: ‘config’ was not declared in this scope; did you mean ‘Config’?
> 69 | config[kv.key()] = kv.value();
> | ^~~~~~
> | Config
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp:74:9: note: in expansion of macro ‘DEBUG’
> 74 | DEBUG ("No config file found at \"" + path + "\"");
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp:77:18: error: ‘App’ has not been declared
> 77 | auto opt = App::get_options ("config");
> | ^~~
> core/file/config.cpp:79:9: error: ‘config’ was not declared in this scope; did you mean ‘Config’?
> 79 | config[std::string(keyval[0])] = std::string(keyval[1]);
> | ^~~~~~
> | Config
> core/file/config.cpp:85:7: error: ‘Header’ has not been declared
> 85 | Header::do_realign_transform = get_bool("RealignTransform", true);
> | ^~~~~~
> core/file/config.cpp:85:38: error: ‘get_bool’ was not declared in this scope
> 85 | Header::do_realign_transform = get_bool("RealignTransform", true);
> | ^~~~~~~~
> core/file/config.cpp: At global scope:
> core/file/config.cpp:90:10: error: ‘Config’ has not been declared
> 90 | bool Config::get_bool (const std::string& key, bool default_value)
> | ^~~~~~
> core/file/config.cpp: In function ‘bool Eigen::get_bool(const string&, bool)’:
> core/file/config.cpp:92:31: error: no matching function for call to ‘get(const string&)’
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:223:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type& std::get(std::pair<_Tp1, _Tp2>&)’
> 223 | get(pair<_Tp1, _Tp2>& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:223:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:92:31: note: types ‘std::pair<_Tp1, _Tp2>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:228:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&& std::get(std::pair<_Tp1, _Tp2>&&)’
> 228 | get(pair<_Tp1, _Tp2>&& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:228:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:92:31: note: types ‘std::pair<_Tp1, _Tp2>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:233:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type& std::get(const std::pair<_Tp1, _Tp2>&)’
> 233 | get(const pair<_Tp1, _Tp2>& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:233:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:92:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::pair<_Tp1, _Tp2>’
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:238:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&& std::get(const std::pair<_Tp1, _Tp2>&&)’
> 238 | get(const pair<_Tp1, _Tp2>&& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:238:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:92:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::pair<_Tp1, _Tp2>’
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:361:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp& std::get(std::array<_Tp, _Nm>&)’
> 361 | get(array<_Tp, _Nm>& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:361:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:92:31: note: types ‘std::array<_Tp, _Nm>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:369:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp&& std::get(std::array<_Tp, _Nm>&&)’
> 369 | get(array<_Tp, _Nm>&& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:369:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:92:31: note: types ‘std::array<_Tp, _Nm>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:377:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp& std::get(const std::array<_Tp, _Nm>&)’
> 377 | get(const array<_Tp, _Nm>& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:377:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:92:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::array<_Tp, _Nm>’
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:385:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp&& std::get(const std::array<_Tp, _Nm>&&)’
> 385 | get(const array<_Tp, _Nm>&& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:385:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:92:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::array<_Tp, _Nm>’
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1397:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >& std::get(std::tuple<_Types ...>&)’
> 1397 | get(tuple<_Elements...>& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1397:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:92:31: note: types ‘std::tuple<_Types ...>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1403:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >& std::get(const std::tuple<_Types ...>&)’
> 1403 | get(const tuple<_Elements...>& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1403:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:92:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::tuple<_Types ...>’
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1409:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >&& std::get(std::tuple<_Types ...>&&)’
> 1409 | get(tuple<_Elements...>&& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1409:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:92:31: note: types ‘std::tuple<_Types ...>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1418:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >&& std::get(const std::tuple<_Types ...>&&)’
> 1418 | get(const tuple<_Elements...>&& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1418:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:92:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::tuple<_Types ...>’
> 92 | std::string value = get (key);
> | ~~~~^~~~~
> core/file/config.cpp:96:16: error: ‘to’ was not declared in this scope; did you mean ‘Eigen::to’?
> 96 | return to<bool> (value);
> | ^~
> | Eigen::to
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:260:31: note: ‘Eigen::to’ declared here
> 260 | template <class T> inline T to (const std::string& string)
> | ^~
> core/file/config.cpp:96:19: error: expected primary-expression before ‘bool’
> 96 | return to<bool> (value);
> | ^~~~
> core/file/config.cpp:96:19: error: expected ‘;’ before ‘bool’
> 96 | return to<bool> (value);
> | ^~~~
> | ;
> core/file/config.cpp:96:23: error: expected unqualified-id before ‘>’ token
> 96 | return to<bool> (value);
> | ^
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:73:48: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp:99:9: note: in expansion of macro ‘WARN’
> 99 | WARN ("malformed boolean entry \"" + value + "\" for key \"" + key + "\" in configuration file - ignored");
> | ^~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp: At global scope:
> core/file/config.cpp:105:9: error: ‘Config’ has not been declared
> 105 | int Config::get_int (const std::string& key, int default_value)
> | ^~~~~~
> core/file/config.cpp: In function ‘int Eigen::get_int(const string&, int)’:
> core/file/config.cpp:107:31: error: no matching function for call to ‘get(const string&)’
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:223:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type& std::get(std::pair<_Tp1, _Tp2>&)’
> 223 | get(pair<_Tp1, _Tp2>& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:223:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:107:31: note: types ‘std::pair<_Tp1, _Tp2>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:228:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&& std::get(std::pair<_Tp1, _Tp2>&&)’
> 228 | get(pair<_Tp1, _Tp2>&& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:228:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:107:31: note: types ‘std::pair<_Tp1, _Tp2>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:233:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type& std::get(const std::pair<_Tp1, _Tp2>&)’
> 233 | get(const pair<_Tp1, _Tp2>& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:233:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:107:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::pair<_Tp1, _Tp2>’
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:238:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&& std::get(const std::pair<_Tp1, _Tp2>&&)’
> 238 | get(const pair<_Tp1, _Tp2>&& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:238:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:107:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::pair<_Tp1, _Tp2>’
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:361:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp& std::get(std::array<_Tp, _Nm>&)’
> 361 | get(array<_Tp, _Nm>& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:361:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:107:31: note: types ‘std::array<_Tp, _Nm>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:369:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp&& std::get(std::array<_Tp, _Nm>&&)’
> 369 | get(array<_Tp, _Nm>&& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:369:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:107:31: note: types ‘std::array<_Tp, _Nm>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:377:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp& std::get(const std::array<_Tp, _Nm>&)’
> 377 | get(const array<_Tp, _Nm>& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:377:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:107:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::array<_Tp, _Nm>’
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:385:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp&& std::get(const std::array<_Tp, _Nm>&&)’
> 385 | get(const array<_Tp, _Nm>&& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:385:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:107:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::array<_Tp, _Nm>’
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1397:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >& std::get(std::tuple<_Types ...>&)’
> 1397 | get(tuple<_Elements...>& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1397:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:107:31: note: types ‘std::tuple<_Types ...>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1403:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >& std::get(const std::tuple<_Types ...>&)’
> 1403 | get(const tuple<_Elements...>& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1403:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:107:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::tuple<_Types ...>’
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1409:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >&& std::get(std::tuple<_Types ...>&&)’
> 1409 | get(tuple<_Elements...>&& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1409:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:107:31: note: types ‘std::tuple<_Types ...>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1418:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >&& std::get(const std::tuple<_Types ...>&&)’
> 1418 | get(const tuple<_Elements...>&& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1418:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:107:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::tuple<_Types ...>’
> 107 | std::string value = get (key);
> | ~~~~^~~~~
> core/file/config.cpp:111:16: error: ‘to’ was not declared in this scope; did you mean ‘Eigen::to’?
> 111 | return to<int> (value);
> | ^~
> | Eigen::to
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:260:31: note: ‘Eigen::to’ declared here
> 260 | template <class T> inline T to (const std::string& string)
> | ^~
> core/file/config.cpp:111:19: error: expected primary-expression before ‘int’
> 111 | return to<int> (value);
> | ^~~
> core/file/config.cpp:111:19: error: expected ‘;’ before ‘int’
> 111 | return to<int> (value);
> | ^~~
> | ;
> core/file/config.cpp:111:22: error: expected unqualified-id before ‘>’ token
> 111 | return to<int> (value);
> | ^
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:73:48: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp:114:9: note: in expansion of macro ‘WARN’
> 114 | WARN ("malformed integer entry \"" + value + "\" for key \"" + key + "\" in configuration file - ignored");
> | ^~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp: At global scope:
> core/file/config.cpp:120:11: error: ‘Config’ has not been declared
> 120 | float Config::get_float (const std::string& key, float default_value)
> | ^~~~~~
> core/file/config.cpp: In function ‘float Eigen::get_float(const string&, float)’:
> core/file/config.cpp:122:31: error: no matching function for call to ‘get(const string&)’
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:223:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type& std::get(std::pair<_Tp1, _Tp2>&)’
> 223 | get(pair<_Tp1, _Tp2>& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:223:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:122:31: note: types ‘std::pair<_Tp1, _Tp2>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:228:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&& std::get(std::pair<_Tp1, _Tp2>&&)’
> 228 | get(pair<_Tp1, _Tp2>&& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:228:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:122:31: note: types ‘std::pair<_Tp1, _Tp2>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:233:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type& std::get(const std::pair<_Tp1, _Tp2>&)’
> 233 | get(const pair<_Tp1, _Tp2>& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:233:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:122:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::pair<_Tp1, _Tp2>’
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:238:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&& std::get(const std::pair<_Tp1, _Tp2>&&)’
> 238 | get(const pair<_Tp1, _Tp2>&& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:238:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:122:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::pair<_Tp1, _Tp2>’
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:361:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp& std::get(std::array<_Tp, _Nm>&)’
> 361 | get(array<_Tp, _Nm>& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:361:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:122:31: note: types ‘std::array<_Tp, _Nm>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:369:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp&& std::get(std::array<_Tp, _Nm>&&)’
> 369 | get(array<_Tp, _Nm>&& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:369:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:122:31: note: types ‘std::array<_Tp, _Nm>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:377:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp& std::get(const std::array<_Tp, _Nm>&)’
> 377 | get(const array<_Tp, _Nm>& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:377:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:122:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::array<_Tp, _Nm>’
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:385:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp&& std::get(const std::array<_Tp, _Nm>&&)’
> 385 | get(const array<_Tp, _Nm>&& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:385:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:122:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::array<_Tp, _Nm>’
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1397:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >& std::get(std::tuple<_Types ...>&)’
> 1397 | get(tuple<_Elements...>& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1397:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:122:31: note: types ‘std::tuple<_Types ...>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1403:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >& std::get(const std::tuple<_Types ...>&)’
> 1403 | get(const tuple<_Elements...>& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1403:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:122:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::tuple<_Types ...>’
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1409:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >&& std::get(std::tuple<_Types ...>&&)’
> 1409 | get(tuple<_Elements...>&& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1409:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:122:31: note: types ‘std::tuple<_Types ...>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1418:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >&& std::get(const std::tuple<_Types ...>&&)’
> 1418 | get(const tuple<_Elements...>&& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1418:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:122:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::tuple<_Types ...>’
> 122 | std::string value = get (key);
> | ~~~~^~~~~
> core/file/config.cpp:126:16: error: ‘to’ was not declared in this scope; did you mean ‘Eigen::to’?
> 126 | return to<float> (value);
> | ^~
> | Eigen::to
> In file included from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/mrtrix.h:260:31: note: ‘Eigen::to’ declared here
> 260 | template <class T> inline T to (const std::string& string)
> | ^~
> core/file/config.cpp:126:19: error: expected primary-expression before ‘float’
> 126 | return to<float> (value);
> | ^~~~~
> core/file/config.cpp:126:19: error: expected ‘;’ before ‘float’
> 126 | return to<float> (value);
> | ^~~~~
> | ;
> core/file/config.cpp:126:24: error: expected unqualified-id before ‘>’ token
> 126 | return to<float> (value);
> | ^
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:73:48: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 73 | #define WARN(msg) if (MR::App::log_level >= 1) report_to_user_func (msg, 1)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp:129:9: note: in expansion of macro ‘WARN’
> 129 | WARN ("malformed floating-point entry \"" + value + "\" for key \"" + key + "\" in configuration file - ignored");
> | ^~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/config.cpp: At global scope:
> core/file/config.cpp:136:10: error: ‘Config’ has not been declared
> 136 | void Config::get_RGB (const std::string& key, float* ret, float default_R, float default_G, float default_B)
> | ^~~~~~
> core/file/config.cpp: In function ‘void Eigen::get_RGB(const string&, float*, float, float, float)’:
> core/file/config.cpp:138:31: error: no matching function for call to ‘get(const string&)’
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:223:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type& std::get(std::pair<_Tp1, _Tp2>&)’
> 223 | get(pair<_Tp1, _Tp2>& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:223:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:138:31: note: types ‘std::pair<_Tp1, _Tp2>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:228:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&& std::get(std::pair<_Tp1, _Tp2>&&)’
> 228 | get(pair<_Tp1, _Tp2>&& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:228:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:138:31: note: types ‘std::pair<_Tp1, _Tp2>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:233:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type& std::get(const std::pair<_Tp1, _Tp2>&)’
> 233 | get(const pair<_Tp1, _Tp2>& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:233:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:138:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::pair<_Tp1, _Tp2>’
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:38,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/utility:238:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&& std::get(const std::pair<_Tp1, _Tp2>&&)’
> 238 | get(const pair<_Tp1, _Tp2>&& __in) noexcept
> | ^~~
> /usr/include/c++/11/utility:238:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:138:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::pair<_Tp1, _Tp2>’
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:361:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp& std::get(std::array<_Tp, _Nm>&)’
> 361 | get(array<_Tp, _Nm>& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:361:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:138:31: note: types ‘std::array<_Tp, _Nm>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:369:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp&& std::get(std::array<_Tp, _Nm>&&)’
> 369 | get(array<_Tp, _Nm>&& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:369:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:138:31: note: types ‘std::array<_Tp, _Nm>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:377:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp& std::get(const std::array<_Tp, _Nm>&)’
> 377 | get(const array<_Tp, _Nm>& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:377:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:138:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::array<_Tp, _Nm>’
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/tuple:39,
> from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/array:385:5: note: candidate: ‘template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp&& std::get(const std::array<_Tp, _Nm>&&)’
> 385 | get(const array<_Tp, _Nm>&& __arr) noexcept
> | ^~~
> /usr/include/c++/11/array:385:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:138:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::array<_Tp, _Nm>’
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1397:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >& std::get(std::tuple<_Types ...>&)’
> 1397 | get(tuple<_Elements...>& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1397:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:138:31: note: types ‘std::tuple<_Types ...>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1403:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >& std::get(const std::tuple<_Types ...>&)’
> 1403 | get(const tuple<_Elements...>& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1403:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:138:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::tuple<_Types ...>’
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1409:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >&& std::get(std::tuple<_Types ...>&&)’
> 1409 | get(tuple<_Elements...>&& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1409:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:138:31: note: types ‘std::tuple<_Types ...>’ and ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} have incompatible cv-qualifiers
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> In file included from /usr/include/c++/11/bits/std_thread.h:40,
> from /usr/include/c++/11/thread:43,
> from ./core/app.h:23,
> from core/file/config.cpp:17:
> /usr/include/c++/11/tuple:1418:5: note: candidate: ‘template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Types ...> >&& std::get(const std::tuple<_Types ...>&&)’
> 1418 | get(const tuple<_Elements...>&& __t) noexcept
> | ^~~
> /usr/include/c++/11/tuple:1418:5: note: template argument deduction/substitution failed:
> core/file/config.cpp:138:31: note: ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} is not derived from ‘const std::tuple<_Types ...>’
> 138 | std::string value = get (key);
> | ~~~~^~~~~
> core/file/config.cpp:141:11: error: ‘vector’ was not declared in this scope
> 141 | vector<default_type> V (parse_floats (value));
> | ^~~~~~
> core/file/config.cpp:141:11: note: suggested alternatives:
> In file included from /usr/include/c++/11/vector:67,
> from ./core/types.h:27,
> from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> /usr/include/c++/11/bits/stl_vector.h:389:11: note: ‘std::vector’
> 389 | class vector : protected _Vector_base<_Tp, _Alloc>
> | ^~~~~~
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:253:11: note: ‘MR::vector’
> 253 | class vector : public ::std::vector<X, Eigen::aligned_allocator<X>> { NOMEMALIGN
> | ^~~~~~
> core/file/config.cpp:141:18: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 141 | vector<default_type> V (parse_floats (value));
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/mrtrix.h:37,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> core/file/config.cpp:141:35: error: ‘parse_floats’ was not declared in this scope
> 141 | vector<default_type> V (parse_floats (value));
> | ^~~~~~~~~~~~
> core/file/config.cpp:141:32: error: ‘V’ was not declared in this scope
> 141 | vector<default_type> V (parse_floats (value));
> | ^
> core/file/config.cpp:143:19: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 143 | throw Exception ("malformed RGB entry \"" + value + "\" for key \"" + key + "\" in configuration file - ignored");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/mrtrix.h:38,
> from ./core/cmdline_option.h:28,
> from ./core/app.h:29,
> from core/file/config.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> core/file/config.cpp:148:16: error: ‘Exception’ does not name a type
> 148 | catch (Exception) { }
> | ^~~~~~~~~
>
> ERROR: ( 4/546) [CC] tmp/core/file/dicom/element.o
>
> g++ -c -std=c++11 -DMRTRIX_BUILD_TYPE="release version with openmp" -pthread -fPIC -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -mmmx -msse -msse2 -mfpmath=sse -DMRTRIX_WORD64 -DMRTRIX_HAVE_EIGEN_UNSUPPORTED_SPECIAL_FUNCTIONS -DMRTRIX_TIFF_SUPPORT -idirafter /usr/include/x86_64-linux-gnu -DMRTRIX_PNG_SUPPORT -idirafter /usr/include/libpng16 -DEIGEN_FFTW_DEFAULT -fopenmp -Wall -O3 -DNDEBUG -Isrc -I./core -Icmd -idirafter /usr/include/eigen3 core/file/dicom/element.cpp -o tmp/core/file/dicom/element.o
>
> failed with output
>
> In file included from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/types.h:326:49: error: ‘using Vector3 = class Eigen::Matrix<double, 3, 1>’ redeclared as different kind of entity
> 326 | using Vector3 = Matrix<MR::default_type, 3, 1>;
> | ^
> In file included from /usr/include/eigen3/Eigen/Core:295,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/Matrix.h:541:1: note: previous declaration ‘template<class Type> using Vector3 = Eigen::Matrix<Type, 3, 1>’
> 541 | EIGEN_MAKE_TYPEDEFS(3, 3)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/types.h:327:49: error: ‘using Vector4 = class Eigen::Matrix<double, 4, 1>’ redeclared as different kind of entity
> 327 | using Vector4 = Matrix<MR::default_type, 4, 1>;
> | ^
> In file included from /usr/include/eigen3/Eigen/Core:295,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/Matrix.h:542:1: note: previous declaration ‘template<class Type> using Vector4 = Eigen::Matrix<Type, 4, 1>’
> 542 | EIGEN_MAKE_TYPEDEFS(4, 4)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:112:7: error: ‘vector’ does not name a type
> 112 | vector<std::string> description;
> | ^~~~~~
> ./core/exception.h: In constructor ‘MR::Exception::Exception(const string&)’:
> ./core/exception.h:85:9: error: ‘description’ was not declared in this scope
> 85 | description.push_back (msg);
> | ^~~~~~~~~~~
> ./core/exception.h: In constructor ‘MR::Exception::Exception(const MR::Exception&, const string&)’:
> ./core/exception.h:88:9: error: class ‘MR::Exception’ does not have any field named ‘description’
> 88 | description (previous_exception.description) {
> | ^~~~~~~~~~~
> ./core/exception.h:88:41: error: ‘const class MR::Exception’ has no member named ‘description’
> 88 | description (previous_exception.description) {
> | ^~~~~~~~~~~
> ./core/exception.h:89:9: error: ‘description’ was not declared in this scope
> 89 | description.push_back (msg);
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘std::size_t MR::Exception::num() const’:
> ./core/exception.h:97:16: error: ‘description’ was not declared in this scope
> 97 | return description.size();
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘const string& MR::Exception::operator[](std::size_t) const’:
> ./core/exception.h:100:16: error: ‘description’ was not declared in this scope
> 100 | return description[n];
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘void MR::Exception::push_back(const string&)’:
> ./core/exception.h:103:9: error: ‘description’ was not declared in this scope
> 103 | description.push_back (s);
> | ^~~~~~~~~~~
> ./core/exception.h: In member function ‘void MR::Exception::push_back(const MR::Exception&)’:
> ./core/exception.h:106:25: error: ‘const class MR::Exception’ has no member named ‘description’
> 106 | for (auto s : e.description)
> | ^~~~~~~~~~~
> ./core/exception.h: At global scope:
> ./core/exception.h:115:50: error: expected class-name before ‘{’ token
> 115 | class InvalidImageException : public Exception { NOMEMALIGN
> | ^
> ./core/exception.h:118:36: error: ‘Exception’ does not name a type
> 118 | InvalidImageException (const Exception& previous_exception, const std::string& msg)
> | ^~~~~~~~~
> ./core/exception.h: In constructor ‘MR::InvalidImageException::InvalidImageException(const string&)’:
> ./core/exception.h:117:56: error: class ‘MR::InvalidImageException’ does not have any field named ‘Exception’
> 117 | InvalidImageException (const std::string& msg) : Exception(msg) {}
> | ^~~~~~~~~
> ./core/exception.h: In constructor ‘MR::InvalidImageException::InvalidImageException(const int&, const string&)’:
> ./core/exception.h:119:11: error: class ‘MR::InvalidImageException’ does not have any field named ‘Exception’
> 119 | : Exception(previous_exception, msg) {}
> | ^~~~~~~~~
> ./core/exception.h: At global scope:
> ./core/exception.h:123:44: error: expected class-name before ‘{’ token
> 123 | class CancelException : public Exception { NOMEMALIGN
> | ^
> ./core/exception.h: In constructor ‘MR::CancelException::CancelException()’:
> ./core/exception.h:125:28: error: class ‘MR::CancelException’ does not have any field named ‘Exception’
> 125 | CancelException () : Exception ("operation cancelled by user") { }
> | ^~~~~~~~~
> ./core/exception.h: At global scope:
> ./core/exception.h:128:41: error: ‘Exception’ does not name a type
> 128 | void display_exception_cmdline (const Exception& E, int log_level);
> | ^~~~~~~~~
> ./core/exception.h: In constructor ‘MR::LogLevelLatch::LogLevelLatch(int)’:
> ./core/exception.h:137:23: error: ‘App’ has not been declared
> 137 | prev_level (App::log_level)
> | ^~~
> ./core/exception.h:139:9: error: ‘App’ has not been declared
> 139 | App::log_level = new_level;
> | ^~~
> ./core/exception.h: In destructor ‘MR::LogLevelLatch::~LogLevelLatch()’:
> ./core/exception.h:142:9: error: ‘App’ has not been declared
> 142 | App::log_level = prev_level;
> | ^~~
> In file included from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.h: At global scope:
> /usr/include/c++/11/bits/locale_facets_nonio.h:59:39: error: ‘locale’ has not been declared
> 59 | struct __timepunct_cache : public locale::facet
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:59:47: error: expected ‘{’ before ‘facet’
> 59 | struct __timepunct_cache : public locale::facet
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:150:5: error: ‘__timepunct_cache’ does not name a type
> 150 | __timepunct_cache<_CharT>::~__timepunct_cache()
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:161:22: error: expected initializer before ‘<’ token
> 161 | __timepunct_cache<char>::_S_timezones[14];
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:166:22: error: expected initializer before ‘<’ token
> 166 | __timepunct_cache<wchar_t>::_S_timezones[14];
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:171:36: error: expected initializer before ‘<’ token
> 171 | const _CharT* __timepunct_cache<_CharT>::_S_timezones[14];
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:174:32: error: ‘locale’ has not been declared
> 174 | class __timepunct : public locale::facet
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:174:40: error: expected ‘{’ before ‘facet’
> 174 | class __timepunct : public locale::facet
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:320:5: error: ‘locale’ does not name a type
> 320 | locale::id __timepunct<_CharT>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:325:16: error: expected initializer before ‘<’ token
> 325 | __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc);
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:329:16: error: expected initializer before ‘<’ token
> 329 | __timepunct<char>::_M_put(char*, size_t, const char*, const tm*) const throw ();
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:334:16: error: expected initializer before ‘<’ token
> 334 | __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:338:16: error: expected initializer before ‘<’ token
> 338 | __timepunct<wchar_t>::_M_put(wchar_t*, size_t, const wchar_t*,
> | ^
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:346,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/x86_64-linux-gnu/c++/11/bits/time_members.h:42:5: error: ‘__timepunct’ does not name a type
> 42 | __timepunct<_CharT>::__timepunct(size_t __refs)
> | ^~~~~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/time_members.h:48:5: error: ‘__timepunct’ does not name a type
> 48 | __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
> | ^~~~~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/time_members.h:54:5: error: ‘__timepunct’ does not name a type
> 54 | __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
> | ^~~~~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/time_members.h:80:5: error: ‘__timepunct’ does not name a type
> 80 | __timepunct<_CharT>::~__timepunct()
> | ^~~~~~~~~~~
> In file included from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.h:368:29: error: ‘locale’ has not been declared
> 368 | class time_get : public locale::facet, public time_base
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:368:37: error: expected ‘{’ before ‘facet’
> 368 | class time_get : public locale::facet, public time_base
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:756:5: error: ‘locale’ does not name a type
> 756 | locale::id time_get<_CharT, _InIter>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:760:44: error: expected template-name before ‘<’ token
> 760 | class time_get_byname : public time_get<_CharT, _InIter>
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:760:44: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/locale_facets_nonio.h:797:29: error: ‘locale’ has not been declared
> 797 | class time_put : public locale::facet
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:797:37: error: expected ‘{’ before ‘facet’
> 797 | class time_put : public locale::facet
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:889:5: error: ‘locale’ does not name a type
> 889 | locale::id time_put<_CharT, _OutIter>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:893:44: error: expected template-name before ‘<’ token
> 893 | class time_put_byname : public time_put<_CharT, _OutIter>
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:893:44: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/locale_facets_nonio.h:954:40: error: ‘locale’ has not been declared
> 954 | struct __moneypunct_cache : public locale::facet
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:954:48: error: expected ‘{’ before ‘facet’
> 954 | struct __moneypunct_cache : public locale::facet
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1003:5: error: ‘__moneypunct_cache’ does not name a type
> 1003 | __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache()
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1024:31: error: ‘locale’ has not been declared
> 1024 | class moneypunct : public locale::facet, public money_base
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1024:39: error: expected ‘{’ before ‘facet’
> 1024 | class moneypunct : public locale::facet, public money_base
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1375:5: error: ‘locale’ does not name a type
> 1375 | locale::id moneypunct<_CharT, _Intl>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1378:26: error: expected initializer before ‘<’ token
> 1378 | const bool moneypunct<_CharT, _Intl>::intl;
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1381:5: error: ‘moneypunct’ does not name a type
> 1381 | moneypunct<char, true>::~moneypunct();
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1384:5: error: ‘moneypunct’ does not name a type
> 1384 | moneypunct<char, false>::~moneypunct();
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1388:15: error: expected initializer before ‘<’ token
> 1388 | moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*);
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1392:15: error: expected initializer before ‘<’ token
> 1392 | moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*);
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1396:5: error: ‘moneypunct’ does not name a type
> 1396 | moneypunct<wchar_t, true>::~moneypunct();
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1399:5: error: ‘moneypunct’ does not name a type
> 1399 | moneypunct<wchar_t, false>::~moneypunct();
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1403:15: error: expected initializer before ‘<’ token
> 1403 | moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1408:15: error: expected initializer before ‘<’ token
> 1408 | moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1414:48: error: expected template-name before ‘<’ token
> 1414 | class moneypunct_byname : public moneypunct<_CharT, _Intl>
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1414:48: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/locale_facets_nonio.h:1448:33: error: expected initializer before ‘<’ token
> 1448 | const bool moneypunct_byname<_CharT, _Intl>::intl;
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1468:30: error: ‘locale’ has not been declared
> 1468 | class money_get : public locale::facet
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1468:38: error: expected ‘{’ before ‘facet’
> 1468 | class money_get : public locale::facet
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1613:5: error: ‘locale’ does not name a type
> 1613 | locale::id money_get<_CharT, _InIter>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1629:30: error: ‘locale’ has not been declared
> 1629 | class money_put : public locale::facet
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1629:38: error: expected ‘{’ before ‘facet’
> 1629 | class money_put : public locale::facet
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1778:5: error: ‘locale’ does not name a type
> 1778 | locale::id money_put<_CharT, _OutIter>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1815:29: error: ‘locale’ has not been declared
> 1815 | class messages : public locale::facet, public messages_base
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1815:37: error: expected ‘{’ before ‘facet’
> 1815 | class messages : public locale::facet, public messages_base
> | ^~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1984:5: error: ‘locale’ does not name a type
> 1984 | locale::id messages<_CharT>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1988:5: error: ‘string’ does not name a type
> 1988 | string
> | ^~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1993:5: error: ‘wstring’ does not name a type
> 1993 | wstring
> | ^~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.h:1999:44: error: expected template-name before ‘<’ token
> 1999 | class messages_byname : public messages<_CharT>
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.h:1999:44: error: expected ‘{’ before ‘<’ token
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2026,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:44:5: error: ‘messages’ does not name a type
> 44 | messages<_CharT>::messages(size_t __refs)
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:50:5: error: ‘messages’ does not name a type
> 50 | messages<_CharT>::messages(__c_locale __cloc, const char* __s,
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:69:14: error: expected nested-name-specifier before ‘messages’
> 69 | typename messages<_CharT>::catalog
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:69:22: error: expected initializer before ‘<’ token
> 69 | typename messages<_CharT>::catalog
> | ^
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:79:5: error: ‘messages’ does not name a type
> 79 | messages<_CharT>::~messages()
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:87:14: error: expected nested-name-specifier before ‘messages’
> 87 | typename messages<_CharT>::catalog
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:87:22: error: expected initializer before ‘<’ token
> 87 | typename messages<_CharT>::catalog
> | ^
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:99:13: error: expected initializer before ‘<’ token
> 99 | messages<_CharT>::do_close(catalog) const
> | ^
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:104:5: error: ‘messages_byname’ does not name a type; did you mean ‘messages_base’?
> 104 | messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
> | ^~~~~~~~~~~~~~~
> | messages_base
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:131:14: error: expected nested-name-specifier before ‘messages’
> 131 | typename messages<char>::catalog
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:131:22: error: expected initializer before ‘<’ token
> 131 | typename messages<char>::catalog
> | ^
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:137:13: error: expected initializer before ‘<’ token
> 137 | messages<char>::do_close(catalog) const;
> | ^
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:141:14: error: expected nested-name-specifier before ‘messages’
> 141 | typename messages<wchar_t>::catalog
> | ^~~~~~~~
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:141:22: error: expected initializer before ‘<’ token
> 141 | typename messages<wchar_t>::catalog
> | ^
> /usr/include/x86_64-linux-gnu/c++/11/bits/messages_members.h:147:13: error: expected initializer before ‘<’ token
> 147 | messages<wchar_t>::do_close(catalog) const;
> | ^
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2029,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/codecvt.h:72:14: error: ‘locale’ has not been declared
> 72 | : public locale::facet, public codecvt_base
> | ^~~~~~
> /usr/include/c++/11/bits/codecvt.h:72:22: error: expected ‘{’ before ‘facet’
> 72 | : public locale::facet, public codecvt_base
> | ^~~~~
> /usr/include/c++/11/bits/codecvt.h:278:37: error: expected template-name before ‘<’ token
> 278 | : public __codecvt_abstract_base<_InternT, _ExternT, _StateT>
> | ^
> /usr/include/c++/11/bits/codecvt.h:278:37: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/codecvt.h:337:5: error: ‘locale’ does not name a type
> 337 | locale::id codecvt<_InternT, _ExternT, _StateT>::id;
> | ^~~~~~
> /usr/include/c++/11/bits/codecvt.h:341:11: error: ‘codecvt’ is not a class template
> 341 | class codecvt<char, char, mbstate_t>
> | ^~~~~~~
> /usr/include/c++/11/bits/codecvt.h:341:40: error: template specifiers not specified in declaration of ‘template<class _InternT, class _ExternT, class _StateT> class std::codecvt’
> 341 | class codecvt<char, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:342:37: error: expected template-name before ‘<’ token
> 342 | : public __codecvt_abstract_base<char, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:404:11: error: ‘codecvt’ is not a class template
> 404 | class codecvt<wchar_t, char, mbstate_t>
> | ^~~~~~~
> /usr/include/c++/11/bits/codecvt.h:404:43: error: template specifiers not specified in declaration of ‘template<class _InternT, class _ExternT, class _StateT> class std::codecvt’
> 404 | class codecvt<wchar_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:405:37: error: expected template-name before ‘<’ token
> 405 | : public __codecvt_abstract_base<wchar_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:470:11: error: ‘codecvt’ is not a class template
> 470 | class codecvt<char16_t, char, mbstate_t>
> | ^~~~~~~
> /usr/include/c++/11/bits/codecvt.h:470:44: error: template specifiers not specified in declaration of ‘template<class _InternT, class _ExternT, class _StateT> class std::codecvt’
> 470 | class codecvt<char16_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:471:37: error: expected template-name before ‘<’ token
> 471 | : public __codecvt_abstract_base<char16_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:527:11: error: ‘codecvt’ is not a class template
> 527 | class codecvt<char32_t, char, mbstate_t>
> | ^~~~~~~
> /usr/include/c++/11/bits/codecvt.h:527:44: error: template specifiers not specified in declaration of ‘template<class _InternT, class _ExternT, class _StateT> class std::codecvt’
> 527 | class codecvt<char32_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:528:37: error: expected template-name before ‘<’ token
> 528 | : public __codecvt_abstract_base<char32_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:699:42: error: expected template-name before ‘<’ token
> 699 | class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
> | ^
> /usr/include/c++/11/bits/codecvt.h:699:42: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/codecvt.h:727:11: error: ‘codecvt_byname’ is not a class template
> 727 | class codecvt_byname<char16_t, char, mbstate_t>
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:727:51: error: template specifiers not specified in declaration of ‘template<class _InternT, class _ExternT, class _StateT> class std::codecvt_byname’
> 727 | class codecvt_byname<char16_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:728:21: error: expected template-name before ‘<’ token
> 728 | : public codecvt<char16_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:745:11: error: ‘codecvt_byname’ is not a class template
> 745 | class codecvt_byname<char32_t, char, mbstate_t>
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:745:51: error: template specifiers not specified in declaration of ‘template<class _InternT, class _ExternT, class _StateT> class std::codecvt_byname’
> 745 | class codecvt_byname<char32_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:746:21: error: expected template-name before ‘<’ token
> 746 | : public codecvt<char32_t, char, mbstate_t>
> | ^
> /usr/include/c++/11/bits/codecvt.h:805:25: error: ‘codecvt_byname’ is not a class template
> 805 | extern template class codecvt_byname<char, char, mbstate_t>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:805:25: error: template argument required for ‘class codecvt_byname’
> /usr/include/c++/11/bits/codecvt.h:808:11: error: ‘codecvt’ is not a template function
> 808 | const codecvt<char, char, mbstate_t>&
> | ^~~~~~~
> /usr/include/c++/11/bits/codecvt.h:808:18: error: expected ‘;’ before ‘<’ token
> 808 | const codecvt<char, char, mbstate_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/codecvt.h:813:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 813 | has_facet<codecvt<char, char, mbstate_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:813:14: error: expected ‘;’ before ‘<’ token
> 813 | has_facet<codecvt<char, char, mbstate_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/codecvt.h:816:25: error: ‘codecvt_byname’ is not a class template
> 816 | extern template class codecvt_byname<wchar_t, char, mbstate_t>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:816:25: error: template argument required for ‘class codecvt_byname’
> /usr/include/c++/11/bits/codecvt.h:819:11: error: ‘codecvt’ is not a template function
> 819 | const codecvt<wchar_t, char, mbstate_t>&
> | ^~~~~~~
> /usr/include/c++/11/bits/codecvt.h:819:18: error: expected ‘;’ before ‘<’ token
> 819 | const codecvt<wchar_t, char, mbstate_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/codecvt.h:824:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 824 | has_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:824:14: error: expected ‘;’ before ‘<’ token
> 824 | has_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/codecvt.h:828:25: error: ‘codecvt_byname’ is not a class template
> 828 | extern template class codecvt_byname<char16_t, char, mbstate_t>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:828:25: error: template argument required for ‘class codecvt_byname’
> /usr/include/c++/11/bits/codecvt.h:829:25: error: ‘codecvt_byname’ is not a class template
> 829 | extern template class codecvt_byname<char32_t, char, mbstate_t>;
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/codecvt.h:829:25: error: template argument required for ‘class codecvt_byname’
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2031,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:40:12: error: ‘__use_cache’ is not a class template
> 40 | struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:40:24: error: ‘__moneypunct_cache’ was not declared in this scope; did you mean ‘std::__moneypunct_cache’?
> 40 | struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
> | ^~~~~~~~~~~~~~~~~~
> | std::__moneypunct_cache
> In file included from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.h:954:12: note: ‘std::__moneypunct_cache’ declared here
> 954 | struct __moneypunct_cache : public locale::facet
> | ^~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2031,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:40:12: error: template argument required for ‘struct __use_cache’
> 40 | struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:40:58: error: expected unqualified-id before ‘>’ token
> 40 | struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:69:23: error: expected initializer before ‘<’ token
> 69 | __moneypunct_cache<_CharT, _Intl>::_M_cache(const locale& __loc)
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:136:7: error: too many template-parameter-lists
> 136 | money_get<_CharT, _InIter>::
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:370:14: error: expected initializer before ‘<’ token
> 370 | money_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:383:14: error: expected initializer before ‘<’ token
> 383 | money_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:423:7: error: too many template-parameter-lists
> 423 | money_put<_CharT, _OutIter>::
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:592:14: error: expected initializer before ‘<’ token
> 592 | money_put<_CharT, _OutIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:630:14: error: expected initializer before ‘<’ token
> 630 | money_put<_CharT, _OutIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:683:5: error: ‘time_base’ does not name a type
> 683 | time_base::dateorder
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:691:13: error: expected initializer before ‘<’ token
> 691 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:925:13: error: expected initializer before ‘<’ token
> 925 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:968:13: error: expected initializer before ‘<’ token
> 968 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1044:13: error: expected initializer before ‘<’ token
> 1044 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1116:13: error: expected initializer before ‘<’ token
> 1116 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1133:13: error: expected initializer before ‘<’ token
> 1133 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1150:13: error: expected initializer before ‘<’ token
> 1150 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1176:13: error: expected initializer before ‘<’ token
> 1176 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1202:13: error: expected initializer before ‘<’ token
> 1202 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1225:13: error: expected initializer before ‘<’ token
> 1225 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1297:13: error: expected initializer before ‘<’ token
> 1297 | time_get<_CharT, _InIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1330:13: error: expected initializer before ‘<’ token
> 1330 | time_put<_CharT, _OutIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1365:13: error: expected initializer before ‘<’ token
> 1365 | time_put<_CharT, _OutIter>::
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1407:25: error: ‘moneypunct’ is not a class template
> 1407 | extern template class moneypunct<char, false>;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1407:25: error: explicit instantiation of non-template type ‘std::moneypunct’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1408:25: error: ‘moneypunct’ is not a class template
> 1408 | extern template class moneypunct<char, true>;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1408:25: error: explicit instantiation of non-template type ‘std::moneypunct’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1409:25: error: ‘moneypunct_byname’ is not a class template
> 1409 | extern template class moneypunct_byname<char, false>;
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1409:25: error: explicit instantiation of non-template type ‘std::moneypunct_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1410:25: error: ‘moneypunct_byname’ is not a class template
> 1410 | extern template class moneypunct_byname<char, true>;
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1410:25: error: explicit instantiation of non-template type ‘std::moneypunct_byname’
> In file included from /usr/include/c++/11/string:38,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1411:25: error: ‘__cxx11’ has not been declared
> 1411 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_get<char>;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2031,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1411:67: error: expected unqualified-id before ‘<’ token
> 1411 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_get<char>;
> | ^
> In file included from /usr/include/c++/11/string:38,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1412:25: error: ‘__cxx11’ has not been declared
> 1412 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_put<char>;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2031,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1412:67: error: expected unqualified-id before ‘<’ token
> 1412 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_put<char>;
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1413:25: error: ‘__timepunct’ is not a class template
> 1413 | extern template class __timepunct<char>;
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1413:25: error: template argument required for ‘class __timepunct’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1414:25: error: ‘time_put’ is not a class template
> 1414 | extern template class time_put<char>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1414:25: error: template argument required for ‘class time_put’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1415:25: error: ‘time_put_byname’ is not a class template
> 1415 | extern template class time_put_byname<char>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1415:25: error: template argument required for ‘class time_put_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1416:25: error: ‘time_get’ is not a class template
> 1416 | extern template class time_get<char>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1416:25: error: explicit instantiation of non-template type ‘std::time_get’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1417:25: error: ‘time_get_byname’ is not a class template
> 1417 | extern template class time_get_byname<char>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1417:25: error: explicit instantiation of non-template type ‘std::time_get_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1418:25: error: ‘messages’ is not a class template
> 1418 | extern template class messages<char>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1418:25: error: explicit instantiation of non-template type ‘std::messages’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1419:25: error: ‘messages_byname’ is not a class template
> 1419 | extern template class messages_byname<char>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1419:25: error: explicit instantiation of non-template type ‘std::messages_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1422:11: error: ‘moneypunct’ is not a template function
> 1422 | const moneypunct<char, true>&
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1422:21: error: expected ‘;’ before ‘<’ token
> 1422 | const moneypunct<char, true>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1426:11: error: ‘moneypunct’ is not a template function
> 1426 | const moneypunct<char, false>&
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1426:21: error: expected ‘;’ before ‘<’ token
> 1426 | const moneypunct<char, false>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1430:11: error: ‘money_put’ is not a template function
> 1430 | const money_put<char>&
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1430:20: error: expected ‘;’ before ‘<’ token
> 1430 | const money_put<char>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1434:11: error: ‘money_get’ is not a template function
> 1434 | const money_get<char>&
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1434:20: error: expected ‘;’ before ‘<’ token
> 1434 | const money_get<char>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1438:11: error: ‘__timepunct’ is not a template function
> 1438 | const __timepunct<char>&
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1438:22: error: expected ‘;’ before ‘<’ token
> 1438 | const __timepunct<char>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1442:11: error: ‘time_put’ is not a template function
> 1442 | const time_put<char>&
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1442:19: error: expected ‘;’ before ‘<’ token
> 1442 | const time_put<char>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1446:11: error: ‘time_get’ is not a template function
> 1446 | const time_get<char>&
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1446:19: error: expected ‘;’ before ‘<’ token
> 1446 | const time_get<char>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1450:11: error: ‘messages’ is not a template function
> 1450 | const messages<char>&
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1450:19: error: expected ‘;’ before ‘<’ token
> 1450 | const messages<char>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1455:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1455 | has_facet<moneypunct<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1455:14: error: expected ‘;’ before ‘<’ token
> 1455 | has_facet<moneypunct<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1459:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1459 | has_facet<money_put<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1459:14: error: expected ‘;’ before ‘<’ token
> 1459 | has_facet<money_put<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1463:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1463 | has_facet<money_get<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1463:14: error: expected ‘;’ before ‘<’ token
> 1463 | has_facet<money_get<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1467:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1467 | has_facet<__timepunct<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1467:14: error: expected ‘;’ before ‘<’ token
> 1467 | has_facet<__timepunct<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1471:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1471 | has_facet<time_put<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1471:14: error: expected ‘;’ before ‘<’ token
> 1471 | has_facet<time_put<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1475:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1475 | has_facet<time_get<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1475:14: error: expected ‘;’ before ‘<’ token
> 1475 | has_facet<time_get<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1479:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1479 | has_facet<messages<char> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1479:14: error: expected ‘;’ before ‘<’ token
> 1479 | has_facet<messages<char> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1482:25: error: ‘moneypunct’ is not a class template
> 1482 | extern template class moneypunct<wchar_t, false>;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1482:25: error: explicit instantiation of non-template type ‘std::moneypunct’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1483:25: error: ‘moneypunct’ is not a class template
> 1483 | extern template class moneypunct<wchar_t, true>;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1483:25: error: explicit instantiation of non-template type ‘std::moneypunct’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1484:25: error: ‘moneypunct_byname’ is not a class template
> 1484 | extern template class moneypunct_byname<wchar_t, false>;
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1484:25: error: explicit instantiation of non-template type ‘std::moneypunct_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1485:25: error: ‘moneypunct_byname’ is not a class template
> 1485 | extern template class moneypunct_byname<wchar_t, true>;
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1485:25: error: explicit instantiation of non-template type ‘std::moneypunct_byname’
> In file included from /usr/include/c++/11/string:38,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1486:25: error: ‘__cxx11’ has not been declared
> 1486 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_get<wchar_t>;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2031,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1486:67: error: expected unqualified-id before ‘<’ token
> 1486 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_get<wchar_t>;
> | ^
> In file included from /usr/include/c++/11/string:38,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1487:25: error: ‘__cxx11’ has not been declared
> 1487 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_put<wchar_t>;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/bits/locale_facets_nonio.h:2031,
> from /usr/include/c++/11/locale:41,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1487:67: error: expected unqualified-id before ‘<’ token
> 1487 | extern template class _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 money_put<wchar_t>;
> | ^
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1488:25: error: ‘__timepunct’ is not a class template
> 1488 | extern template class __timepunct<wchar_t>;
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1488:25: error: template argument required for ‘class __timepunct’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1489:25: error: ‘time_put’ is not a class template
> 1489 | extern template class time_put<wchar_t>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1489:25: error: template argument required for ‘class time_put’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1490:25: error: ‘time_put_byname’ is not a class template
> 1490 | extern template class time_put_byname<wchar_t>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1490:25: error: template argument required for ‘class time_put_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1491:25: error: ‘time_get’ is not a class template
> 1491 | extern template class time_get<wchar_t>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1491:25: error: explicit instantiation of non-template type ‘std::time_get’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1492:25: error: ‘time_get_byname’ is not a class template
> 1492 | extern template class time_get_byname<wchar_t>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1492:25: error: explicit instantiation of non-template type ‘std::time_get_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1493:25: error: ‘messages’ is not a class template
> 1493 | extern template class messages<wchar_t>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1493:25: error: explicit instantiation of non-template type ‘std::messages’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1494:25: error: ‘messages_byname’ is not a class template
> 1494 | extern template class messages_byname<wchar_t>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1494:25: error: explicit instantiation of non-template type ‘std::messages_byname’
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1497:11: error: ‘moneypunct’ is not a template function
> 1497 | const moneypunct<wchar_t, true>&
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1497:21: error: expected ‘;’ before ‘<’ token
> 1497 | const moneypunct<wchar_t, true>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1501:11: error: ‘moneypunct’ is not a template function
> 1501 | const moneypunct<wchar_t, false>&
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1501:21: error: expected ‘;’ before ‘<’ token
> 1501 | const moneypunct<wchar_t, false>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1505:11: error: ‘money_put’ is not a template function
> 1505 | const money_put<wchar_t>&
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1505:20: error: expected ‘;’ before ‘<’ token
> 1505 | const money_put<wchar_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1509:11: error: ‘money_get’ is not a template function
> 1509 | const money_get<wchar_t>&
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1509:20: error: expected ‘;’ before ‘<’ token
> 1509 | const money_get<wchar_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1513:11: error: ‘__timepunct’ is not a template function
> 1513 | const __timepunct<wchar_t>&
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1513:22: error: expected ‘;’ before ‘<’ token
> 1513 | const __timepunct<wchar_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1517:11: error: ‘time_put’ is not a template function
> 1517 | const time_put<wchar_t>&
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1517:19: error: expected ‘;’ before ‘<’ token
> 1517 | const time_put<wchar_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1521:11: error: ‘time_get’ is not a template function
> 1521 | const time_get<wchar_t>&
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1521:19: error: expected ‘;’ before ‘<’ token
> 1521 | const time_get<wchar_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1525:11: error: ‘messages’ is not a template function
> 1525 | const messages<wchar_t>&
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1525:19: error: expected ‘;’ before ‘<’ token
> 1525 | const messages<wchar_t>&
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1530:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1530 | has_facet<moneypunct<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1530:14: error: expected ‘;’ before ‘<’ token
> 1530 | has_facet<moneypunct<wchar_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1534:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1534 | has_facet<money_put<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1534:14: error: expected ‘;’ before ‘<’ token
> 1534 | has_facet<money_put<wchar_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1538:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1538 | has_facet<money_get<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1538:14: error: expected ‘;’ before ‘<’ token
> 1538 | has_facet<money_get<wchar_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1542:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1542 | has_facet<__timepunct<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1542:14: error: expected ‘;’ before ‘<’ token
> 1542 | has_facet<__timepunct<wchar_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1546:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1546 | has_facet<time_put<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1546:14: error: expected ‘;’ before ‘<’ token
> 1546 | has_facet<time_put<wchar_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1550:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1550 | has_facet<time_get<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1550:14: error: expected ‘;’ before ‘<’ token
> 1550 | has_facet<time_get<wchar_t> >(const locale&);
> | ^
> | ;
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1554:5: error: ‘std::has_facet(const std::locale&)’ is not a variable template
> 1554 | has_facet<messages<wchar_t> >(const locale&);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_facets_nonio.tcc:1554:14: error: expected ‘;’ before ‘<’ token
> 1554 | has_facet<messages<wchar_t> >(const locale&);
> | ^
> | ;
> In file included from /usr/include/c++/11/locale:43,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__do_str_codecvt(const _InChar*, const _InChar*, _OutStr&, const _Codecvt&, _State&, std::size_t&, _Fn)’:
> /usr/include/c++/11/bits/locale_conv.h:70:7: error: ‘codecvt_base’ has not been declared
> 70 | codecvt_base::result __result;
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:76:11: error: ‘__result’ was not declared in this scope
> 76 | __result = (__cvt.*__fn)(__state, __next, __last, __next,
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:80:14: error: ‘__result’ was not declared in this scope
> 80 | while (__result == codecvt_base::partial && __next != __last
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:80:26: error: ‘codecvt_base’ has not been declared
> 80 | while (__result == codecvt_base::partial && __next != __last
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:83:23: error: ‘codecvt_base’ has not been declared
> 83 | if (__result == codecvt_base::error)
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:91:32: error: ‘is_same’ was not declared in this scope
> 91 | if _GLIBCXX17_CONSTEXPR (is_same<typename _Codecvt::intern_type,
> | ^~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:91:32: note: suggested alternatives:
> In file included from /usr/include/c++/11/bits/move.h:57,
> from /usr/include/c++/11/bits/stl_pair.h:59,
> from /usr/include/c++/11/bits/stl_algobase.h:64,
> from /usr/include/c++/11/bits/char_traits.h:39,
> from /usr/include/c++/11/string:40,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/type_traits:614:12: note: ‘std::is_same’
> 614 | struct is_same;
> | ^~~~~~~
> In file included from /usr/include/eigen3/Eigen/Core:162,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/util/Meta.h:148:41: note: ‘Eigen::internal::is_same’
> 148 | template<typename T, typename U> struct is_same { enum { value = 0 }; };
> | ^~~~~~~
> In file included from /usr/include/c++/11/locale:43,
> from /usr/include/c++/11/iomanip:43,
> from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/locale_conv.h:91:70: error: expected ‘(’ before ‘,’ token
> 91 | if _GLIBCXX17_CONSTEXPR (is_same<typename _Codecvt::intern_type,
> | ^
> | (
> /usr/include/c++/11/bits/locale_conv.h:92:70: error: expected ‘(’ before ‘>’ token
> 92 | typename _Codecvt::extern_type>())
> | ^
> | (
> /usr/include/c++/11/bits/locale_conv.h:92:72: error: expected primary-expression before ‘)’ token
> 92 | typename _Codecvt::extern_type>())
> | ^
> /usr/include/c++/11/bits/locale_conv.h:93:25: error: ‘codecvt_base’ has not been declared
> 93 | if (__result == codecvt_base::noconv)
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:109:22: error: ‘basic_string’ has not been declared
> 109 | basic_string<_CharT, _Traits, _Alloc>& __outstr,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:109:34: error: expected ‘,’ or ‘...’ before ‘<’ token
> 109 | basic_string<_CharT, _Traits, _Alloc>& __outstr,
> | ^
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__str_codecvt_in(const char*, const char*, int)’:
> /usr/include/c++/11/bits/locale_conv.h:113:24: error: ‘codecvt’ does not name a type
> 113 | using _Codecvt = codecvt<_CharT, char, _State>;
> | ^~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:115:11: error: ‘codecvt_base’ does not name a type
> 115 | = codecvt_base::result
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:118:7: error: ‘_ConvFn’ was not declared in this scope
> 118 | _ConvFn __fn = &codecvt<_CharT, char, _State>::in;
> | ^~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:119:48: error: ‘__outstr’ was not declared in this scope
> 119 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:119:58: error: ‘__cvt’ was not declared in this scope
> 119 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~
> /usr/include/c++/11/bits/locale_conv.h:119:65: error: ‘__state’ was not declared in this scope; did you mean ‘_State’?
> 119 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~~~
> | _State
> /usr/include/c++/11/bits/locale_conv.h:120:31: error: ‘__count’ was not declared in this scope; did you mean ‘count’?
> 120 | __count, __fn);
> | ^~~~~~~
> | count
> /usr/include/c++/11/bits/locale_conv.h:120:40: error: ‘__fn’ was not declared in this scope; did you mean ‘__yn’?
> 120 | __count, __fn);
> | ^~~~
> | __yn
> /usr/include/c++/11/bits/locale_conv.h:119:14: error: there are no arguments to ‘__do_str_codecvt’ that depend on a template parameter, so a declaration of ‘__do_str_codecvt’ must be available [-fpermissive]
> 119 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:119:14: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:127:22: error: ‘basic_string’ has not been declared
> 127 | basic_string<_CharT, _Traits, _Alloc>& __outstr,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:127:34: error: expected ‘,’ or ‘...’ before ‘<’ token
> 127 | basic_string<_CharT, _Traits, _Alloc>& __outstr,
> | ^
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__str_codecvt_in(const char*, const char*, int)’:
> /usr/include/c++/11/bits/locale_conv.h:132:48: error: ‘__outstr’ was not declared in this scope
> 132 | return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n);
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:132:58: error: ‘__cvt’ was not declared in this scope
> 132 | return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n);
> | ^~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:139:26: error: ‘basic_string’ has not been declared
> 139 | basic_string<_CharT, _Traits, _Alloc>& __outstr,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:139:38: error: expected ‘,’ or ‘...’ before ‘<’ token
> 139 | basic_string<_CharT, _Traits, _Alloc>& __outstr,
> | ^
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__str_codecvt_in_all(const char*, const char*, int)’:
> /usr/include/c++/11/bits/locale_conv.h:144:48: error: ‘__outstr’ was not declared in this scope
> 144 | return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n)
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:144:58: error: ‘__cvt’ was not declared in this scope
> 144 | return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n)
> | ^~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:152:23: error: ‘basic_string’ has not been declared
> 152 | basic_string<char, _Traits, _Alloc>& __outstr,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:152:35: error: expected ‘,’ or ‘...’ before ‘<’ token
> 152 | basic_string<char, _Traits, _Alloc>& __outstr,
> | ^
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__str_codecvt_out(const _CharT*, const _CharT*, int)’:
> /usr/include/c++/11/bits/locale_conv.h:156:24: error: ‘codecvt’ does not name a type
> 156 | using _Codecvt = codecvt<_CharT, char, _State>;
> | ^~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:158:11: error: ‘codecvt_base’ does not name a type
> 158 | = codecvt_base::result
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:161:7: error: ‘_ConvFn’ was not declared in this scope
> 161 | _ConvFn __fn = &codecvt<_CharT, char, _State>::out;
> | ^~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:162:48: error: ‘__outstr’ was not declared in this scope
> 162 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:162:58: error: ‘__cvt’ was not declared in this scope
> 162 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~
> /usr/include/c++/11/bits/locale_conv.h:162:65: error: ‘__state’ was not declared in this scope; did you mean ‘_State’?
> 162 | return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> | ^~~~~~~
> | _State
> /usr/include/c++/11/bits/locale_conv.h:163:31: error: ‘__count’ was not declared in this scope; did you mean ‘count’?
> 163 | __count, __fn);
> | ^~~~~~~
> | count
> /usr/include/c++/11/bits/locale_conv.h:163:40: error: ‘__fn’ was not declared in this scope; did you mean ‘__yn’?
> 163 | __count, __fn);
> | ^~~~
> | __yn
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:170:23: error: ‘basic_string’ has not been declared
> 170 | basic_string<char, _Traits, _Alloc>& __outstr,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:170:35: error: expected ‘,’ or ‘...’ before ‘<’ token
> 170 | basic_string<char, _Traits, _Alloc>& __outstr,
> | ^
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__str_codecvt_out(const _CharT*, const _CharT*, int)’:
> /usr/include/c++/11/bits/locale_conv.h:175:49: error: ‘__outstr’ was not declared in this scope
> 175 | return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n);
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:175:59: error: ‘__cvt’ was not declared in this scope
> 175 | return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n);
> | ^~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:182:27: error: ‘basic_string’ has not been declared
> 182 | basic_string<char, _Traits, _Alloc>& __outstr,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:182:39: error: expected ‘,’ or ‘...’ before ‘<’ token
> 182 | basic_string<char, _Traits, _Alloc>& __outstr,
> | ^
> /usr/include/c++/11/bits/locale_conv.h: In function ‘bool Eigen::__str_codecvt_out_all(const _CharT*, const _CharT*, int)’:
> /usr/include/c++/11/bits/locale_conv.h:187:49: error: ‘__outstr’ was not declared in this scope
> 187 | return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n)
> | ^~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:187:59: error: ‘__cvt’ was not declared in this scope
> 187 | return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n)
> | ^~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:230:35: error: ‘allocator’ does not name a type
> 230 | typename _Wide_alloc = allocator<_Elem>,
> | ^~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:230:44: error: expected ‘>’ before ‘<’ token
> 230 | typename _Wide_alloc = allocator<_Elem>,
> | ^
> /usr/include/c++/11/bits/locale_conv.h:235:15: error: ‘basic_string’ does not name a type
> 235 | typedef basic_string<char, char_traits<char>, _Byte_alloc> byte_string;
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:236:15: error: ‘basic_string’ does not name a type
> 236 | typedef basic_string<_Elem, char_traits<_Elem>, _Wide_alloc> wide_string;
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:238:24: error: ‘wide_string’ has not been declared
> 238 | typedef typename wide_string::traits_type::int_type int_type;
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:277:29: error: ‘byte_string’ does not name a type; did you mean ‘basic_string’?
> 277 | wstring_convert(const byte_string& __byte_err,
> | ^~~~~~~~~~~
> | basic_string
> /usr/include/c++/11/bits/locale_conv.h:278:29: error: ‘wide_string’ does not name a type; did you mean ‘wstring’?
> 278 | const wide_string& __wide_err = wide_string())
> | ^~~~~~~~~~~
> | wstring
> /usr/include/c++/11/bits/locale_conv.h:295:7: error: ‘wide_string’ does not name a type; did you mean ‘wstring’?
> 295 | wide_string
> | ^~~~~~~~~~~
> | wstring
> /usr/include/c++/11/bits/locale_conv.h:302:7: error: ‘wide_string’ does not name a type; did you mean ‘wstring’?
> 302 | wide_string
> | ^~~~~~~~~~~
> | wstring
> /usr/include/c++/11/bits/locale_conv.h:306:7: error: ‘wide_string’ does not name a type; did you mean ‘wstring’?
> 306 | wide_string
> | ^~~~~~~~~~~
> | wstring
> /usr/include/c++/11/bits/locale_conv.h:313:7: error: ‘wide_string’ does not name a type; did you mean ‘wstring’?
> 313 | wide_string
> | ^~~~~~~~~~~
> | wstring
> /usr/include/c++/11/bits/locale_conv.h:329:7: error: ‘byte_string’ does not name a type; did you mean ‘basic_string’?
> 329 | byte_string
> | ^~~~~~~~~~~
> | basic_string
> /usr/include/c++/11/bits/locale_conv.h:336:7: error: ‘byte_string’ does not name a type; did you mean ‘basic_string’?
> 336 | byte_string
> | ^~~~~~~~~~~
> | basic_string
> /usr/include/c++/11/bits/locale_conv.h:342:7: error: ‘byte_string’ does not name a type; did you mean ‘basic_string’?
> 342 | byte_string
> | ^~~~~~~~~~~
> | basic_string
> /usr/include/c++/11/bits/locale_conv.h:349:7: error: ‘byte_string’ does not name a type; did you mean ‘basic_string’?
> 349 | byte_string
> | ^~~~~~~~~~~
> | basic_string
> /usr/include/c++/11/bits/locale_conv.h:373:7: error: ‘unique_ptr’ does not name a type
> 373 | unique_ptr<_Codecvt> _M_cvt;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:374:7: error: ‘byte_string’ does not name a type; did you mean ‘basic_string’?
> 374 | byte_string _M_byte_err_string;
> | ^~~~~~~~~~~
> | basic_string
> /usr/include/c++/11/bits/locale_conv.h:375:7: error: ‘wide_string’ does not name a type; did you mean ‘wstring’?
> 375 | wide_string _M_wide_err_string;
> | ^~~~~~~~~~~
> | wstring
> /usr/include/c++/11/bits/locale_conv.h:278:55: error: there are no arguments to ‘wide_string’ that depend on a template parameter, so a declaration of ‘wide_string’ must be available [-fpermissive]
> 278 | const wide_string& __wide_err = wide_string())
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h: In constructor ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>::wstring_convert()’:
> /usr/include/c++/11/bits/locale_conv.h:241:27: error: class ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>’ does not have any field named ‘_M_cvt’
> 241 | wstring_convert() : _M_cvt(new _Codecvt()) { }
> | ^~~~~~
> /usr/include/c++/11/bits/locale_conv.h: In constructor ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>::wstring_convert(_Codecvt*)’:
> /usr/include/c++/11/bits/locale_conv.h:250:43: error: class ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>’ does not have any field named ‘_M_cvt’
> 250 | wstring_convert(_Codecvt* __pcvt) : _M_cvt(__pcvt)
> | ^~~~~~
> /usr/include/c++/11/bits/locale_conv.h:252:14: error: ‘_M_cvt’ was not declared in this scope; did you mean ‘__pcvt’?
> 252 | if (!_M_cvt)
> | ^~~~~~
> | __pcvt
> /usr/include/c++/11/bits/locale_conv.h:253:11: error: there are no arguments to ‘__throw_logic_error’ that depend on a template parameter, so a declaration of ‘__throw_logic_error’ must be available [-fpermissive]
> 253 | __throw_logic_error("wstring_convert");
> | ^~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h: In constructor ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>::wstring_convert(_Codecvt*, std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>::state_type)’:
> /usr/include/c++/11/bits/locale_conv.h:265:9: error: class ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>’ does not have any field named ‘_M_cvt’
> 265 | : _M_cvt(__pcvt), _M_state(__state), _M_with_cvtstate(true)
> | ^~~~~~
> /usr/include/c++/11/bits/locale_conv.h:267:14: error: ‘_M_cvt’ was not declared in this scope; did you mean ‘__pcvt’?
> 267 | if (!_M_cvt)
> | ^~~~~~
> | __pcvt
> /usr/include/c++/11/bits/locale_conv.h:268:11: error: there are no arguments to ‘__throw_logic_error’ that depend on a template parameter, so a declaration of ‘__throw_logic_error’ must be available [-fpermissive]
> 268 | __throw_logic_error("wstring_convert");
> | ^~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h: In constructor ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>::wstring_convert(const int&, const int&)’:
> /usr/include/c++/11/bits/locale_conv.h:279:9: error: class ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>’ does not have any field named ‘_M_cvt’
> 279 | : _M_cvt(new _Codecvt),
> | ^~~~~~
> /usr/include/c++/11/bits/locale_conv.h:280:9: error: class ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>’ does not have any field named ‘_M_byte_err_string’
> 280 | _M_byte_err_string(__byte_err), _M_wide_err_string(__wide_err),
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:280:41: error: class ‘std::__cxx11::wstring_convert<_Codecvt, _Elem, _Wide_alloc>’ does not have any field named ‘_M_wide_err_string’
> 280 | _M_byte_err_string(__byte_err), _M_wide_err_string(__wide_err),
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:283:14: error: ‘_M_cvt’ was not declared in this scope
> 283 | if (!_M_cvt)
> | ^~~~~~
> /usr/include/c++/11/bits/locale_conv.h:284:11: error: there are no arguments to ‘__throw_logic_error’ that depend on a template parameter, so a declaration of ‘__throw_logic_error’ must be available [-fpermissive]
> 284 | __throw_logic_error("wstring_convert");
> | ^~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h: At global scope:
> /usr/include/c++/11/bits/locale_conv.h:386:27: error: ‘char_traits’ does not name a type
> 386 | typename _Tr = char_traits<_Elem>>
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/locale_conv.h:386:38: error: expected ‘>’ before ‘<’ token
> 386 | typename _Tr = char_traits<_Elem>>
> | ^
> /usr/include/c++/11/bits/locale_conv.h:387:51: error: expected template-name before ‘<’ token
> 387 | class wbuffer_convert : public basic_streambuf<_Elem, _Tr>
> | ^
> /usr/include/c++/11/bits/locale_conv.h:387:51: error: expected ‘{’ before ‘<’ token
> In file included from ./core/mrtrix.h:34,
> from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/iomanip:56:27: error: ‘ios_base’ does not name a type
> 56 | struct _Resetiosflags { ios_base::fmtflags _M_mask; };
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:65:10: error: ‘_Resetiosflags’ does not name a type
> 65 | inline _Resetiosflags
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:70:12: error: ‘basic_istream’ does not name a type
> 70 | inline basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:78:12: error: ‘basic_ostream’ does not name a type
> 78 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:86:25: error: ‘ios_base’ does not name a type
> 86 | struct _Setiosflags { ios_base::fmtflags _M_mask; };
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:95:10: error: ‘_Setiosflags’ does not name a type
> 95 | inline _Setiosflags
> | ^~~~~~~~~~~~
> /usr/include/c++/11/iomanip:100:12: error: ‘basic_istream’ does not name a type
> 100 | inline basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:108:12: error: ‘basic_ostream’ does not name a type
> 108 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:126:10: error: ‘_Setbase’ does not name a type
> 126 | inline _Setbase
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:131:12: error: ‘basic_istream’ does not name a type
> 131 | inline basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:142:12: error: ‘basic_ostream’ does not name a type
> 142 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:164:12: error: ‘_Setfill’ does not name a type
> 164 | inline _Setfill<_CharT>
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:169:12: error: ‘basic_istream’ does not name a type
> 169 | inline basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:177:12: error: ‘basic_ostream’ does not name a type
> 177 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:194:10: error: ‘_Setprecision’ does not name a type
> 194 | inline _Setprecision
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:199:12: error: ‘basic_istream’ does not name a type
> 199 | inline basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:207:12: error: ‘basic_ostream’ does not name a type
> 207 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:224:10: error: ‘_Setw’ does not name a type
> 224 | inline _Setw
> | ^~~~~
> /usr/include/c++/11/iomanip:229:12: error: ‘basic_istream’ does not name a type
> 229 | inline basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:237:12: error: ‘basic_ostream’ does not name a type
> 237 | inline basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:258:12: error: ‘_Get_money’ does not name a type
> 258 | inline _Get_money<_MoneyT>
> | ^~~~~~~~~~
> /usr/include/c++/11/iomanip:263:5: error: ‘basic_istream’ does not name a type
> 263 | basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:305:12: error: ‘_Put_money’ does not name a type
> 305 | inline _Put_money<_MoneyT>
> | ^~~~~~~~~~
> /usr/include/c++/11/iomanip:310:5: error: ‘basic_ostream’ does not name a type
> 310 | basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:357:12: error: ‘_Put_time’ does not name a type
> 357 | inline _Put_time<_CharT>
> | ^~~~~~~~~
> /usr/include/c++/11/iomanip:362:5: error: ‘basic_ostream’ does not name a type
> 362 | basic_ostream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:412:12: error: ‘_Get_time’ does not name a type
> 412 | inline _Get_time<_CharT>
> | ^~~~~~~~~
> /usr/include/c++/11/iomanip:417:5: error: ‘basic_istream’ does not name a type
> 417 | basic_istream<_CharT, _Traits>&
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/iomanip:508:19: error: ‘ostream’ is not a template function
> 508 | extern template ostream& operator<<(ostream&, _Setfill<char>);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:508:26: error: expected ‘;’ before ‘&’ token
> 508 | extern template ostream& operator<<(ostream&, _Setfill<char>);
> | ^
> | ;
> /usr/include/c++/11/iomanip:509:19: error: ‘ostream’ is not a template function
> 509 | extern template ostream& operator<<(ostream&, _Setiosflags);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:509:26: error: expected ‘;’ before ‘&’ token
> 509 | extern template ostream& operator<<(ostream&, _Setiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:510:19: error: ‘ostream’ is not a template function
> 510 | extern template ostream& operator<<(ostream&, _Resetiosflags);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:510:26: error: expected ‘;’ before ‘&’ token
> 510 | extern template ostream& operator<<(ostream&, _Resetiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:511:19: error: ‘ostream’ is not a template function
> 511 | extern template ostream& operator<<(ostream&, _Setbase);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:511:26: error: expected ‘;’ before ‘&’ token
> 511 | extern template ostream& operator<<(ostream&, _Setbase);
> | ^
> | ;
> /usr/include/c++/11/iomanip:512:19: error: ‘ostream’ is not a template function
> 512 | extern template ostream& operator<<(ostream&, _Setprecision);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:512:26: error: expected ‘;’ before ‘&’ token
> 512 | extern template ostream& operator<<(ostream&, _Setprecision);
> | ^
> | ;
> /usr/include/c++/11/iomanip:513:19: error: ‘ostream’ is not a template function
> 513 | extern template ostream& operator<<(ostream&, _Setw);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:513:26: error: expected ‘;’ before ‘&’ token
> 513 | extern template ostream& operator<<(ostream&, _Setw);
> | ^
> | ;
> /usr/include/c++/11/iomanip:514:19: error: ‘istream’ is not a template function
> 514 | extern template istream& operator>>(istream&, _Setfill<char>);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:514:26: error: expected ‘;’ before ‘&’ token
> 514 | extern template istream& operator>>(istream&, _Setfill<char>);
> | ^
> | ;
> /usr/include/c++/11/iomanip:515:19: error: ‘istream’ is not a template function
> 515 | extern template istream& operator>>(istream&, _Setiosflags);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:515:26: error: expected ‘;’ before ‘&’ token
> 515 | extern template istream& operator>>(istream&, _Setiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:516:19: error: ‘istream’ is not a template function
> 516 | extern template istream& operator>>(istream&, _Resetiosflags);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:516:26: error: expected ‘;’ before ‘&’ token
> 516 | extern template istream& operator>>(istream&, _Resetiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:517:19: error: ‘istream’ is not a template function
> 517 | extern template istream& operator>>(istream&, _Setbase);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:517:26: error: expected ‘;’ before ‘&’ token
> 517 | extern template istream& operator>>(istream&, _Setbase);
> | ^
> | ;
> /usr/include/c++/11/iomanip:518:19: error: ‘istream’ is not a template function
> 518 | extern template istream& operator>>(istream&, _Setprecision);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:518:26: error: expected ‘;’ before ‘&’ token
> 518 | extern template istream& operator>>(istream&, _Setprecision);
> | ^
> | ;
> /usr/include/c++/11/iomanip:519:19: error: ‘istream’ is not a template function
> 519 | extern template istream& operator>>(istream&, _Setw);
> | ^~~~~~~
> /usr/include/c++/11/iomanip:519:26: error: expected ‘;’ before ‘&’ token
> 519 | extern template istream& operator>>(istream&, _Setw);
> | ^
> | ;
> /usr/include/c++/11/iomanip:522:19: error: ‘wostream’ is not a template function
> 522 | extern template wostream& operator<<(wostream&, _Setfill<wchar_t>);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:522:27: error: expected ‘;’ before ‘&’ token
> 522 | extern template wostream& operator<<(wostream&, _Setfill<wchar_t>);
> | ^
> | ;
> /usr/include/c++/11/iomanip:523:19: error: ‘wostream’ is not a template function
> 523 | extern template wostream& operator<<(wostream&, _Setiosflags);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:523:27: error: expected ‘;’ before ‘&’ token
> 523 | extern template wostream& operator<<(wostream&, _Setiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:524:19: error: ‘wostream’ is not a template function
> 524 | extern template wostream& operator<<(wostream&, _Resetiosflags);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:524:27: error: expected ‘;’ before ‘&’ token
> 524 | extern template wostream& operator<<(wostream&, _Resetiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:525:19: error: ‘wostream’ is not a template function
> 525 | extern template wostream& operator<<(wostream&, _Setbase);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:525:27: error: expected ‘;’ before ‘&’ token
> 525 | extern template wostream& operator<<(wostream&, _Setbase);
> | ^
> | ;
> /usr/include/c++/11/iomanip:526:19: error: ‘wostream’ is not a template function
> 526 | extern template wostream& operator<<(wostream&, _Setprecision);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:526:27: error: expected ‘;’ before ‘&’ token
> 526 | extern template wostream& operator<<(wostream&, _Setprecision);
> | ^
> | ;
> /usr/include/c++/11/iomanip:527:19: error: ‘wostream’ is not a template function
> 527 | extern template wostream& operator<<(wostream&, _Setw);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:527:27: error: expected ‘;’ before ‘&’ token
> 527 | extern template wostream& operator<<(wostream&, _Setw);
> | ^
> | ;
> /usr/include/c++/11/iomanip:528:19: error: ‘wistream’ is not a template function
> 528 | extern template wistream& operator>>(wistream&, _Setfill<wchar_t>);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:528:27: error: expected ‘;’ before ‘&’ token
> 528 | extern template wistream& operator>>(wistream&, _Setfill<wchar_t>);
> | ^
> | ;
> /usr/include/c++/11/iomanip:529:19: error: ‘wistream’ is not a template function
> 529 | extern template wistream& operator>>(wistream&, _Setiosflags);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:529:27: error: expected ‘;’ before ‘&’ token
> 529 | extern template wistream& operator>>(wistream&, _Setiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:530:19: error: ‘wistream’ is not a template function
> 530 | extern template wistream& operator>>(wistream&, _Resetiosflags);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:530:27: error: expected ‘;’ before ‘&’ token
> 530 | extern template wistream& operator>>(wistream&, _Resetiosflags);
> | ^
> | ;
> /usr/include/c++/11/iomanip:531:19: error: ‘wistream’ is not a template function
> 531 | extern template wistream& operator>>(wistream&, _Setbase);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:531:27: error: expected ‘;’ before ‘&’ token
> 531 | extern template wistream& operator>>(wistream&, _Setbase);
> | ^
> | ;
> /usr/include/c++/11/iomanip:532:19: error: ‘wistream’ is not a template function
> 532 | extern template wistream& operator>>(wistream&, _Setprecision);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:532:27: error: expected ‘;’ before ‘&’ token
> 532 | extern template wistream& operator>>(wistream&, _Setprecision);
> | ^
> | ;
> /usr/include/c++/11/iomanip:533:19: error: ‘wistream’ is not a template function
> 533 | extern template wistream& operator>>(wistream&, _Setw);
> | ^~~~~~~~
> /usr/include/c++/11/iomanip:533:27: error: expected ‘;’ before ‘&’ token
> 533 | extern template wistream& operator>>(wistream&, _Setw);
> | ^
> | ;
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:64:12: error: ‘max_digits’ is not a class template
> 64 | struct max_digits<X, typename std::enable_if<std::is_fundamental<X>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:64:91: error: redeclared with 1 template parameter
> 64 | struct max_digits<X, typename std::enable_if<std::is_fundamental<X>::value, int>::type> { NOMEMALIGN
> | ^
> ./core/mrtrix.h:59:12: note: previous declaration ‘template<class X, class ReturnType> struct MR::max_digits’ used 2 template parameters
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:69:12: error: ‘max_digits’ is not a class template
> 69 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:69:108: error: redeclared with 1 template parameter
> 69 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^
> ./core/mrtrix.h:59:12: note: previous declaration ‘template<class X, class ReturnType> struct MR::max_digits’ used 2 template parameters
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> ./core/mrtrix.h:74:12: error: ‘max_digits’ is not a class template
> 74 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::value_type>::value && !std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^~~~~~~~~~
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:74:163: error: redeclared with 1 template parameter
> 74 | struct max_digits<X, typename std::enable_if<std::is_fundamental<typename X::value_type>::value && !std::is_fundamental<typename X::Scalar>::value, int>::type> { NOMEMALIGN
> | ^
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:59:12: note: previous declaration ‘template<class X, class ReturnType> struct MR::max_digits’ used 2 template parameters
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h: In function ‘std::string Eigen::unquote(const string&)’:
> ./core/mrtrix.h:149:76: error: definition of ‘auto Eigen::unquote(const string&)::<lambda>::operator()(const char&) const’ is not in namespace enclosing ‘Eigen::unquote(const string&)::<lambda>’ [-fpermissive]
> 149 | if (std::none_of (substring.begin(), substring.end(), [] (const char& c) { return c == '\"'; }))
> | ^
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:173:3: error: ‘vector’ does not name a type
> 173 | vector<std::string> split (
> | ^~~~~~
> ./core/mrtrix.h:179:10: error: ‘vector’ does not name a type
> 179 | inline vector<std::string> split_lines (
> | ^~~~~~
> ./core/mrtrix.h: In function ‘std::size_t Eigen::is_dash(const string&)’:
> ./core/mrtrix.h:227:21: error: ‘char_is_dash’ was not declared in this scope; did you mean ‘Eigen::char_is_dash’?
> 227 | size_t nbytes = char_is_dash (arg.c_str());
> | ^~~~~~~~~~~~
> | Eigen::char_is_dash
> ./core/mrtrix.h:205:17: note: ‘Eigen::char_is_dash’ declared here
> 205 | inline size_t char_is_dash (const char* arg)
> | ^~~~~~~~~~~~
> ./core/mrtrix.h: In function ‘bool Eigen::consume_dash(const char*&)’:
> ./core/mrtrix.h:238:21: error: ‘char_is_dash’ was not declared in this scope; did you mean ‘Eigen::char_is_dash’?
> 238 | size_t nbytes = char_is_dash (arg);
> | ^~~~~~~~~~~~
> | Eigen::char_is_dash
> ./core/mrtrix.h:205:17: note: ‘Eigen::char_is_dash’ declared here
> 205 | inline size_t char_is_dash (const char* arg)
> | ^~~~~~~~~~~~
> ./core/mrtrix.h: In function ‘std::string Eigen::str(const T&, int)’:
> ./core/mrtrix.h:252:14: error: ‘max_digits’ was not declared in this scope; did you mean ‘MR::max_digits’?
> 252 | else if (max_digits<T>::value())
> | ^~~~~~~~~~
> | MR::max_digits
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:59:12: note: ‘MR::max_digits’ declared here
> 59 | struct max_digits { NOMEMALIGN
> | ^~~~~~~~~~
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:252:26: error: expected primary-expression before ‘>’ token
> 252 | else if (max_digits<T>::value())
> | ^
> ./core/mrtrix.h:252:29: error: ‘::value’ has not been declared
> 252 | else if (max_digits<T>::value())
> | ^~~~~
> ./core/mrtrix.h:253:37: error: expected primary-expression before ‘>’ token
> 253 | stream.precision (max_digits<T>::value());
> | ^
> ./core/mrtrix.h:253:40: error: ‘::value’ has not been declared
> 253 | stream.precision (max_digits<T>::value());
> | ^~~~~
> ./core/mrtrix.h:256:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 256 | throw Exception (std::string("error converting type \"") + typeid(T).name() + "\" value to string");
> | ^~~~~~~~~
> ./core/mrtrix.h: In function ‘T Eigen::to(const string&)’:
> ./core/mrtrix.h:262:33: error: there are no arguments to ‘strip’ that depend on a template parameter, so a declaration of ‘strip’ must be available [-fpermissive]
> 262 | const std::string stripped (strip (string));
> | ^~~~~
> ./core/mrtrix.h:268:37: error: there are no arguments to ‘lowercase’ that depend on a template parameter, so a declaration of ‘lowercase’ must be available [-fpermissive]
> 268 | const std::string lstring = lowercase (stripped);
> | ^~~~~~~~~
> ./core/mrtrix.h:278:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 278 | throw Exception ("error converting string \"" + string + "\" to type \"" + typeid(T).name() + "\"");
> | ^~~~~~~~~
> ./core/mrtrix.h:280:13: error: there are no arguments to ‘Exception’ that depend on a template parameter, so a declaration of ‘Exception’ must be available [-fpermissive]
> 280 | throw Exception ("incomplete use of string \"" + string + "\" in conversion to type \"" + typeid(T).name() + "\"");
> | ^~~~~~~~~
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:285:29: error: expected initializer before ‘<’ token
> 285 | template <> inline bool to<bool> (const std::string& string)
> | ^
> ./core/mrtrix.h:295:37: error: expected initializer before ‘<’ token
> 295 | template <> inline std::string str<cfloat> (const cfloat& value, int precision)
> | ^
> ./core/mrtrix.h:308:22: error: ‘cfloat’ does not name a type
> 308 | template <> inline cfloat to<cfloat> (const std::string& string)
> | ^~~~~~
> ./core/mrtrix.h:353:37: error: expected initializer before ‘<’ token
> 353 | template <> inline std::string str<cdouble> (const cdouble& value, int precision)
> | ^
> ./core/mrtrix.h:366:22: error: ‘cdouble’ does not name a type
> 366 | template <> inline cdouble to<cdouble> (const std::string& string)
> | ^~~~~~~
> ./core/mrtrix.h:417:3: error: ‘vector’ does not name a type
> 417 | vector<default_type> parse_floats (const std::string& spec);
> | ^~~~~~
> ./core/mrtrix.h:422:3: error: ‘vector’ does not name a type
> 422 | vector<IntType> parse_ints (const std::string& spec, const IntType last = std::numeric_limits<IntType>::max())
> | ^~~~~~
> ./core/mrtrix.h:498:34: error: ‘vector’ does not name a type
> 498 | inline std::string join (const vector<std::string>& V, const std::string& delimiter)
> | ^~~~~~
> ./core/mrtrix.h:498:40: error: expected ‘,’ or ‘...’ before ‘<’ token
> 498 | inline std::string join (const vector<std::string>& V, const std::string& delimiter)
> | ^
> ./core/mrtrix.h: In function ‘std::string Eigen::join(int)’:
> ./core/mrtrix.h:501:9: error: ‘V’ was not declared in this scope
> 501 | if (V.empty())
> | ^
> ./core/mrtrix.h:503:11: error: ‘V’ was not declared in this scope
> 503 | ret = V[0];
> | ^
> ./core/mrtrix.h:504:10: error: ‘vector’ was not declared in this scope
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~~~~
> ./core/mrtrix.h:504:10: note: suggested alternatives:
> In file included from /usr/include/c++/11/vector:67,
> from ./core/types.h:27,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/stl_vector.h:389:11: note: ‘std::vector’
> 389 | class vector : protected _Vector_base<_Tp, _Alloc>
> | ^~~~~~
> In file included from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/types.h:253:11: note: ‘MR::vector’
> 253 | class vector : public ::std::vector<X, Eigen::aligned_allocator<X>> { NOMEMALIGN
> | ^~~~~~
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:504:28: error: expected primary-expression before ‘>’ token
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:504:31: error: ‘::const_iterator’ has not been declared
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~~~~~~~~~~~~
> ./core/mrtrix.h:504:64: error: ‘i’ was not declared in this scope
> 504 | for (vector<std::string>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:505:14: error: ‘delimiter’ was not declared in this scope
> 505 | ret += delimiter + *i;
> | ^~~~~~~~~
> ./core/mrtrix.h: At global scope:
> ./core/mrtrix.h:510:34: error: ‘vector’ does not name a type
> 510 | inline std::string join (const vector<T>& V, const std::string& delimiter)
> | ^~~~~~
> ./core/mrtrix.h:510:40: error: expected ‘,’ or ‘...’ before ‘<’ token
> 510 | inline std::string join (const vector<T>& V, const std::string& delimiter)
> | ^
> ./core/mrtrix.h: In function ‘std::string Eigen::join(int)’:
> ./core/mrtrix.h:513:9: error: ‘V’ was not declared in this scope
> 513 | if (V.empty())
> | ^
> ./core/mrtrix.h:515:15: error: ‘V’ was not declared in this scope
> 515 | ret = str(V[0]);
> | ^
> ./core/mrtrix.h:515:11: error: there are no arguments to ‘str’ that depend on a template parameter, so a declaration of ‘str’ must be available [-fpermissive]
> 515 | ret = str(V[0]);
> | ^~~
> ./core/mrtrix.h:516:25: error: expected ‘;’ before ‘<’ token
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> | ;
> ./core/mrtrix.h:516:25: error: expected primary-expression before ‘<’ token
> ./core/mrtrix.h:516:27: error: expected primary-expression before ‘>’ token
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:516:30: error: ‘::const_iterator’ has not been declared
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~~~~~~~~~~~~
> ./core/mrtrix.h:516:44: error: expected ‘;’ before ‘i’
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~
> | ;
> ./core/mrtrix.h:516:45: error: ‘i’ was not declared in this scope
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:516:61: error: expected ‘)’ before ‘;’ token
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ~ ^
> | )
> ./core/mrtrix.h:516:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^~~
> ./core/mrtrix.h:516:63: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
> 516 | for (typename vector<T>::const_iterator i = V.begin() +1; i != V.end(); ++i)
> | ^
> ./core/mrtrix.h:516:63: error: ‘i’ was not declared in this scope
> In file included from core/file/dicom/element.cpp:17:
> ./core/file/path.h: In function ‘bool Eigen::exists(const string&)’:
> ./core/file/path.h:99:13: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 99 | throw Exception (strerror (errno));
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from core/file/dicom/element.cpp:17:
> ./core/file/path.h: In function ‘bool Eigen::is_dir(const string&)’:
> ./core/file/path.h:115:13: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 115 | throw Exception (strerror (errno));
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from core/file/dicom/element.cpp:17:
> ./core/file/path.h: In function ‘bool Eigen::is_file(const string&)’:
> ./core/file/path.h:125:13: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 125 | throw Exception (strerror (errno));
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from core/file/dicom/element.cpp:17:
> ./core/file/path.h: In function ‘bool Eigen::has_suffix(const string&, const std::initializer_list<const std::__cxx11::basic_string<char> >&)’:
> ./core/file/path.h:140:57: error: definition of ‘auto Eigen::has_suffix(const string&, const std::initializer_list<const std::__cxx11::basic_string<char> >&)::<lambda>::operator()(const string&) const’ is not in namespace enclosing ‘Eigen::has_suffix(const string&, const std::initializer_list<const std::__cxx11::basic_string<char> >&)::<lambda>’ [-fpermissive]
> 140 | [&] (const std::string& suffix) { return has_suffix (name, suffix); });
> | ^
> ./core/file/path.h: In lambda function:
> ./core/file/path.h:140:68: error: ‘has_suffix’ was not declared in this scope; did you mean ‘Eigen::has_suffix’?
> 140 | [&] (const std::string& suffix) { return has_suffix (name, suffix); });
> | ^~~~~~~~~~
> | Eigen::has_suffix
> ./core/file/path.h:136:17: note: ‘Eigen::has_suffix’ declared here
> 136 | inline bool has_suffix (const std::string &name, const std::initializer_list<const std::string> &suffix_list)
> | ^~~~~~~~~~
> ./core/file/path.h: At global scope:
> ./core/file/path.h:143:60: error: ‘vector’ does not name a type
> 143 | inline bool has_suffix (const std::string &name, const vector<std::string> &suffix_list)
> | ^~~~~~
> ./core/file/path.h:143:66: error: expected ‘,’ or ‘...’ before ‘<’ token
> 143 | inline bool has_suffix (const std::string &name, const vector<std::string> &suffix_list)
> | ^
> ./core/file/path.h: In function ‘bool Eigen::has_suffix(const string&, int)’:
> ./core/file/path.h:145:27: error: ‘suffix_list’ was not declared in this scope
> 145 | return std::any_of (suffix_list.begin(),
> | ^~~~~~~~~~~
> ./core/file/path.h:147:57: error: definition of ‘auto Eigen::has_suffix(const string&, int)::<lambda>::operator()(const string&) const’ is not in namespace enclosing ‘Eigen::has_suffix(const string&, int)::<lambda>’ [-fpermissive]
> 147 | [&] (const std::string& suffix) { return has_suffix (name, suffix); });
> | ^
> ./core/file/path.h: In lambda function:
> ./core/file/path.h:147:68: error: ‘has_suffix’ was not declared in this scope; did you mean ‘Eigen::has_suffix’?
> 147 | [&] (const std::string& suffix) { return has_suffix (name, suffix); });
> | ^~~~~~~~~~
> | Eigen::has_suffix
> ./core/file/path.h:143:17: note: ‘Eigen::has_suffix’ declared here
> 143 | inline bool has_suffix (const std::string &name, const vector<std::string> &suffix_list)
> | ^~~~~~~~~~
> ./core/file/path.h: In function ‘bool Eigen::is_mrtrix_image(const string&)’:
> ./core/file/path.h:153:9: error: ‘Path’ has not been declared
> 153 | Path::has_suffix (name, {".mif", ".mih", ".mif.gz"});
> | ^~~~
> ./core/file/path.h: In function ‘std::string Eigen::cwd()’:
> ./core/file/path.h:165:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 165 | throw Exception ("failed to get current working directory!");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from core/file/dicom/element.cpp:17:
> ./core/file/path.h: In function ‘std::string Eigen::home()’:
> ./core/file/path.h:175:15: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 175 | throw Exception (HOME_ENV " environment variable is not set!");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from core/file/dicom/element.cpp:17:
> ./core/file/path.h: In constructor ‘MR::Path::Dir::Dir(const string&)’:
> ./core/file/path.h:184:19: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 184 | throw Exception ("error opening folder " + name + ": " + strerror (errno));
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from core/file/dicom/element.cpp:17:
> ./core/file/path.h: In function ‘char Eigen::delimiter(const string&)’:
> ./core/file/path.h:216:11: error: ‘Path’ has not been declared
> 216 | if (Path::has_suffix (filename, ".tsv"))
> | ^~~~
> ./core/file/path.h:218:16: error: ‘Path’ has not been declared
> 218 | else if (Path::has_suffix (filename, ".csv"))
> | ^~~~
> In file included from /usr/include/c++/11/bits/hashtable.h:35,
> from /usr/include/c++/11/unordered_map:46,
> from ./core/file/dicom/element.h:20,
> from core/file/dicom/element.cpp:18:
> /usr/include/c++/11/bits/hashtable_policy.h: At global scope:
> /usr/include/c++/11/bits/hashtable_policy.h:108:33: error: ‘_Hashtable_alloc’ does not name a type
> 108 | using __hashtable_alloc = _Hashtable_alloc<__node_alloc_type>;
> | ^~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:110:18: error: ‘__hashtable_alloc’ has not been declared
> 110 | typename __hashtable_alloc::__node_alloc_traits;
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:111:36: error: ‘__hashtable_alloc’ has not been declared
> 111 | using __node_type = typename __hashtable_alloc::__node_type;
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:114:36: error: expected ‘)’ before ‘*’ token
> 114 | _ReuseOrAllocNode(__node_type* __nodes, __hashtable_alloc& __h)
> | ~ ^
> | )
> /usr/include/c++/11/bits/hashtable_policy.h:122:9: error: ‘__node_type’ does not name a type; did you mean ‘__true_type’?
> 122 | __node_type*
> | ^~~~~~~~~~~
> | __true_type
> /usr/include/c++/11/bits/hashtable_policy.h:148:15: error: ‘__node_type’ does not name a type; did you mean ‘__true_type’?
> 148 | mutable __node_type* _M_nodes;
> | ^~~~~~~~~~~
> | __true_type
> /usr/include/c++/11/bits/hashtable_policy.h:149:7: error: ‘__hashtable_alloc’ does not name a type; did you mean ‘_Hashtable_alloc’?
> 149 | __hashtable_alloc& _M_h;
> | ^~~~~~~~~~~~~~~~~
> | _Hashtable_alloc
> /usr/include/c++/11/bits/hashtable_policy.h: In destructor ‘std::__detail::_ReuseOrAllocNode<_NodeAlloc>::~_ReuseOrAllocNode()’:
> /usr/include/c++/11/bits/hashtable_policy.h:119:9: error: ‘_M_h’ was not declared in this scope
> 119 | { _M_h._M_deallocate_nodes(_M_nodes); }
> | ^~~~
> /usr/include/c++/11/bits/hashtable_policy.h:119:34: error: ‘_M_nodes’ was not declared in this scope
> 119 | { _M_h._M_deallocate_nodes(_M_nodes); }
> | ^~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h: At global scope:
> /usr/include/c++/11/bits/hashtable_policy.h:158:33: error: ‘_Hashtable_alloc’ does not name a type
> 158 | using __hashtable_alloc = _Hashtable_alloc<_NodeAlloc>;
> | ^~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:159:36: error: ‘__hashtable_alloc’ has not been declared
> 159 | using __node_type = typename __hashtable_alloc::__node_type;
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:162:35: error: expected ‘)’ before ‘&’ token
> 162 | _AllocNode(__hashtable_alloc& __h)
> | ~ ^
> | )
> /usr/include/c++/11/bits/hashtable_policy.h:166:9: error: ‘__node_type’ does not name a type; did you mean ‘__true_type’?
> 166 | __node_type*
> | ^~~~~~~~~~~
> | __true_type
> /usr/include/c++/11/bits/hashtable_policy.h:171:7: error: ‘__hashtable_alloc’ does not name a type; did you mean ‘_Hashtable_alloc’?
> 171 | __hashtable_alloc& _M_h;
> | ^~~~~~~~~~~~~~~~~
> | _Hashtable_alloc
> /usr/include/c++/11/bits/hashtable_policy.h:202:29: error: ‘__bool_constant’ does not name a type
> 202 | using __hash_cached = __bool_constant<_Cache_hash_code>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:203:36: error: ‘__bool_constant’ does not name a type
> 203 | using __constant_iterators = __bool_constant<_Constant_iterators>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:204:29: error: ‘__bool_constant’ does not name a type
> 204 | using __unique_keys = __bool_constant<_Unique_keys>;
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:264:12: error: ‘_Hash_node_code_cache’ is not a class template
> 264 | struct _Hash_node_code_cache<true>
> | ^~~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:264:38: error: template specifiers not specified in declaration of ‘template<bool _Cache_hash_code> struct std::__detail::_Hash_node_code_cache’
> 264 | struct _Hash_node_code_cache<true>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:269:28: error: expected template-name before ‘<’ token
> 269 | : _Hash_node_value_base<_Value>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:269:28: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/hashtable_policy.h:279:5: error: expected class-name before ‘,’ token
> 279 | , _Hash_node_value<_Value, _Cache_hash_code>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:279:23: error: expected template-name before ‘<’ token
> 279 | , _Hash_node_value<_Value, _Cache_hash_code>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:279:23: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/hashtable_policy.h:290:27: error: ‘_Hash_node’ does not name a type
> 290 | using __node_type = _Hash_node<_Value, _Cache_hash_code>;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:292:7: error: ‘__node_type’ does not name a type; did you mean ‘__true_type’?
> 292 | __node_type* _M_cur;
> | ^~~~~~~~~~~
> | __true_type
> /usr/include/c++/11/bits/hashtable_policy.h:295:38: error: expected ‘)’ before ‘*’ token
> 295 | _Node_iterator_base(__node_type* __p) noexcept
> | ~ ^
> | )
> /usr/include/c++/11/bits/hashtable_policy.h: In constructor ‘std::__detail::_Node_iterator_base<_Value, _Cache_hash_code>::_Node_iterator_base()’:
> /usr/include/c++/11/bits/hashtable_policy.h:294:31: error: class ‘std::__detail::_Node_iterator_base<_Value, _Cache_hash_code>’ does not have any field named ‘_M_cur’
> 294 | _Node_iterator_base() : _M_cur(nullptr) { }
> | ^~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h: In member function ‘void std::__detail::_Node_iterator_base<_Value, _Cache_hash_code>::_M_incr()’:
> /usr/include/c++/11/bits/hashtable_policy.h:300:9: error: ‘_M_cur’ was not declared in this scope; did you mean ‘_S_cur’?
> 300 | { _M_cur = _M_cur->_M_next(); }
> | ^~~~~~
> | _S_cur
> /usr/include/c++/11/bits/hashtable_policy.h: At global scope:
> /usr/include/c++/11/bits/hashtable_policy.h:318:33: error: expected template-name before ‘<’ token
> 318 | : public _Node_iterator_base<_Value, __cache>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:318:33: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/hashtable_policy.h:368:33: error: expected template-name before ‘<’ token
> 368 | : public _Node_iterator_base<_Value, __cache>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:368:33: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/hashtable_policy.h:444:31: error: ‘true_type’ does not name a type
> 444 | using __has_load_factor = true_type;
> | ^~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:522:31: error: ‘true_type’ does not name a type
> 522 | using __has_load_factor = true_type;
> | ^~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h: In member function ‘std::size_t std::__detail::_Power2_rehash_policy::_M_next_bkt(std::size_t)’:
> /usr/include/c++/11/bits/hashtable_policy.h:544:27: error: ‘__clp2’ was not declared in this scope; did you mean ‘Eigen::__clp2’?
> 544 | std::size_t __res = __clp2(__n);
> | ^~~~~~
> | Eigen::__clp2
> /usr/include/c++/11/bits/hashtable_policy.h:505:3: note: ‘Eigen::__clp2’ declared here
> 505 | __clp2(std::size_t __n) noexcept
> | ^~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h: At global scope:
> /usr/include/c++/11/bits/hashtable_policy.h:649:12: error: ‘_Map_base’ is not a class template
> 649 | struct _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal,
> | ^~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:649:43: error: ‘_Select1st’ was not declared in this scope
> 649 | struct _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:649:43: note: suggested alternatives:
> In file included from /usr/include/c++/11/string:48,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/stl_function.h:1166:12: note: ‘std::_Select1st’
> 1166 | struct _Select1st
> | ^~~~~~~~~~
> In file included from /usr/include/c++/11/bits/hashtable.h:35,
> from /usr/include/c++/11/unordered_map:46,
> from ./core/file/dicom/element.h:20,
> from core/file/dicom/element.cpp:18:
> /usr/include/c++/11/bits/hashtable_policy.h:89:10: note: ‘std::__detail::_Select1st’
> 89 | struct _Select1st
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:650:79: error: redeclared with 9 template parameters
> 650 | _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:643:12: note: previous declaration ‘template<class _Key, class _Value, class _Alloc, class _ExtractKey, class _Equal, class _Hash, class _RangeHash, class _Unused, class _RehashPolicy, class _Traits, bool _Unique_keys> struct std::__detail::_Map_base’ used 11 template parameters
> 643 | struct _Map_base { };
> | ^~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:659:12: error: ‘_Map_base’ is not a class template
> 659 | struct _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal,
> | ^~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:659:43: error: ‘_Select1st’ was not declared in this scope
> 659 | struct _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:659:43: note: suggested alternatives:
> In file included from /usr/include/c++/11/string:48,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/stl_function.h:1166:12: note: ‘std::_Select1st’
> 1166 | struct _Select1st
> | ^~~~~~~~~~
> In file included from /usr/include/c++/11/bits/hashtable.h:35,
> from /usr/include/c++/11/unordered_map:46,
> from ./core/file/dicom/element.h:20,
> from core/file/dicom/element.cpp:18:
> /usr/include/c++/11/bits/hashtable_policy.h:89:10: note: ‘std::__detail::_Select1st’
> 89 | struct _Select1st
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:660:78: error: redeclared with 9 template parameters
> 660 | _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:643:12: note: previous declaration ‘template<class _Key, class _Value, class _Alloc, class _ExtractKey, class _Equal, class _Hash, class _RangeHash, class _Unused, class _RehashPolicy, class _Traits, bool _Unique_keys> struct std::__detail::_Map_base’ used 11 template parameters
> 643 | struct _Map_base { };
> | ^~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:696:14: error: expected initializer before ‘<’ token
> 696 | _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:723:14: error: expected initializer before ‘<’ token
> 723 | _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:750:14: error: expected initializer before ‘<’ token
> 750 | _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:767:14: error: expected initializer before ‘<’ token
> 767 | _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:792:32: error: ‘_Hashtable_base’ does not name a type
> 792 | using __hashtable_base = _Hashtable_base<_Key, _Value, _ExtractKey,
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:796:27: error: ‘_Hashtable’ does not name a type
> 796 | using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:803:33: error: ‘_Hashtable_alloc’ does not name a type
> 803 | using __hashtable_alloc = _Hashtable_alloc<
> | ^~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:807:35: error: ‘__hashtable_base’ has not been declared
> 807 | using value_type = typename __hashtable_base::value_type;
> | ^~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:808:34: error: ‘__hashtable_base’ has not been declared
> 808 | using size_type = typename __hashtable_base::size_type;
> | ^~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:811:42: error: ‘__hashtable_alloc’ has not been declared
> 811 | using __node_alloc_type = typename __hashtable_alloc::__node_alloc_type;
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:812:31: error: ‘_AllocNode’ does not name a type
> 812 | using __node_gen_type = _AllocNode<__node_alloc_type>;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:814:7: error: ‘__hashtable’ does not name a type; did you mean ‘_Hashtable’?
> 814 | __hashtable&
> | ^~~~~~~~~~~
> | _Hashtable
> /usr/include/c++/11/bits/hashtable_policy.h:821:45: error: ‘true_type’ has not been declared
> 821 | const _NodeGetter&, true_type __uks);
> | ^~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:826:45: error: ‘false_type’ has not been declared
> 826 | const _NodeGetter&, false_type __uks);
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:825:9: error: ‘template<class _Key, class _Value, class _Alloc, class _ExtractKey, class _Equal, class _Hash, class _RangeHash, class _Unused, class _RehashPolicy, class _Traits> template<class _InputIterator, class _NodeGetter> void std::__detail::_Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::_M_insert_range(_InputIterator, _InputIterator, const _NodeGetter&, int)’ cannot be overloaded with ‘template<class _Key, class _Value, class _Alloc, class _ExtractKey, class _Equal, class _Hash, class _RangeHash, class _Unused, class _RehashPolicy, class _Traits> template<class _InputIterator, class _NodeGetter> void std::__detail::_Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::_M_insert_range(_InputIterator, _InputIterator, const _NodeGetter&, int)’
> 825 | _M_insert_range(_InputIterator __first, _InputIterator __last,
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:820:9: note: previous declaration ‘template<class _Key, class _Value, class _Alloc, class _ExtractKey, class _Equal, class _Hash, class _RangeHash, class _Unused, class _RehashPolicy, class _Traits> template<class _InputIterator, class _NodeGetter> void std::__detail::_Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::_M_insert_range(_InputIterator, _InputIterator, const _NodeGetter&, int)’
> 820 | _M_insert_range(_InputIterator __first, _InputIterator __last,
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:829:24: error: ‘_Node_iterator’ does not name a type
> 829 | using iterator = _Node_iterator<_Value, __constant_iterators::value,
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:832:30: error: ‘_Node_const_iterator’ does not name a type
> 832 | using const_iterator = _Node_const_iterator<_Value, __constant_iterators::value,
> | ^~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:836:64: error: ‘iterator’ was not declared in this scope; did you mean ‘std::iterator’?
> 836 | std::pair<iterator, bool>,
> | ^~~~~~~~
> | std::iterator
> In file included from /usr/include/c++/11/bits/stl_algobase.h:65,
> from /usr/include/c++/11/bits/char_traits.h:39,
> from /usr/include/c++/11/string:40,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/stl_iterator_base_types.h:127:12: note: ‘std::iterator’ declared here
> 127 | struct iterator
> | ^~~~~~~~
> In file included from /usr/include/c++/11/bits/hashtable.h:35,
> from /usr/include/c++/11/unordered_map:46,
> from ./core/file/dicom/element.h:20,
> from core/file/dicom/element.cpp:18:
> /usr/include/c++/11/bits/hashtable_policy.h:836:78: error: template argument 1 is invalid
> 836 | std::pair<iterator, bool>,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:837:54: error: ‘iterator’ was not declared in this scope; did you mean ‘std::iterator’?
> 837 | iterator>::type;
> | ^~~~~~~~
> | std::iterator
> In file included from /usr/include/c++/11/bits/stl_algobase.h:65,
> from /usr/include/c++/11/bits/char_traits.h:39,
> from /usr/include/c++/11/string:40,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/stl_iterator_base_types.h:127:12: note: ‘std::iterator’ declared here
> 127 | struct iterator
> | ^~~~~~~~
> In file included from /usr/include/c++/11/bits/hashtable.h:35,
> from /usr/include/c++/11/unordered_map:46,
> from ./core/file/dicom/element.h:20,
> from core/file/dicom/element.cpp:18:
> /usr/include/c++/11/bits/hashtable_policy.h:837:62: error: template argument 2 is invalid
> 837 | iterator>::type;
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:837:62: error: template argument 3 is invalid
> /usr/include/c++/11/bits/hashtable_policy.h:837:63: error: ‘<declaration error>’ is not a template [-fpermissive]
> 837 | iterator>::type;
> | ^~
> /usr/include/c++/11/bits/hashtable_policy.h:839:7: error: ‘__ireturn_type’ does not name a type; did you mean ‘__truth_type’?
> 839 | __ireturn_type
> | ^~~~~~~~~~~~~~
> | __truth_type
> /usr/include/c++/11/bits/hashtable_policy.h:847:7: error: ‘iterator’ does not name a type
> 847 | iterator
> | ^~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:856:19: error: ‘iterator’ was not declared in this scope; did you mean ‘std::iterator’?
> 856 | std::pair<iterator, bool>
> | ^~~~~~~~
> | std::iterator
> In file included from /usr/include/c++/11/bits/stl_algobase.h:65,
> from /usr/include/c++/11/bits/char_traits.h:39,
> from /usr/include/c++/11/string:40,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/stl_iterator_base_types.h:127:12: note: ‘std::iterator’ declared here
> 127 | struct iterator
> | ^~~~~~~~
> In file included from /usr/include/c++/11/bits/hashtable.h:35,
> from /usr/include/c++/11/unordered_map:46,
> from ./core/file/dicom/element.h:20,
> from core/file/dicom/element.cpp:18:
> /usr/include/c++/11/bits/hashtable_policy.h:856:33: error: template argument 1 is invalid
> 856 | std::pair<iterator, bool>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:857:21: error: ‘const_iterator’ has not been declared
> 857 | try_emplace(const_iterator, _KType&& __k, _Args&&... __args)
> | ^~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:878:14: error: ‘initializer_list’ has not been declared
> 878 | insert(initializer_list<value_type> __l)
> | ^~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:878:30: error: expected ‘,’ or ‘...’ before ‘<’ token
> 878 | insert(initializer_list<value_type> __l)
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h: In member function ‘int std::__detail::_Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::try_emplace(int, _KType&&, _Args&& ...)’:
> /usr/include/c++/11/bits/hashtable_policy.h:859:11: error: ‘__hashtable’ was not declared in this scope; did you mean ‘_Hashtable’?
> 859 | __hashtable& __h = _M_conjure_hashtable();
> | ^~~~~~~~~~~
> | _Hashtable
> /usr/include/c++/11/bits/hashtable_policy.h:859:24: error: ‘__h’ was not declared in this scope; did you mean ‘__k’?
> 859 | __hashtable& __h = _M_conjure_hashtable();
> | ^~~
> | __k
> /usr/include/c++/11/bits/hashtable_policy.h:859:30: error: there are no arguments to ‘_M_conjure_hashtable’ that depend on a template parameter, so a declaration of ‘_M_conjure_hashtable’ must be available [-fpermissive]
> 859 | __hashtable& __h = _M_conjure_hashtable();
> | ^~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:863:22: error: there are no arguments to ‘iterator’ that depend on a template parameter, so a declaration of ‘iterator’ must be available [-fpermissive]
> 863 | return { iterator(__node), false };
> | ^~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:865:20: error: ‘__hashtable’ is not a class, namespace, or enumeration
> 865 | typename __hashtable::_Scoped_node __node {
> | ^~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:865:46: error: expected ‘(’ before ‘__node’
> 865 | typename __hashtable::_Scoped_node __node {
> | ^~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:872:56: error: ‘__node’ was not declared in this scope; did you mean ‘__not_’?
> 872 | = __h._M_insert_unique_node(__bkt, __code, __node._M_node);
> | ^~~~~~
> | __not_
> /usr/include/c++/11/bits/hashtable_policy.h:874:31: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘int’ in return
> 874 | return { __it, true };
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h: In member function ‘void std::__detail::_Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::insert(int)’:
> /usr/include/c++/11/bits/hashtable_policy.h:879:22: error: ‘__l’ was not declared in this scope; did you mean ‘__lg’?
> 879 | { this->insert(__l.begin(), __l.end()); }
> | ^~~
> | __lg
> /usr/include/c++/11/bits/hashtable_policy.h: In member function ‘void std::__detail::_Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::insert(_InputIterator, _InputIterator)’:
> /usr/include/c++/11/bits/hashtable_policy.h:885:11: error: ‘__hashtable’ was not declared in this scope; did you mean ‘_Hashtable’?
> 885 | __hashtable& __h = _M_conjure_hashtable();
> | ^~~~~~~~~~~
> | _Hashtable
> /usr/include/c++/11/bits/hashtable_policy.h:885:24: error: ‘__h’ was not declared in this scope
> 885 | __hashtable& __h = _M_conjure_hashtable();
> | ^~~
> /usr/include/c++/11/bits/hashtable_policy.h:885:30: error: there are no arguments to ‘_M_conjure_hashtable’ that depend on a template parameter, so a declaration of ‘_M_conjure_hashtable’ must be available [-fpermissive]
> 885 | __hashtable& __h = _M_conjure_hashtable();
> | ^~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:886:11: error: ‘__node_gen_type’ was not declared in this scope
> 886 | __node_gen_type __node_gen(__h);
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:887:51: error: ‘__node_gen’ was not declared in this scope; did you mean ‘__mode_t’?
> 887 | return _M_insert_range(__first, __last, __node_gen, __unique_keys{});
> | ^~~~~~~~~~
> | __mode_t
> /usr/include/c++/11/bits/hashtable_policy.h: At global scope:
> /usr/include/c++/11/bits/hashtable_policy.h:897:7: error: too many template-parameter-lists
> 897 | _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:914:7: error: too many template-parameter-lists
> 914 | _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:960:12: error: ‘_Insert’ is not a class template
> 960 | struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:962:48: error: redeclared with 10 template parameters
> 962 | _RehashPolicy, _Traits, true>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:953:12: note: previous declaration ‘template<class _Key, class _Value, class _Alloc, class _ExtractKey, class _Equal, class _Hash, class _RangeHash, class _Unused, class _RehashPolicy, class _Traits, bool _Constant_iterators> struct std::__detail::_Insert’ used 11 template parameters
> 953 | struct _Insert;
> | ^~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:963:26: error: expected template-name before ‘<’ token
> 963 | : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1004:12: error: ‘_Insert’ is not a class template
> 1004 | struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1005:77: error: redeclared with 10 template parameters
> 1005 | _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:953:12: note: previous declaration ‘template<class _Key, class _Value, class _Alloc, class _ExtractKey, class _Equal, class _Hash, class _RangeHash, class _Unused, class _RehashPolicy, class _Traits, bool _Constant_iterators> struct std::__detail::_Insert’ used 11 template parameters
> 953 | struct _Insert;
> | ^~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1006:26: error: expected template-name before ‘<’ token
> 1006 | : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1063:14: error: ‘__detected_or_t’ does not name a type
> 1063 | __detected_or_t<false_type, __has_load_factor, _RehashPolicy>>
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1063:29: error: expected ‘>’ before ‘<’ token
> 1063 | __detected_or_t<false_type, __has_load_factor, _RehashPolicy>>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1071:12: error: ‘_Rehash_base’ is not a class template
> 1071 | struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1073:25: error: ‘false_type’ was not declared in this scope
> 1073 | false_type /* Has load factor */>
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1073:25: note: suggested alternatives:
> In file included from /usr/include/c++/11/bits/move.h:57,
> from /usr/include/c++/11/bits/stl_pair.h:59,
> from /usr/include/c++/11/bits/stl_algobase.h:64,
> from /usr/include/c++/11/bits/char_traits.h:39,
> from /usr/include/c++/11/string:40,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/type_traits:86:9: note: ‘std::false_type’
> 86 | using false_type = integral_constant<bool, false>;
> | ^~~~~~~~~~
> In file included from /usr/include/eigen3/Eigen/Core:162,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/util/Meta.h:97:8: note: ‘Eigen::internal::false_type’
> 97 | struct false_type { enum { value = 0 }; };
> | ^~~~~~~~~~
> In file included from /usr/include/c++/11/bits/hashtable.h:35,
> from /usr/include/c++/11/unordered_map:46,
> from ./core/file/dicom/element.h:20,
> from core/file/dicom/element.cpp:18:
> /usr/include/c++/11/bits/hashtable_policy.h:1073:57: error: redeclared with 10 template parameters
> 1073 | false_type /* Has load factor */>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1064:12: note: previous declaration ‘template<class _Key, class _Value, class _Alloc, class _ExtractKey, class _Equal, class _Hash, class _RangeHash, class _Unused, class _RehashPolicy, class _Traits, class> struct std::__detail::_Rehash_base’ used 11 template parameters
> 1064 | struct _Rehash_base;
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1082:12: error: ‘_Rehash_base’ is not a class template
> 1082 | struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1084:25: error: ‘true_type’ was not declared in this scope
> 1084 | true_type /* Has load factor */>
> | ^~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1084:25: note: suggested alternatives:
> In file included from /usr/include/c++/11/bits/move.h:57,
> from /usr/include/c++/11/bits/stl_pair.h:59,
> from /usr/include/c++/11/bits/stl_algobase.h:64,
> from /usr/include/c++/11/bits/char_traits.h:39,
> from /usr/include/c++/11/string:40,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/type_traits:83:9: note: ‘std::true_type’
> 83 | using true_type = integral_constant<bool, true>;
> | ^~~~~~~~~
> In file included from /usr/include/eigen3/Eigen/Core:162,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/util/Meta.h:96:8: note: ‘Eigen::internal::true_type’
> 96 | struct true_type { enum { value = 1 }; };
> | ^~~~~~~~~
> In file included from /usr/include/c++/11/bits/hashtable.h:35,
> from /usr/include/c++/11/unordered_map:46,
> from ./core/file/dicom/element.h:20,
> from core/file/dicom/element.cpp:18:
> /usr/include/c++/11/bits/hashtable_policy.h:1084:56: error: redeclared with 10 template parameters
> 1084 | true_type /* Has load factor */>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1064:12: note: previous declaration ‘template<class _Key, class _Value, class _Alloc, class _ExtractKey, class _Equal, class _Hash, class _RangeHash, class _Unused, class _RehashPolicy, class _Traits, class> struct std::__detail::_Rehash_base’ used 11 template parameters
> 1064 | struct _Rehash_base;
> | ^~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1124:12: error: ‘_Hashtable_ebo_helper’ is not a class template
> 1124 | struct _Hashtable_ebo_helper<_Nm, _Tp, true>
> | ^~~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1124:48: error: redeclared with 2 template parameters
> 1124 | struct _Hashtable_ebo_helper<_Nm, _Tp, true>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1120:12: note: previous declaration ‘template<int _Nm, class _Tp, bool __use_ebo> struct std::__detail::_Hashtable_ebo_helper’ used 3 template parameters
> 1120 | struct _Hashtable_ebo_helper;
> | ^~~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1140:12: error: ‘_Hashtable_ebo_helper’ is not a class template
> 1140 | struct _Hashtable_ebo_helper<_Nm, _Tp, false>
> | ^~~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1140:49: error: redeclared with 2 template parameters
> 1140 | struct _Hashtable_ebo_helper<_Nm, _Tp, false>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1120:12: note: previous declaration ‘template<int _Nm, class _Tp, bool __use_ebo> struct std::__detail::_Hashtable_ebo_helper’ used 3 template parameters
> 1120 | struct _Hashtable_ebo_helper;
> | ^~~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1189:36: error: expected template-name before ‘<’ token
> 1189 | : private _Hashtable_ebo_helper<1, _Hash>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1189:36: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/hashtable_policy.h:1282:12: error: ‘_Local_iterator_base’ is not a class template
> 1282 | struct _Local_iterator_base<_Key, _Value, _ExtractKey,
> | ^~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1283:65: error: redeclared with 6 template parameters
> 1283 | _Hash, _RangeHash, _Unused, true>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1165:12: note: previous declaration ‘template<class _Key, class _Value, class _ExtractKey, class _Hash, class _RangeHash, class _Unused, bool __cache_hash_code> struct std::__detail::_Local_iterator_base’ used 7 template parameters
> 1165 | struct _Local_iterator_base;
> | ^~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1284:33: error: expected template-name before ‘<’ token
> 1284 | : public _Node_iterator_base<_Value, true>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1337:12: error: ‘_Hash_code_storage’ is not a class template
> 1337 | struct _Hash_code_storage<_Tp, true>
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1337:40: error: redeclared with 1 template parameter
> 1337 | struct _Hash_code_storage<_Tp, true>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1324:12: note: previous declaration ‘template<class _Tp, bool _IsEmpty> struct std::__detail::_Hash_code_storage’ used 2 template parameters
> 1324 | struct _Hash_code_storage
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1353:9: error: ‘_Hash_code_storage’ does not name a type
> 1353 | = _Hash_code_storage<_Hash_code_base<_Key, _Value, _ExtractKey,
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1359:12: error: ‘_Local_iterator_base’ is not a class template
> 1359 | struct _Local_iterator_base<_Key, _Value, _ExtractKey,
> | ^~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1360:66: error: redeclared with 6 template parameters
> 1360 | _Hash, _RangeHash, _Unused, false>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1165:12: note: previous declaration ‘template<class _Key, class _Value, class _ExtractKey, class _Hash, class _RangeHash, class _Unused, bool __cache_hash_code> struct std::__detail::_Local_iterator_base’ used 7 template parameters
> 1165 | struct _Local_iterator_base;
> | ^~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1361:33: error: expected template-name before ‘<’ token
> 1361 | : __hash_code_for_local_iter<_Key, _Value, _ExtractKey, _Hash, _RangeHash,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1438:34: error: expected template-name before ‘<’ token
> 1438 | : public _Local_iterator_base<_Key, _Value, _ExtractKey,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1438:34: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/hashtable_policy.h:1494:34: error: expected template-name before ‘<’ token
> 1494 | : public _Local_iterator_base<_Key, _Value, _ExtractKey,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1494:34: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/hashtable_policy.h:1562:29: error: expected template-name before ‘<’ token
> 1562 | : public _Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1562:29: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/hashtable_policy.h:1673:12: error: ‘_Equality’ is not a class template
> 1673 | struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1674:78: error: redeclared with 10 template parameters
> 1674 | _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1666:12: note: previous declaration ‘template<class _Key, class _Value, class _Alloc, class _ExtractKey, class _Equal, class _Hash, class _RangeHash, class _Unused, class _RehashPolicy, class _Traits, bool _Unique_keys> struct std::__detail::_Equality’ used 11 template parameters
> 1666 | struct _Equality;
> | ^~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1689:14: error: expected initializer before ‘<’ token
> 1689 | _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1725:12: error: ‘_Equality’ is not a class template
> 1725 | struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1726:79: error: redeclared with 10 template parameters
> 1726 | _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1666:12: note: previous declaration ‘template<class _Key, class _Value, class _Alloc, class _ExtractKey, class _Equal, class _Hash, class _RangeHash, class _Unused, class _RehashPolicy, class _Traits, bool _Unique_keys> struct std::__detail::_Equality’ used 11 template parameters
> 1666 | struct _Equality;
> | ^~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1741:14: error: expected initializer before ‘<’ token
> 1741 | _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1802:60: error: expected template-name before ‘<’ token
> 1802 | struct _Hashtable_alloc : private _Hashtable_ebo_helper<0, _NodeAlloc>
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1802:60: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/hashtable_policy.h:1870:7: error: too many template-parameter-lists
> 1870 | _Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&... __args)
> | ^~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable_policy.h:1892:21: error: expected initializer before ‘<’ token
> 1892 | _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_ptr __n)
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1900:21: error: expected initializer before ‘<’ token
> 1900 | _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node_ptr(__node_ptr __n)
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1910:21: error: expected initializer before ‘<’ token
> 1910 | _Hashtable_alloc<_NodeAlloc>::_M_deallocate_nodes(__node_ptr __n)
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1922:21: error: expected initializer before ‘<’ token
> 1922 | _Hashtable_alloc<_NodeAlloc>::_M_allocate_buckets(std::size_t __bkt_count)
> | ^
> /usr/include/c++/11/bits/hashtable_policy.h:1935:21: error: expected initializer before ‘<’ token
> 1935 | _Hashtable_alloc<_NodeAlloc>::
> | ^
> In file included from /usr/include/c++/11/bits/hashtable.h:36,
> from /usr/include/c++/11/unordered_map:46,
> from ./core/file/dicom/element.h:20,
> from core/file/dicom/element.cpp:18:
> /usr/include/c++/11/bits/enable_special_members.h:66:15: error: only declarations of constructors and conversion operators can be ‘explicit’
> 66 | constexpr explicit
> | ^~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:66:5: error: non-static data member ‘_Enable_default_constructor_tag’ declared ‘constexpr’
> 66 | constexpr explicit
> | ^~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:67:68: error: expected ‘;’ at end of member declaration
> 67 | _Enable_default_constructor(_Enable_default_constructor_tag) { }
> | ^
> | ;
> /usr/include/c++/11/bits/enable_special_members.h:101:40: error: expected template-name before ‘<’ token
> 101 | : private _Enable_default_constructor<_Default, _Tag>,
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:101:40: error: expected ‘{’ before ‘<’ token
> /usr/include/c++/11/bits/enable_special_members.h:111:10: error: ‘_Enable_default_constructor’ is not a class template
> 111 | struct _Enable_default_constructor<false, _Tag>
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:111:49: error: redeclared with 1 template parameter
> 111 | struct _Enable_default_constructor<false, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:53:10: note: previous declaration ‘template<bool _Switch, class _Tag> struct std::_Enable_default_constructor’ used 2 template parameters
> 53 | struct _Enable_default_constructor
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:129:10: error: ‘_Enable_destructor’ is not a class template
> 129 | struct _Enable_destructor<false, _Tag>
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:129:40: error: redeclared with 1 template parameter
> 129 | struct _Enable_destructor<false, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:77:10: note: previous declaration ‘template<bool _Switch, class _Tag> struct std::_Enable_destructor’ used 2 template parameters
> 77 | struct _Enable_destructor { };
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:133:10: error: ‘_Enable_copy_move’ is not a class template
> 133 | struct _Enable_copy_move<false, true, true, true, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:133:57: error: redeclared with 1 template parameter
> 133 | struct _Enable_copy_move<false, true, true, true, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:145:10: error: ‘_Enable_copy_move’ is not a class template
> 145 | struct _Enable_copy_move<true, false, true, true, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:145:57: error: redeclared with 1 template parameter
> 145 | struct _Enable_copy_move<true, false, true, true, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:157:10: error: ‘_Enable_copy_move’ is not a class template
> 157 | struct _Enable_copy_move<false, false, true, true, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:157:58: error: redeclared with 1 template parameter
> 157 | struct _Enable_copy_move<false, false, true, true, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:169:10: error: ‘_Enable_copy_move’ is not a class template
> 169 | struct _Enable_copy_move<true, true, false, true, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:169:57: error: redeclared with 1 template parameter
> 169 | struct _Enable_copy_move<true, true, false, true, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:181:10: error: ‘_Enable_copy_move’ is not a class template
> 181 | struct _Enable_copy_move<false, true, false, true, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:181:58: error: redeclared with 1 template parameter
> 181 | struct _Enable_copy_move<false, true, false, true, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:193:10: error: ‘_Enable_copy_move’ is not a class template
> 193 | struct _Enable_copy_move<true, false, false, true, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:193:58: error: redeclared with 1 template parameter
> 193 | struct _Enable_copy_move<true, false, false, true, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:205:10: error: ‘_Enable_copy_move’ is not a class template
> 205 | struct _Enable_copy_move<false, false, false, true, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:205:59: error: redeclared with 1 template parameter
> 205 | struct _Enable_copy_move<false, false, false, true, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:217:10: error: ‘_Enable_copy_move’ is not a class template
> 217 | struct _Enable_copy_move<true, true, true, false, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:217:57: error: redeclared with 1 template parameter
> 217 | struct _Enable_copy_move<true, true, true, false, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:229:10: error: ‘_Enable_copy_move’ is not a class template
> 229 | struct _Enable_copy_move<false, true, true, false, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:229:58: error: redeclared with 1 template parameter
> 229 | struct _Enable_copy_move<false, true, true, false, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:241:10: error: ‘_Enable_copy_move’ is not a class template
> 241 | struct _Enable_copy_move<true, false, true, false, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:241:58: error: redeclared with 1 template parameter
> 241 | struct _Enable_copy_move<true, false, true, false, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:253:10: error: ‘_Enable_copy_move’ is not a class template
> 253 | struct _Enable_copy_move<false, false, true, false, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:253:59: error: redeclared with 1 template parameter
> 253 | struct _Enable_copy_move<false, false, true, false, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:265:10: error: ‘_Enable_copy_move’ is not a class template
> 265 | struct _Enable_copy_move<true, true, false, false, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:265:58: error: redeclared with 1 template parameter
> 265 | struct _Enable_copy_move<true, true, false, false, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:277:10: error: ‘_Enable_copy_move’ is not a class template
> 277 | struct _Enable_copy_move<false, true, false, false, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:277:59: error: redeclared with 1 template parameter
> 277 | struct _Enable_copy_move<false, true, false, false, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:289:10: error: ‘_Enable_copy_move’ is not a class template
> 289 | struct _Enable_copy_move<true, false, false, false, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:289:59: error: redeclared with 1 template parameter
> 289 | struct _Enable_copy_move<true, false, false, false, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:301:10: error: ‘_Enable_copy_move’ is not a class template
> 301 | struct _Enable_copy_move<false, false, false, false, _Tag>
> | ^~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/enable_special_members.h:301:60: error: redeclared with 1 template parameter
> 301 | struct _Enable_copy_move<false, false, false, false, _Tag>
> | ^
> /usr/include/c++/11/bits/enable_special_members.h:87:10: note: previous declaration ‘template<bool _Copy, bool _CopyAssignment, bool _Move, bool _MoveAssignment, class _Tag> struct std::_Enable_copy_move’ used 5 template parameters
> 87 | struct _Enable_copy_move { };
> | ^~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/unordered_map:46,
> from ./core/file/dicom/element.h:20,
> from core/file/dicom/element.cpp:18:
> /usr/include/c++/11/bits/hashtable.h:48:10: error: ‘__not_’ does not name a type
> 48 | = __not_<__and_<// Do not cache for fast hasher.
> | ^~~~~~
> /usr/include/c++/11/bits/hashtable.h:58:9: error: ‘_Enable_default_constructor’ does not name a type
> 58 | = _Enable_default_constructor<__and_<is_default_constructible<_Equal>,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:60:79: error: expected unqualified-id before ‘,’ token
> 60 | is_default_constructible<_Allocator>>{},
> | ^
> /usr/include/c++/11/bits/hashtable.h:61:37: error: ‘__detail’ has not been declared
> 61 | __detail::_Hash_node_base>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:61:62: error: expected constructor, destructor, or type conversion before ‘>’ token
> 61 | __detail::_Hash_node_base>;
> | ^
> /usr/include/c++/11/bits/hashtable.h:181:14: error: ‘__detail’ has not been declared
> 181 | : public __detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal,
> | ^~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:181:24: error: expected ‘{’ before ‘_Hashtable_base’
> 181 | : public __detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal,
> | ^~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1107:15: error: expected initializer before ‘<’ token
> 1107 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1120:5: error: ‘_Hashtable’ does not name a type
> 1120 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1139:7: error: ‘_Hashtable’ does not name a type
> 1139 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1156:7: error: ‘_Hashtable’ does not name a type
> 1156 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1185:15: error: expected initializer before ‘<’ token
> 1185 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1238:7: error: too many template-parameter-lists
> 1238 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1289:7: error: too many template-parameter-lists
> 1289 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1337:15: error: expected initializer before ‘<’ token
> 1337 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1354:15: error: expected initializer before ‘<’ token
> 1354 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1388:15: error: expected initializer before ‘<’ token
> 1388 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1406:5: error: ‘_Hashtable’ does not name a type
> 1406 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1428:5: error: ‘_Hashtable’ does not name a type
> 1428 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1461:5: error: ‘_Hashtable’ does not name a type
> 1461 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1482:5: error: ‘_Hashtable’ does not name a type
> 1482 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1528:5: error: ‘_Hashtable’ does not name a type
> 1528 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1541:15: error: expected initializer before ‘<’ token
> 1541 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1588:15: error: expected initializer before ‘<’ token
> 1588 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1603:15: error: expected initializer before ‘<’ token
> 1603 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1652:15: error: expected initializer before ‘<’ token
> 1652 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1713:15: error: expected initializer before ‘<’ token
> 1713 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1740:15: error: expected initializer before ‘<’ token
> 1740 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1827:15: error: expected initializer before ‘<’ token
> 1827 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1857:7: error: too many template-parameter-lists
> 1857 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1886:15: error: expected initializer before ‘<’ token
> 1886 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1919:15: error: expected initializer before ‘<’ token
> 1919 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1943:15: error: expected initializer before ‘<’ token
> 1943 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:1960:7: error: too many template-parameter-lists
> 1960 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:1986:7: error: too many template-parameter-lists
> 1986 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:2008:15: error: expected initializer before ‘<’ token
> 2008 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:2038:15: error: expected initializer before ‘<’ token
> 2038 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:2095:7: error: too many template-parameter-lists
> 2095 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:2122:7: error: too many template-parameter-lists
> 2122 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/hashtable.h:2146:15: error: expected initializer before ‘<’ token
> 2146 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:2166:15: error: expected initializer before ‘<’ token
> 2166 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:2194:15: error: expected initializer before ‘<’ token
> 2194 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:2218:15: error: expected initializer before ‘<’ token
> 2218 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:2269:15: error: expected initializer before ‘<’ token
> 2269 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:2316:15: error: expected initializer before ‘<’ token
> 2316 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:2332:15: error: expected initializer before ‘<’ token
> 2332 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:2355:15: error: expected initializer before ‘<’ token
> 2355 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:2378:15: error: expected initializer before ‘<’ token
> 2378 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> /usr/include/c++/11/bits/hashtable.h:2421:15: error: expected initializer before ‘<’ token
> 2421 | _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
> | ^
> In file included from /usr/include/c++/11/unordered_map:47,
> from ./core/file/dicom/element.h:20,
> from core/file/dicom/element.cpp:18:
> /usr/include/c++/11/bits/unordered_map.h:40:27: error: ‘__detail’ does not name a type
> 40 | using __umap_traits = __detail::_Hashtable_traits<_Cache, false, true>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:44:29: error: ‘hash’ does not name a type
> 44 | typename _Hash = hash<_Key>,
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h:44:33: error: expected ‘>’ before ‘<’ token
> 44 | typename _Hash = hash<_Key>,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:48:30: error: ‘_Hashtable’ does not name a type
> 48 | using __umap_hashtable = _Hashtable<_Key, std::pair<const _Key, _Tp>,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:57:28: error: ‘__detail’ does not name a type
> 57 | using __ummap_traits = __detail::_Hashtable_traits<_Cache, false, false>;
> | ^~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:61:29: error: ‘hash’ does not name a type
> 61 | typename _Hash = hash<_Key>,
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h:61:33: error: expected ‘>’ before ‘<’ token
> 61 | typename _Hash = hash<_Key>,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:65:31: error: ‘_Hashtable’ does not name a type
> 65 | using __ummap_hashtable = _Hashtable<_Key, std::pair<const _Key, _Tp>,
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:99:29: error: ‘hash’ does not name a type
> 99 | typename _Hash = hash<_Key>,
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h:99:33: error: expected ‘>’ before ‘<’ token
> 99 | typename _Hash = hash<_Key>,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:104:15: error: ‘__umap_hashtable’ does not name a type
> 104 | typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
> | ^~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:105:7: error: ‘_Hashtable’ does not name a type
> 105 | _Hashtable _M_h;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:111:24: error: ‘_Hashtable’ has not been declared
> 111 | typedef typename _Hashtable::key_type key_type;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:112:24: error: ‘_Hashtable’ has not been declared
> 112 | typedef typename _Hashtable::value_type value_type;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:113:24: error: ‘_Hashtable’ has not been declared
> 113 | typedef typename _Hashtable::mapped_type mapped_type;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:114:24: error: ‘_Hashtable’ has not been declared
> 114 | typedef typename _Hashtable::hasher hasher;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:115:24: error: ‘_Hashtable’ has not been declared
> 115 | typedef typename _Hashtable::key_equal key_equal;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:116:24: error: ‘_Hashtable’ has not been declared
> 116 | typedef typename _Hashtable::allocator_type allocator_type;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:121:24: error: ‘_Hashtable’ has not been declared
> 121 | typedef typename _Hashtable::pointer pointer;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:122:24: error: ‘_Hashtable’ has not been declared
> 122 | typedef typename _Hashtable::const_pointer const_pointer;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:123:24: error: ‘_Hashtable’ has not been declared
> 123 | typedef typename _Hashtable::reference reference;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:124:24: error: ‘_Hashtable’ has not been declared
> 124 | typedef typename _Hashtable::const_reference const_reference;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:125:24: error: ‘_Hashtable’ has not been declared
> 125 | typedef typename _Hashtable::iterator iterator;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:126:24: error: ‘_Hashtable’ has not been declared
> 126 | typedef typename _Hashtable::const_iterator const_iterator;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:127:24: error: ‘_Hashtable’ has not been declared
> 127 | typedef typename _Hashtable::local_iterator local_iterator;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:128:24: error: ‘_Hashtable’ has not been declared
> 128 | typedef typename _Hashtable::const_local_iterator const_local_iterator;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:129:24: error: ‘_Hashtable’ has not been declared
> 129 | typedef typename _Hashtable::size_type size_type;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:130:24: error: ‘_Hashtable’ has not been declared
> 130 | typedef typename _Hashtable::difference_type difference_type;
> | ^~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:227:37: error: expected ‘)’ before ‘<’ token
> 227 | unordered_map(initializer_list<value_type> __l,
> | ~ ^
> | )
> /usr/include/c++/11/bits/unordered_map.h:258:37: error: expected ‘)’ before ‘<’ token
> 258 | unordered_map(initializer_list<value_type> __l,
> | ~ ^
> | )
> /usr/include/c++/11/bits/unordered_map.h:264:37: error: expected ‘)’ before ‘<’ token
> 264 | unordered_map(initializer_list<value_type> __l,
> | ~ ^
> | )
> /usr/include/c++/11/bits/unordered_map.h:290:17: error: ‘initializer_list’ has not been declared
> 290 | operator=(initializer_list<value_type> __l)
> | ^~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:290:33: error: expected ‘,’ or ‘...’ before ‘<’ token
> 290 | operator=(initializer_list<value_type> __l)
> | ^
> /usr/include/c++/11/bits/unordered_map.h:561:9: error: ‘__enable_if_t’ does not name a type
> 561 | __enable_if_t<is_constructible<value_type, _Pair&&>::value,
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:600:9: error: ‘__enable_if_t’ does not name a type
> 600 | __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:627:14: error: ‘initializer_list’ has not been declared
> 627 | insert(initializer_list<value_type> __l)
> | ^~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:627:30: error: expected ‘,’ or ‘...’ before ‘<’ token
> 627 | insert(initializer_list<value_type> __l)
> | ^
> /usr/include/c++/11/bits/unordered_map.h:745:7: error: ‘std::unordered_map<_Key, _Tp, _Hash>::iterator std::unordered_map<_Key, _Tp, _Hash>::erase(std::unordered_map<_Key, _Tp, _Hash>::iterator)’ cannot be overloaded with ‘std::unordered_map<_Key, _Tp, _Hash>::iterator std::unordered_map<_Key, _Tp, _Hash>::erase(std::unordered_map<_Key, _Tp, _Hash>::const_iterator)’
> 745 | erase(iterator __position)
> | ^~~~~
> /usr/include/c++/11/bits/unordered_map.h:740:7: note: previous declaration ‘std::unordered_map<_Key, _Tp, _Hash>::iterator std::unordered_map<_Key, _Tp, _Hash>::erase(std::unordered_map<_Key, _Tp, _Hash>::const_iterator)’
> 740 | erase(const_iterator __position)
> | ^~~~~
> /usr/include/c++/11/bits/unordered_map.h:1132:76: error: wrong number of template arguments (5, should be at least 2)
> 1132 | operator==(const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:102:11: note: provided for ‘template<class _Key, class _Tp, class _Hash> class std::unordered_map’
> 102 | class unordered_map
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:1133:76: error: wrong number of template arguments (5, should be at least 2)
> 1133 | const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&);
> | ^
> /usr/include/c++/11/bits/unordered_map.h:102:11: note: provided for ‘template<class _Key, class _Tp, class _Hash> class std::unordered_map’
> 102 | class unordered_map
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:1132:9: error: ‘bool Eigen::operator==(const int&, const int&)’ must have an argument of class or enumerated type
> 1132 | operator==(const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&,
> | ^~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:805:26: error: ‘_M_h’ was not declared in this scope
> 805 | noexcept( noexcept(_M_h.swap(__x._M_h)) )
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In constructor ‘std::unordered_map<_Key, _Tp, _Hash>::unordered_map(std::unordered_map<_Key, _Tp, _Hash>::size_type, const hasher&, const key_equal&, const allocator_type&)’:
> /usr/include/c++/11/bits/unordered_map.h:155:9: error: class ‘std::unordered_map<_Key, _Tp, _Hash>’ does not have any field named ‘_M_h’
> 155 | : _M_h(__n, __hf, __eql, __a)
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In constructor ‘std::unordered_map<_Key, _Tp, _Hash>::unordered_map(_InputIterator, _InputIterator, std::unordered_map<_Key, _Tp, _Hash>::size_type, const hasher&, const key_equal&, const allocator_type&)’:
> /usr/include/c++/11/bits/unordered_map.h:177:11: error: class ‘std::unordered_map<_Key, _Tp, _Hash>’ does not have any field named ‘_M_h’
> 177 | : _M_h(__first, __last, __n, __hf, __eql, __a)
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In constructor ‘std::unordered_map<_Key, _Tp, _Hash>::unordered_map(const allocator_type&)’:
> /usr/include/c++/11/bits/unordered_map.h:192:11: error: class ‘std::unordered_map<_Key, _Tp, _Hash>’ does not have any field named ‘_M_h’
> 192 | : _M_h(__a)
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In constructor ‘std::unordered_map<_Key, _Tp, _Hash>::unordered_map(const std::unordered_map<_Key, _Tp, _Hash>&, const allocator_type&)’:
> /usr/include/c++/11/bits/unordered_map.h:202:9: error: class ‘std::unordered_map<_Key, _Tp, _Hash>’ does not have any field named ‘_M_h’
> 202 | : _M_h(__umap._M_h, __a)
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In constructor ‘std::unordered_map<_Key, _Tp, _Hash>::unordered_map(std::unordered_map<_Key, _Tp, _Hash>&&, const allocator_type&)’:
> /usr/include/c++/11/bits/unordered_map.h:213:9: error: class ‘std::unordered_map<_Key, _Tp, _Hash>’ does not have any field named ‘_M_h’
> 213 | : _M_h(std::move(__umap._M_h), __a)
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>& std::unordered_map<_Key, _Tp, _Hash>::operator=(int)’:
> /usr/include/c++/11/bits/unordered_map.h:292:9: error: ‘_M_h’ was not declared in this scope
> 292 | _M_h = __l;
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h:292:16: error: ‘__l’ was not declared in this scope; did you mean ‘__lg’?
> 292 | _M_h = __l;
> | ^~~
> | __lg
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::allocator_type std::unordered_map<_Key, _Tp, _Hash>::get_allocator() const’:
> /usr/include/c++/11/bits/unordered_map.h:299:16: error: ‘_M_h’ was not declared in this scope
> 299 | { return _M_h.get_allocator(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘bool std::unordered_map<_Key, _Tp, _Hash>::empty() const’:
> /usr/include/c++/11/bits/unordered_map.h:306:16: error: ‘_M_h’ was not declared in this scope
> 306 | { return _M_h.empty(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::size_type std::unordered_map<_Key, _Tp, _Hash>::size() const’:
> /usr/include/c++/11/bits/unordered_map.h:311:16: error: ‘_M_h’ was not declared in this scope
> 311 | { return _M_h.size(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::size_type std::unordered_map<_Key, _Tp, _Hash>::max_size() const’:
> /usr/include/c++/11/bits/unordered_map.h:316:16: error: ‘_M_h’ was not declared in this scope
> 316 | { return _M_h.max_size(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::iterator std::unordered_map<_Key, _Tp, _Hash>::begin()’:
> /usr/include/c++/11/bits/unordered_map.h:326:16: error: ‘_M_h’ was not declared in this scope
> 326 | { return _M_h.begin(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::const_iterator std::unordered_map<_Key, _Tp, _Hash>::begin() const’:
> /usr/include/c++/11/bits/unordered_map.h:335:16: error: ‘_M_h’ was not declared in this scope
> 335 | { return _M_h.begin(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::const_iterator std::unordered_map<_Key, _Tp, _Hash>::cbegin() const’:
> /usr/include/c++/11/bits/unordered_map.h:339:16: error: ‘_M_h’ was not declared in this scope
> 339 | { return _M_h.begin(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::iterator std::unordered_map<_Key, _Tp, _Hash>::end()’:
> /usr/include/c++/11/bits/unordered_map.h:348:16: error: ‘_M_h’ was not declared in this scope
> 348 | { return _M_h.end(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::const_iterator std::unordered_map<_Key, _Tp, _Hash>::end() const’:
> /usr/include/c++/11/bits/unordered_map.h:357:16: error: ‘_M_h’ was not declared in this scope
> 357 | { return _M_h.end(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::const_iterator std::unordered_map<_Key, _Tp, _Hash>::cend() const’:
> /usr/include/c++/11/bits/unordered_map.h:361:16: error: ‘_M_h’ was not declared in this scope
> 361 | { return _M_h.end(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::pair<int, bool> std::unordered_map<_Key, _Tp, _Hash>::emplace(_Args&& ...)’:
> /usr/include/c++/11/bits/unordered_map.h:389:18: error: ‘_M_h’ was not declared in this scope
> 389 | { return _M_h.emplace(std::forward<_Args>(__args)...); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::iterator std::unordered_map<_Key, _Tp, _Hash>::emplace_hint(std::unordered_map<_Key, _Tp, _Hash>::const_iterator, _Args&& ...)’:
> /usr/include/c++/11/bits/unordered_map.h:420:18: error: ‘_M_h’ was not declared in this scope
> 420 | { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::pair<int, bool> std::unordered_map<_Key, _Tp, _Hash>::insert(const value_type&)’:
> /usr/include/c++/11/bits/unordered_map.h:552:16: error: ‘_M_h’ was not declared in this scope
> 552 | { return _M_h.insert(__x); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::pair<int, bool> std::unordered_map<_Key, _Tp, _Hash>::insert(std::unordered_map<_Key, _Tp, _Hash>::value_type&&)’:
> /usr/include/c++/11/bits/unordered_map.h:558:16: error: ‘_M_h’ was not declared in this scope
> 558 | { return _M_h.insert(std::move(__x)); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::iterator std::unordered_map<_Key, _Tp, _Hash>::insert(std::unordered_map<_Key, _Tp, _Hash>::const_iterator, const value_type&)’:
> /usr/include/c++/11/bits/unordered_map.h:591:16: error: ‘_M_h’ was not declared in this scope
> 591 | { return _M_h.insert(__hint, __x); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::iterator std::unordered_map<_Key, _Tp, _Hash>::insert(std::unordered_map<_Key, _Tp, _Hash>::const_iterator, std::unordered_map<_Key, _Tp, _Hash>::value_type&&)’:
> /usr/include/c++/11/bits/unordered_map.h:597:16: error: ‘_M_h’ was not declared in this scope
> 597 | { return _M_h.insert(__hint, std::move(__x)); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘void std::unordered_map<_Key, _Tp, _Hash>::insert(_InputIterator, _InputIterator)’:
> /usr/include/c++/11/bits/unordered_map.h:617:11: error: ‘_M_h’ was not declared in this scope
> 617 | { _M_h.insert(__first, __last); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘void std::unordered_map<_Key, _Tp, _Hash>::insert(int)’:
> /usr/include/c++/11/bits/unordered_map.h:628:9: error: ‘_M_h’ was not declared in this scope
> 628 | { _M_h.insert(__l); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h:628:21: error: ‘__l’ was not declared in this scope; did you mean ‘__lg’?
> 628 | { _M_h.insert(__l); }
> | ^~~
> | __lg
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::iterator std::unordered_map<_Key, _Tp, _Hash>::erase(std::unordered_map<_Key, _Tp, _Hash>::const_iterator)’:
> /usr/include/c++/11/bits/unordered_map.h:741:16: error: ‘_M_h’ was not declared in this scope
> 741 | { return _M_h.erase(__position); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::iterator std::unordered_map<_Key, _Tp, _Hash>::erase(std::unordered_map<_Key, _Tp, _Hash>::iterator)’:
> /usr/include/c++/11/bits/unordered_map.h:746:16: error: ‘_M_h’ was not declared in this scope
> 746 | { return _M_h.erase(__position); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::size_type std::unordered_map<_Key, _Tp, _Hash>::erase(const key_type&)’:
> /usr/include/c++/11/bits/unordered_map.h:763:16: error: ‘_M_h’ was not declared in this scope
> 763 | { return _M_h.erase(__x); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::iterator std::unordered_map<_Key, _Tp, _Hash>::erase(std::unordered_map<_Key, _Tp, _Hash>::const_iterator, std::unordered_map<_Key, _Tp, _Hash>::const_iterator)’:
> /usr/include/c++/11/bits/unordered_map.h:781:16: error: ‘_M_h’ was not declared in this scope
> 781 | { return _M_h.erase(__first, __last); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘void std::unordered_map<_Key, _Tp, _Hash>::clear()’:
> /usr/include/c++/11/bits/unordered_map.h:791:9: error: ‘_M_h’ was not declared in this scope
> 791 | { _M_h.clear(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘void std::unordered_map<_Key, _Tp, _Hash>::swap(std::unordered_map<_Key, _Tp, _Hash>&)’:
> /usr/include/c++/11/bits/unordered_map.h:806:9: error: ‘_M_h’ was not declared in this scope
> 806 | { _M_h.swap(__x._M_h); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::hasher std::unordered_map<_Key, _Tp, _Hash>::hash_function() const’:
> /usr/include/c++/11/bits/unordered_map.h:845:16: error: ‘_M_h’ was not declared in this scope
> 845 | { return _M_h.hash_function(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::key_equal std::unordered_map<_Key, _Tp, _Hash>::key_eq() const’:
> /usr/include/c++/11/bits/unordered_map.h:851:16: error: ‘_M_h’ was not declared in this scope
> 851 | { return _M_h.key_eq(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::iterator std::unordered_map<_Key, _Tp, _Hash>::find(const key_type&)’:
> /usr/include/c++/11/bits/unordered_map.h:869:16: error: ‘_M_h’ was not declared in this scope
> 869 | { return _M_h.find(__x); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::const_iterator std::unordered_map<_Key, _Tp, _Hash>::find(const key_type&) const’:
> /usr/include/c++/11/bits/unordered_map.h:880:16: error: ‘_M_h’ was not declared in this scope
> 880 | { return _M_h.find(__x); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::size_type std::unordered_map<_Key, _Tp, _Hash>::count(const key_type&) const’:
> /usr/include/c++/11/bits/unordered_map.h:902:16: error: ‘_M_h’ was not declared in this scope
> 902 | { return _M_h.count(__x); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::pair<int, int> std::unordered_map<_Key, _Tp, _Hash>::equal_range(const key_type&)’:
> /usr/include/c++/11/bits/unordered_map.h:942:16: error: ‘_M_h’ was not declared in this scope
> 942 | { return _M_h.equal_range(__x); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::pair<int, int> std::unordered_map<_Key, _Tp, _Hash>::equal_range(const key_type&) const’:
> /usr/include/c++/11/bits/unordered_map.h:954:16: error: ‘_M_h’ was not declared in this scope
> 954 | { return _M_h.equal_range(__x); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::mapped_type& std::unordered_map<_Key, _Tp, _Hash>::operator[](const key_type&)’:
> /usr/include/c++/11/bits/unordered_map.h:980:16: error: ‘_M_h’ was not declared in this scope
> 980 | { return _M_h[__k]; }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::mapped_type& std::unordered_map<_Key, _Tp, _Hash>::operator[](std::unordered_map<_Key, _Tp, _Hash>::key_type&&)’:
> /usr/include/c++/11/bits/unordered_map.h:984:16: error: ‘_M_h’ was not declared in this scope
> 984 | { return _M_h[std::move(__k)]; }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::mapped_type& std::unordered_map<_Key, _Tp, _Hash>::at(const key_type&)’:
> /usr/include/c++/11/bits/unordered_map.h:997:16: error: ‘_M_h’ was not declared in this scope
> 997 | { return _M_h.at(__k); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘const mapped_type& std::unordered_map<_Key, _Tp, _Hash>::at(const key_type&) const’:
> /usr/include/c++/11/bits/unordered_map.h:1001:16: error: ‘_M_h’ was not declared in this scope
> 1001 | { return _M_h.at(__k); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::size_type std::unordered_map<_Key, _Tp, _Hash>::bucket_count() const’:
> /usr/include/c++/11/bits/unordered_map.h:1009:16: error: ‘_M_h’ was not declared in this scope
> 1009 | { return _M_h.bucket_count(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::size_type std::unordered_map<_Key, _Tp, _Hash>::max_bucket_count() const’:
> /usr/include/c++/11/bits/unordered_map.h:1014:16: error: ‘_M_h’ was not declared in this scope
> 1014 | { return _M_h.max_bucket_count(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::size_type std::unordered_map<_Key, _Tp, _Hash>::bucket_size(std::unordered_map<_Key, _Tp, _Hash>::size_type) const’:
> /usr/include/c++/11/bits/unordered_map.h:1023:16: error: ‘_M_h’ was not declared in this scope
> 1023 | { return _M_h.bucket_size(__n); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::size_type std::unordered_map<_Key, _Tp, _Hash>::bucket(const key_type&) const’:
> /usr/include/c++/11/bits/unordered_map.h:1032:16: error: ‘_M_h’ was not declared in this scope
> 1032 | { return _M_h.bucket(__key); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::local_iterator std::unordered_map<_Key, _Tp, _Hash>::begin(std::unordered_map<_Key, _Tp, _Hash>::size_type)’:
> /usr/include/c++/11/bits/unordered_map.h:1042:16: error: ‘_M_h’ was not declared in this scope
> 1042 | { return _M_h.begin(__n); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::const_local_iterator std::unordered_map<_Key, _Tp, _Hash>::begin(std::unordered_map<_Key, _Tp, _Hash>::size_type) const’:
> /usr/include/c++/11/bits/unordered_map.h:1053:16: error: ‘_M_h’ was not declared in this scope
> 1053 | { return _M_h.begin(__n); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::const_local_iterator std::unordered_map<_Key, _Tp, _Hash>::cbegin(std::unordered_map<_Key, _Tp, _Hash>::size_type) const’:
> /usr/include/c++/11/bits/unordered_map.h:1057:16: error: ‘_M_h’ was not declared in this scope
> 1057 | { return _M_h.cbegin(__n); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::local_iterator std::unordered_map<_Key, _Tp, _Hash>::end(std::unordered_map<_Key, _Tp, _Hash>::size_type)’:
> /usr/include/c++/11/bits/unordered_map.h:1068:16: error: ‘_M_h’ was not declared in this scope
> 1068 | { return _M_h.end(__n); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::const_local_iterator std::unordered_map<_Key, _Tp, _Hash>::end(std::unordered_map<_Key, _Tp, _Hash>::size_type) const’:
> /usr/include/c++/11/bits/unordered_map.h:1079:16: error: ‘_M_h’ was not declared in this scope
> 1079 | { return _M_h.end(__n); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘std::unordered_map<_Key, _Tp, _Hash>::const_local_iterator std::unordered_map<_Key, _Tp, _Hash>::cend(std::unordered_map<_Key, _Tp, _Hash>::size_type) const’:
> /usr/include/c++/11/bits/unordered_map.h:1083:16: error: ‘_M_h’ was not declared in this scope
> 1083 | { return _M_h.cend(__n); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘float std::unordered_map<_Key, _Tp, _Hash>::load_factor() const’:
> /usr/include/c++/11/bits/unordered_map.h:1091:16: error: ‘_M_h’ was not declared in this scope
> 1091 | { return _M_h.load_factor(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘float std::unordered_map<_Key, _Tp, _Hash>::max_load_factor() const’:
> /usr/include/c++/11/bits/unordered_map.h:1097:16: error: ‘_M_h’ was not declared in this scope
> 1097 | { return _M_h.max_load_factor(); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘void std::unordered_map<_Key, _Tp, _Hash>::max_load_factor(float)’:
> /usr/include/c++/11/bits/unordered_map.h:1105:9: error: ‘_M_h’ was not declared in this scope
> 1105 | { _M_h.max_load_factor(__z); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘void std::unordered_map<_Key, _Tp, _Hash>::rehash(std::unordered_map<_Key, _Tp, _Hash>::size_type)’:
> /usr/include/c++/11/bits/unordered_map.h:1116:9: error: ‘_M_h’ was not declared in this scope
> 1116 | { _M_h.rehash(__n); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: In member function ‘void std::unordered_map<_Key, _Tp, _Hash>::reserve(std::unordered_map<_Key, _Tp, _Hash>::size_type)’:
> /usr/include/c++/11/bits/unordered_map.h:1127:9: error: ‘_M_h’ was not declared in this scope
> 1127 | { _M_h.reserve(__n); }
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h: At global scope:
> /usr/include/c++/11/bits/unordered_map.h:1242:29: error: ‘hash’ does not name a type
> 1242 | typename _Hash = hash<_Key>,
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h:1242:33: error: expected ‘>’ before ‘<’ token
> 1242 | typename _Hash = hash<_Key>,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:1245:11: error: redeclared with 3 template parameters
> 1245 | class unordered_multimap
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:73:11: note: previous declaration ‘template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> class std::unordered_multimap’ used 5 template parameters
> 73 | class unordered_multimap;
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:2120:5: error: variable or field ‘swap’ declared void
> 2120 | swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h:2120:10: error: ‘unordered_map’ was not declared in this scope; did you mean ‘std::unordered_map’?
> 2120 | swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~~~~~~~~~~~
> | std::unordered_map
> /usr/include/c++/11/bits/unordered_map.h:102:11: note: ‘std::unordered_map’ declared here
> 102 | class unordered_map
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:2120:28: error: expected primary-expression before ‘,’ token
> 2120 | swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2120:33: error: expected primary-expression before ‘,’ token
> 2120 | swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2120:40: error: expected primary-expression before ‘,’ token
> 2120 | swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2120:47: error: expected primary-expression before ‘,’ token
> 2120 | swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2120:55: error: expected primary-expression before ‘>’ token
> 2120 | swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2120:58: error: ‘__x’ was not declared in this scope
> 2120 | swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~
> /usr/include/c++/11/bits/unordered_map.h:2121:10: error: ‘unordered_map’ was not declared in this scope; did you mean ‘std::unordered_map’?
> 2121 | unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^~~~~~~~~~~~~
> | std::unordered_map
> /usr/include/c++/11/bits/unordered_map.h:102:11: note: ‘std::unordered_map’ declared here
> 102 | class unordered_map
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:2121:28: error: expected primary-expression before ‘,’ token
> 2121 | unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2121:33: error: expected primary-expression before ‘,’ token
> 2121 | unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2121:40: error: expected primary-expression before ‘,’ token
> 2121 | unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2121:47: error: expected primary-expression before ‘,’ token
> 2121 | unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2121:55: error: expected primary-expression before ‘>’ token
> 2121 | unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2121:58: error: ‘__y’ was not declared in this scope; did you mean ‘__yn’?
> 2121 | unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^~~
> | __yn
> /usr/include/c++/11/bits/unordered_map.h:2127:5: error: variable or field ‘swap’ declared void
> 2127 | swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~~
> /usr/include/c++/11/bits/unordered_map.h:2127:10: error: ‘unordered_multimap’ was not declared in this scope; did you mean ‘std::unordered_multimap’?
> 2127 | swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~~~~~~~~~~~~~~~~
> | std::unordered_multimap
> /usr/include/c++/11/bits/unordered_map.h:73:11: note: ‘std::unordered_multimap’ declared here
> 73 | class unordered_multimap;
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:2127:33: error: expected primary-expression before ‘,’ token
> 2127 | swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2127:38: error: expected primary-expression before ‘,’ token
> 2127 | swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2127:45: error: expected primary-expression before ‘,’ token
> 2127 | swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2127:52: error: expected primary-expression before ‘,’ token
> 2127 | swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2127:60: error: expected primary-expression before ‘>’ token
> 2127 | swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2127:63: error: ‘__x’ was not declared in this scope
> 2127 | swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~
> /usr/include/c++/11/bits/unordered_map.h:2128:10: error: ‘unordered_multimap’ was not declared in this scope; did you mean ‘std::unordered_multimap’?
> 2128 | unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^~~~~~~~~~~~~~~~~~
> | std::unordered_multimap
> /usr/include/c++/11/bits/unordered_map.h:73:11: note: ‘std::unordered_multimap’ declared here
> 73 | class unordered_multimap;
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:2128:33: error: expected primary-expression before ‘,’ token
> 2128 | unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2128:38: error: expected primary-expression before ‘,’ token
> 2128 | unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2128:45: error: expected primary-expression before ‘,’ token
> 2128 | unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2128:52: error: expected primary-expression before ‘,’ token
> 2128 | unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2128:60: error: expected primary-expression before ‘>’ token
> 2128 | unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2128:63: error: ‘__y’ was not declared in this scope; did you mean ‘__yn’?
> 2128 | unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
> | ^~~
> | __yn
> /usr/include/c++/11/bits/unordered_map.h:2134:22: error: ‘unordered_map’ does not name a type
> 2134 | operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:2134:35: error: expected ‘,’ or ‘...’ before ‘<’ token
> 2134 | operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2134:5: error: ‘bool Eigen::operator==(int)’ must have an argument of class or enumerated type
> 2134 | operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:2141:22: error: ‘unordered_map’ does not name a type
> 2141 | operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:2141:35: error: expected ‘,’ or ‘...’ before ‘<’ token
> 2141 | operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2141:5: error: ‘bool Eigen::operator!=(int)’ must have an argument of class or enumerated type
> 2141 | operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:2148:22: error: ‘unordered_multimap’ does not name a type
> 2148 | operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:2148:40: error: expected ‘,’ or ‘...’ before ‘<’ token
> 2148 | operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2148:5: error: ‘bool Eigen::operator==(int)’ must have an argument of class or enumerated type
> 2148 | operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:2155:22: error: ‘unordered_multimap’ does not name a type
> 2155 | operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~~~~~~~~~~~~~~~~
> /usr/include/c++/11/bits/unordered_map.h:2155:40: error: expected ‘,’ or ‘...’ before ‘<’ token
> 2155 | operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^
> /usr/include/c++/11/bits/unordered_map.h:2155:5: error: ‘bool Eigen::operator!=(int)’ must have an argument of class or enumerated type
> 2155 | operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
> | ^~~~~~~~
> In file included from ./core/file/dicom/element.h:23,
> from core/file/dicom/element.cpp:18:
> ./core/raw.h:88:38: error: ‘is_complex’ was not declared in this scope; did you mean ‘MR::is_complex’?
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^~~~~~~~~~
> | MR::is_complex
> In file included from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/types.h:242:37: note: ‘MR::is_complex’ declared here
> 242 | template <class ValueType> struct is_complex : std::false_type { NOMEMALIGN };
> | ^~~~~~~~~~
> In file included from ./core/file/dicom/element.h:23,
> from core/file/dicom/element.cpp:18:
> ./core/raw.h:88:58: error: template argument 1 is invalid
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^
> ./core/raw.h:88:59: error: expected identifier before ‘::’ token
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^~
> ./core/raw.h:88:61: error: declaration of ‘value’ not in a namespace surrounding ‘::’
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^~~~~
> ./core/raw.h:88:61: error: ‘value’ should have been declared inside ‘::’
> ./core/raw.h:88:7: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^~~~~~
> ./core/raw.h:88:59: warning: variable templates only available with ‘-std=c++14’ or ‘-std=gnu++14’
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^~
> ./core/raw.h:88:66: error: expected ‘;’ before ‘,’ token
> 88 | inline typename std::enable_if<is_complex<ValueType>::value, ValueType>::type swap (ValueType v) { return { swap (v.real()), swap (v.imag()) }; }
> | ^
> | ;
> ./core/raw.h: In function ‘ValueType Eigen::fetch_LE(const void*)’:
> ./core/raw.h:111:64: error: ‘ByteOrder’ has not been declared
> 111 | inline ValueType fetch_LE (const void* address) { return ByteOrder::LE (*as<ValueType> (address)); }
> | ^~~~~~~~~
> ./core/raw.h:111:80: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 111 | inline ValueType fetch_LE (const void* address) { return ByteOrder::LE (*as<ValueType> (address)); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:111:92: error: expected primary-expression before ‘>’ token
> 111 | inline ValueType fetch_LE (const void* address) { return ByteOrder::LE (*as<ValueType> (address)); }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch_BE(const void*)’:
> ./core/raw.h:114:64: error: ‘ByteOrder’ has not been declared
> 114 | inline ValueType fetch_BE (const void* address) { return ByteOrder::BE (*as<ValueType> (address)); }
> | ^~~~~~~~~
> ./core/raw.h:114:80: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 114 | inline ValueType fetch_BE (const void* address) { return ByteOrder::BE (*as<ValueType> (address)); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:114:92: error: expected primary-expression before ‘>’ token
> 114 | inline ValueType fetch_BE (const void* address) { return ByteOrder::BE (*as<ValueType> (address)); }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch_(const void*, bool)’:
> ./core/raw.h:117:105: error: ‘ByteOrder’ has not been declared
> 117 | inline ValueType fetch_ (const void* address, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (*as<ValueType>(address), is_big_endian); }
> | ^~~~~~~~~
> ./core/raw.h:117:123: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 117 | inline ValueType fetch_ (const void* address, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (*as<ValueType>(address), is_big_endian); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:117:135: error: expected primary-expression before ‘>’ token
> 117 | inline ValueType fetch_ (const void* address, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (*as<ValueType>(address), is_big_endian); }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch__native(const void*)’:
> ./core/raw.h:120:70: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 120 | inline ValueType fetch__native (const void* address) { return *as<ValueType>(address); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:120:82: error: expected primary-expression before ‘>’ token
> 120 | inline ValueType fetch__native (const void* address) { return *as<ValueType>(address); }
> | ^
> ./core/raw.h: In function ‘void Eigen::store_LE(ValueType, void*)’:
> ./core/raw.h:124:70: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 124 | inline void store_LE (const ValueType value, void* address) { *as<ValueType>(address) = ByteOrder::LE (value); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:124:82: error: expected primary-expression before ‘>’ token
> 124 | inline void store_LE (const ValueType value, void* address) { *as<ValueType>(address) = ByteOrder::LE (value); }
> | ^
> ./core/raw.h:124:95: error: ‘ByteOrder’ has not been declared
> 124 | inline void store_LE (const ValueType value, void* address) { *as<ValueType>(address) = ByteOrder::LE (value); }
> | ^~~~~~~~~
> ./core/raw.h: In function ‘void Eigen::store_BE(ValueType, void*)’:
> ./core/raw.h:127:70: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 127 | inline void store_BE (const ValueType value, void* address) { *as<ValueType>(address) = ByteOrder::BE (value); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:127:82: error: expected primary-expression before ‘>’ token
> 127 | inline void store_BE (const ValueType value, void* address) { *as<ValueType>(address) = ByteOrder::BE (value); }
> | ^
> ./core/raw.h:127:95: error: ‘ByteOrder’ has not been declared
> 127 | inline void store_BE (const ValueType value, void* address) { *as<ValueType>(address) = ByteOrder::BE (value); }
> | ^~~~~~~~~
> ./core/raw.h: In function ‘void Eigen::store(ValueType, void*, bool)’:
> ./core/raw.h:130:110: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 130 | inline void store (const ValueType value, void* address, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { *as<ValueType>(address) = ByteOrder::swap (value, is_big_endian); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:130:122: error: expected primary-expression before ‘>’ token
> 130 | inline void store (const ValueType value, void* address, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { *as<ValueType>(address) = ByteOrder::swap (value, is_big_endian); }
> | ^
> ./core/raw.h:130:135: error: ‘ByteOrder’ has not been declared
> 130 | inline void store (const ValueType value, void* address, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { *as<ValueType>(address) = ByteOrder::swap (value, is_big_endian); }
> | ^~~~~~~~~
> ./core/raw.h: In function ‘void Eigen::store_native(ValueType, void*)’:
> ./core/raw.h:133:74: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 133 | inline void store_native (const ValueType value, void* address) { *as<ValueType>(address) = value; }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:133:86: error: expected primary-expression before ‘>’ token
> 133 | inline void store_native (const ValueType value, void* address) { *as<ValueType>(address) = value; }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch_LE(const void*, std::size_t)’:
> ./core/raw.h:139:71: error: ‘ByteOrder’ has not been declared
> 139 | inline ValueType fetch_LE (const void* data, size_t i) { return ByteOrder::LE (as<ValueType>(data)[i]); }
> | ^~~~~~~~~
> ./core/raw.h:139:86: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 139 | inline ValueType fetch_LE (const void* data, size_t i) { return ByteOrder::LE (as<ValueType>(data)[i]); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:139:98: error: expected primary-expression before ‘>’ token
> 139 | inline ValueType fetch_LE (const void* data, size_t i) { return ByteOrder::LE (as<ValueType>(data)[i]); }
> | ^
> ./core/raw.h:139:107: error: ‘const void*’ is not a pointer-to-object type
> 139 | inline ValueType fetch_LE (const void* data, size_t i) { return ByteOrder::LE (as<ValueType>(data)[i]); }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch_BE(const void*, std::size_t)’:
> ./core/raw.h:143:71: error: ‘ByteOrder’ has not been declared
> 143 | inline ValueType fetch_BE (const void* data, size_t i) { return ByteOrder::BE (as<ValueType>(data)[i]); }
> | ^~~~~~~~~
> ./core/raw.h:143:86: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 143 | inline ValueType fetch_BE (const void* data, size_t i) { return ByteOrder::BE (as<ValueType>(data)[i]); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:143:98: error: expected primary-expression before ‘>’ token
> 143 | inline ValueType fetch_BE (const void* data, size_t i) { return ByteOrder::BE (as<ValueType>(data)[i]); }
> | ^
> ./core/raw.h:143:107: error: ‘const void*’ is not a pointer-to-object type
> 143 | inline ValueType fetch_BE (const void* data, size_t i) { return ByteOrder::BE (as<ValueType>(data)[i]); }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch(const void*, std::size_t, bool)’:
> ./core/raw.h:147:111: error: ‘ByteOrder’ has not been declared
> 147 | inline ValueType fetch (const void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (as<ValueType>(data)[i], is_big_endian); }
> | ^~~~~~~~~
> ./core/raw.h:147:128: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 147 | inline ValueType fetch (const void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (as<ValueType>(data)[i], is_big_endian); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:147:140: error: expected primary-expression before ‘>’ token
> 147 | inline ValueType fetch (const void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (as<ValueType>(data)[i], is_big_endian); }
> | ^
> ./core/raw.h:147:149: error: ‘const void*’ is not a pointer-to-object type
> 147 | inline ValueType fetch (const void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { return ByteOrder::swap (as<ValueType>(data)[i], is_big_endian); }
> | ^
> ./core/raw.h: In function ‘ValueType Eigen::fetch_native(const void*, std::size_t)’:
> ./core/raw.h:151:75: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 151 | inline ValueType fetch_native (const void* data, size_t i) { return as<ValueType>(data)[i]; }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:151:87: error: expected primary-expression before ‘>’ token
> 151 | inline ValueType fetch_native (const void* data, size_t i) { return as<ValueType>(data)[i]; }
> | ^
> ./core/raw.h:151:96: error: ‘const void*’ is not a pointer-to-object type
> 151 | inline ValueType fetch_native (const void* data, size_t i) { return as<ValueType>(data)[i]; }
> | ^
> ./core/raw.h: In function ‘void Eigen::store_LE(ValueType, void*, std::size_t)’:
> ./core/raw.h:157:76: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 157 | inline void store_LE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::LE (value); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:157:88: error: expected primary-expression before ‘>’ token
> 157 | inline void store_LE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::LE (value); }
> | ^
> ./core/raw.h:157:97: error: ‘void*’ is not a pointer-to-object type
> 157 | inline void store_LE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::LE (value); }
> | ^
> ./core/raw.h:157:101: error: ‘ByteOrder’ has not been declared
> 157 | inline void store_LE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::LE (value); }
> | ^~~~~~~~~
> ./core/raw.h: In function ‘void Eigen::store_BE(ValueType, void*, std::size_t)’:
> ./core/raw.h:161:76: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 161 | inline void store_BE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::BE (value); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:161:88: error: expected primary-expression before ‘>’ token
> 161 | inline void store_BE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::BE (value); }
> | ^
> ./core/raw.h:161:97: error: ‘void*’ is not a pointer-to-object type
> 161 | inline void store_BE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::BE (value); }
> | ^
> ./core/raw.h:161:101: error: ‘ByteOrder’ has not been declared
> 161 | inline void store_BE (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = ByteOrder::BE (value); }
> | ^~~~~~~~~
> ./core/raw.h: In function ‘void Eigen::store(ValueType, void*, std::size_t, bool)’:
> ./core/raw.h:165:116: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 165 | inline void store (const ValueType value, void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { as<ValueType>(data)[i] = ByteOrder::swap (value, is_big_endian); }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:165:128: error: expected primary-expression before ‘>’ token
> 165 | inline void store (const ValueType value, void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { as<ValueType>(data)[i] = ByteOrder::swap (value, is_big_endian); }
> | ^
> ./core/raw.h:165:137: error: ‘void*’ is not a pointer-to-object type
> 165 | inline void store (const ValueType value, void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { as<ValueType>(data)[i] = ByteOrder::swap (value, is_big_endian); }
> | ^
> ./core/raw.h:165:141: error: ‘ByteOrder’ has not been declared
> 165 | inline void store (const ValueType value, void* data, size_t i, bool is_big_endian = MRTRIX_IS_BIG_ENDIAN) { as<ValueType>(data)[i] = ByteOrder::swap (value, is_big_endian); }
> | ^~~~~~~~~
> ./core/raw.h: In function ‘void Eigen::store_native(ValueType, void*, std::size_t)’:
> ./core/raw.h:169:80: error: ‘as’ was not declared in this scope; did you mean ‘Eigen::as’?
> 169 | inline void store_native (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = value; }
> | ^~
> | Eigen::as
> ./core/raw.h:105:54: note: ‘Eigen::as’ declared here
> 105 | template <typename ValueType> const ValueType* as (const void* p) { return reinterpret_cast<const ValueType*> (p); }
> | ^~
> ./core/raw.h:169:92: error: expected primary-expression before ‘>’ token
> 169 | inline void store_native (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = value; }
> | ^
> ./core/raw.h:169:101: error: ‘void*’ is not a pointer-to-object type
> 169 | inline void store_native (const ValueType value, void* data, size_t i) { as<ValueType>(data)[i] = value; }
> | ^
> ./core/raw.h: At global scope:
> ./core/raw.h:176:31: error: expected initializer before ‘<’ token
> 176 | inline bool fetch_native<bool> (const void* data, size_t i) { return ( as<uint8_t>(data)[i/8]) & (BITMASK >> i%8 ); }
> | ^
> ./core/raw.h:179:31: error: expected initializer before ‘<’ token
> 179 | inline void store_native<bool> (const bool value, void* data, size_t i) {
> | ^
> ./core/raw.h:193:24: error: expected initializer before ‘<’ token
> 193 | inline bool fetch<bool> (const void* data, size_t i, bool) { return fetch_native<bool> (data, i); }
> | ^
> ./core/raw.h:196:24: error: expected initializer before ‘<’ token
> 196 | inline void store<bool> (const bool value, void* data, size_t i, bool) { store_native<bool> (value, data, i); }
> | ^
> In file included from ./core/file/mmap.h:25,
> from ./core/file/dicom/element.h:25,
> from core/file/dicom/element.cpp:18:
> ./core/file/entry.h:47:66: error: ‘Entry’ does not name a type
> 47 | inline std::ostream& operator<< (std::ostream& stream, const Entry& e)
> | ^~~~~
> ./core/file/entry.h: In function ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’:
> ./core/file/entry.h:49:41: error: request for member ‘name’ in ‘e’, which is of non-class type ‘const int’
> 49 | stream << "File::Entry { \"" << e.name << "\", offset " << e.start << " }";
> | ^~~~
> ./core/file/entry.h:49:68: error: request for member ‘start’ in ‘e’, which is of non-class type ‘const int’
> 49 | stream << "File::Entry { \"" << e.name << "\", offset " << e.start << " }";
> | ^~~~~
> In file included from ./core/file/dicom/element.h:25,
> from core/file/dicom/element.cpp:18:
> ./core/file/mmap.h: At global scope:
> ./core/file/mmap.h:32:34: error: expected class-name before ‘{’ token
> 32 | class MMap : protected Entry { NOMEMALIGN
> | ^
> ./core/file/mmap.h:55:21: error: ‘Entry’ does not name a type
> 55 | MMap (const Entry& entry, bool readwrite = false, bool preload = true, int64_t mapped_size = -1);
> | ^~~~~
> ./core/file/mmap.h: In member function ‘std::string MR::File::MMap::name() const’:
> ./core/file/mmap.h:59:18: error: ‘Entry’ has not been declared
> 59 | return Entry::name;
> | ^~~~~
> ./core/file/mmap.h: In function ‘std::ostream& Eigen::operator<<(std::ostream&, const MR::File::MMap&)’:
> ./core/file/mmap.h:77:57: error: ambiguous overload for ‘operator<<’ (operand types are ‘std::basic_ostream<char>’ and ‘const int’)
> 77 | stream << "File::MMap { " << m.name() << " [" << m.fd << "], size: "
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~ ~~~~
> | | |
> | | const int
> | std::basic_ostream<char>
> In file included from /usr/include/c++/11/iostream:39,
> from ./core/exception.h:21,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/ostream:166:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 166 | operator<<(long __n)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:170:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 170 | operator<<(unsigned long __n)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:174:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 174 | operator<<(bool __n)
> | ^~~~~~~~
> In file included from /usr/include/c++/11/ostream:829,
> from /usr/include/c++/11/iostream:39,
> from ./core/exception.h:21,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/ostream.tcc:91:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]’
> 91 | basic_ostream<_CharT, _Traits>::
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/iostream:39,
> from ./core/exception.h:21,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/ostream:181:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 181 | operator<<(unsigned short __n)
> | ^~~~~~~~
> In file included from /usr/include/c++/11/ostream:829,
> from /usr/include/c++/11/iostream:39,
> from ./core/exception.h:21,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/ostream.tcc:105:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]’
> 105 | basic_ostream<_CharT, _Traits>::
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/11/iostream:39,
> from ./core/exception.h:21,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/ostream:192:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 192 | operator<<(unsigned int __n)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:201:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 201 | operator<<(long long __n)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:205:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 205 | operator<<(unsigned long long __n)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:220:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 220 | operator<<(double __f)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:224:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 224 | operator<<(float __f)
> | ^~~~~~~~
> /usr/include/c++/11/ostream:232:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
> 232 | operator<<(long double __f)
> | ^~~~~~~~
> In file included from ./core/file/mmap.h:25,
> from ./core/file/dicom/element.h:25,
> from core/file/dicom/element.cpp:18:
> ./core/file/entry.h:47:26: note: candidate: ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’
> 47 | inline std::ostream& operator<< (std::ostream& stream, const Entry& e)
> | ^~~~~~~~
> In file included from ./core/file/dicom/element.h:25,
> from core/file/dicom/element.cpp:18:
> ./core/file/mmap.h:79:71: error: ‘const class MR::File::MMap’ has no member named ‘start’
> 79 | << " at " << (void*) m.address() << ", offset " << m.start << " }";
> | ^~~~~
> ./core/file/mmap.h: In copy constructor ‘MR::File::MMap::MMap(const MR::File::MMap&)’:
> ./core/file/mmap.h:94:35: error: class ‘MR::File::MMap’ does not have any field named ‘Entry’
> 94 | MMap (const MMap& mmap) : Entry (mmap), fd (0), addr (NULL), first (NULL), msize (0), mtime (0), readwrite (false) {
> | ^~~~~
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h: In constructor ‘MR::File::Dicom::Date::Date(const string&)’:
> ./core/file/dicom/element.h:45:22: error: ‘to’ was not declared in this scope; did you mean ‘Eigen::to’?
> 45 | year = to<uint32_t> (entry.substr (0, 4));
> | ^~
> | Eigen::to
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:260:31: note: ‘Eigen::to’ declared here
> 260 | template <class T> inline T to (const std::string& string)
> | ^~
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h:45:33: error: expected primary-expression before ‘>’ token
> 45 | year = to<uint32_t> (entry.substr (0, 4));
> | ^
> ./core/file/dicom/element.h:46:34: error: expected primary-expression before ‘>’ token
> 46 | month = to<uint32_t> (entry.substr (4, 2));
> | ^
> ./core/file/dicom/element.h:47:32: error: expected primary-expression before ‘>’ token
> 47 | day = to<uint32_t> (entry.substr (6, 2));
> | ^
> ./core/file/dicom/element.h:50:21: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 50 | throw Exception ("Error converting string \"" + entry + "\" to date");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h: At global scope:
> ./core/file/dicom/element.h:66:29: error: expected ‘)’ before ‘i’
> 66 | Time (default_type i)
> | ~ ^~
> | )
> ./core/file/dicom/element.h:78:20: error: expected type-specifier before ‘default_type’
> 78 | operator default_type() const { return (hour*3600.0 + minute*60 + second + fraction); }
> | ^~~~~~~~~~~~
> ./core/file/dicom/element.h:81:11: error: ‘default_type’ does not name a type
> 81 | default_type fraction;
> | ^~~~~~~~~~~~
> ./core/file/dicom/element.h: In constructor ‘MR::File::Dicom::Time::Time(const string&)’:
> ./core/file/dicom/element.h:60:21: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 60 | throw Exception ("field \"" + entry + "\" is too short to be interpreted as a time");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h:61:21: error: ‘to’ was not declared in this scope; did you mean ‘Eigen::to’?
> 61 | hour = to<uint32_t> (entry.substr (0, 2));
> | ^~
> | Eigen::to
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:260:31: note: ‘Eigen::to’ declared here
> 260 | template <class T> inline T to (const std::string& string)
> | ^~
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h:61:32: error: expected primary-expression before ‘>’ token
> 61 | hour = to<uint32_t> (entry.substr (0, 2));
> | ^
> ./core/file/dicom/element.h:62:33: error: expected primary-expression before ‘>’ token
> 62 | minute = to<uint32_t> (entry.substr (2, 2));
> | ^
> ./core/file/dicom/element.h:63:33: error: expected primary-expression before ‘>’ token
> 63 | second = to<uint32_t> (entry.substr (4, 2));
> | ^
> ./core/file/dicom/element.h:64:13: error: ‘fraction’ was not declared in this scope
> 64 | fraction = entry.size() > 6 ? to<default_type> (entry.substr (6)) : 0.0;
> | ^~~~~~~~
> ./core/file/dicom/element.h:64:46: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 64 | fraction = entry.size() > 6 ? to<default_type> (entry.substr (6)) : 0.0;
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h: In constructor ‘MR::File::Dicom::Time::Time()’:
> ./core/file/dicom/element.h:77:55: error: class ‘MR::File::Dicom::Time’ does not have any field named ‘fraction’
> 77 | Time () : hour (0), minute (0), second (0), fraction (0.0) { }
> | ^~~~~~~~
> ./core/file/dicom/element.h: In member function ‘MR::File::Dicom::Time MR::File::Dicom::Time::operator-(const MR::File::Dicom::Time&) const’:
> ./core/file/dicom/element.h:79:63: error: ‘default_type’ was not declared in this scope; did you mean ‘MR::default_type’?
> 79 | Time operator- (const Time& t) const { return Time (default_type (*this) - default_type (t)); }
> | ^~~~~~~~~~~~
> | MR::default_type
> In file included from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/types.h:228:9: note: ‘MR::default_type’ declared here
> 228 | using default_type = double;
> | ^~~~~~~~~~~~
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h: At global scope:
> ./core/file/dicom/element.h:106:11: error: ‘vector’ does not name a type
> 106 | vector<Sequence> parents;
> | ^~~~~~
> ./core/file/dicom/element.h:147:11: error: ‘vector’ does not name a type
> 147 | vector<int32_t> get_int () const;
> | ^~~~~~
> ./core/file/dicom/element.h:148:11: error: ‘vector’ does not name a type
> 148 | vector<uint32_t> get_uint () const;
> | ^~~~~~
> ./core/file/dicom/element.h:149:11: error: ‘vector’ does not name a type
> 149 | vector<default_type> get_float () const;
> | ^~~~~~
> ./core/file/dicom/element.h:150:11: error: ‘Date’ does not name a type
> 150 | Date get_date () const;
> | ^~~~
> ./core/file/dicom/element.h:151:11: error: ‘Time’ does not name a type
> 151 | Time get_time () const;
> | ^~~~
> ./core/file/dicom/element.h:152:11: error: ‘vector’ does not name a type
> 152 | vector<std::string> get_string () const;
> | ^~~~~~
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h:178:27: error: ‘File’ was not declared in this scope; did you mean ‘MR::File’?
> 178 | std::unique_ptr<File::MMap> fmap;
> | ^~~~
> | MR::File
> In file included from ./core/file/mmap.h:25,
> from ./core/file/dicom/element.h:25,
> from core/file/dicom/element.cpp:18:
> ./core/file/entry.h:26:13: note: ‘MR::File’ declared here
> 26 | namespace File
> | ^~~~
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h:178:37: error: template argument 1 is invalid
> 178 | std::unique_ptr<File::MMap> fmap;
> | ^
> ./core/file/dicom/element.h:178:37: error: template argument 2 is invalid
> ./core/file/dicom/element.h:186:11: error: ‘vector’ does not name a type
> 186 | vector<uint8_t*> end_seq;
> | ^~~~~~
> ./core/file/dicom/element.h:197:58: error: template argument 3 is invalid
> 197 | static std::unordered_map<uint32_t, const char*> dict;
> | ^
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h: In member function ‘std::string MR::File::Dicom::Element::tag_name() const’:
> ./core/file/dicom/element.h:119:22: error: request for member ‘empty’ in ‘MR::File::Dicom::Element::dict’, which is of non-class type ‘int’
> 119 | if (dict.empty()) init_dict();
> | ^~~~~
> ./core/file/dicom/element.h:120:33: error: invalid types ‘int[uint32_t {aka unsigned int}]’ for array subscript
> 120 | const char* s = dict[tag()];
> | ^
> ./core/file/dicom/element.h: In member function ‘std::size_t MR::File::Dicom::Element::offset(uint8_t*) const’:
> ./core/file/dicom/element.h:137:34: error: base operand of ‘->’ is not a pointer
> 137 | return address - fmap->address();
> | ^~
> ./core/file/dicom/element.h: In member function ‘int32_t MR::File::Dicom::Element::get_int(std::size_t, int32_t) const’:
> ./core/file/dicom/element.h:154:113: error: no matching function for call to ‘MR::File::Dicom::Element::get_int() const’
> 154 | int32_t get_int (size_t idx, int32_t default_value = 0) const { auto v (get_int()); return check_get (idx, v.size()) ? v[idx] : default_value; }
> | ~~~~~~~^~
> ./core/file/dicom/element.h:154:23: note: candidate: ‘int32_t MR::File::Dicom::Element::get_int(std::size_t, int32_t) const’
> 154 | int32_t get_int (size_t idx, int32_t default_value = 0) const { auto v (get_int()); return check_get (idx, v.size()) ? v[idx] : default_value; }
> | ^~~~~~~
> ./core/file/dicom/element.h:154:23: note: candidate expects 2 arguments, 0 provided
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h: In member function ‘uint32_t MR::File::Dicom::Element::get_uint(std::size_t, uint32_t) const’:
> ./core/file/dicom/element.h:155:114: error: no matching function for call to ‘MR::File::Dicom::Element::get_uint() const’
> 155 | uint32_t get_uint (size_t idx, uint32_t default_value = 0) const { auto v (get_uint()); return check_get (idx, v.size()) ? v[idx] : default_value; }
> | ~~~~~~~~^~
> ./core/file/dicom/element.h:155:23: note: candidate: ‘uint32_t MR::File::Dicom::Element::get_uint(std::size_t, uint32_t) const’
> 155 | uint32_t get_uint (size_t idx, uint32_t default_value = 0) const { auto v (get_uint()); return check_get (idx, v.size()) ? v[idx] : default_value; }
> | ^~~~~~~~
> ./core/file/dicom/element.h:155:23: note: candidate expects 2 arguments, 0 provided
> ./core/file/dicom/element.h: In member function ‘double MR::File::Dicom::Element::get_float(std::size_t, double) const’:
> ./core/file/dicom/element.h:156:115: error: no matching function for call to ‘MR::File::Dicom::Element::get_float() const’
> 156 | double get_float (size_t idx, double default_value = 0.0) const { auto v (get_float()); return check_get (idx, v.size()) ? v[idx] : default_value; }
> | ~~~~~~~~~^~
> ./core/file/dicom/element.h:156:23: note: candidate: ‘double MR::File::Dicom::Element::get_float(std::size_t, double) const’
> 156 | double get_float (size_t idx, double default_value = 0.0) const { auto v (get_float()); return check_get (idx, v.size()) ? v[idx] : default_value; }
> | ^~~~~~~~~
> ./core/file/dicom/element.h:156:23: note: candidate expects 2 arguments, 0 provided
> ./core/file/dicom/element.h: In member function ‘std::string MR::File::Dicom::Element::get_string(std::size_t, std::string) const’:
> ./core/file/dicom/element.h:157:116: error: no matching function for call to ‘MR::File::Dicom::Element::get_string() const’
> 157 | std::string get_string (size_t idx, std::string default_value = std::string()) const { auto v (get_string()); return check_get (idx, v.size()) ? v[idx] : default_value; }
> | ~~~~~~~~~~^~
> ./core/file/dicom/element.h:157:23: note: candidate: ‘std::string MR::File::Dicom::Element::get_string(std::size_t, std::string) const’
> 157 | std::string get_string (size_t idx, std::string default_value = std::string()) const { auto v (get_string()); return check_get (idx, v.size()) ? v[idx] : default_value; }
> | ^~~~~~~~~~
> ./core/file/dicom/element.h:157:23: note: candidate expects 2 arguments, 0 provided
> ./core/file/dicom/element.h: In member function ‘std::size_t MR::File::Dicom::Element::level() const’:
> ./core/file/dicom/element.h:161:42: error: ‘parents’ was not declared in this scope
> 161 | size_t level () const { return parents.size(); }
> | ^~~~~~~
> ./core/file/dicom/element.h: In member function ‘uint16_t MR::File::Dicom::Element::get_VR_from_tag_name(const string&)’:
> ./core/file/dicom/element.h:194:20: error: ‘ByteOrder’ has not been declared
> 194 | return ByteOrder::BE (d.i);
> | ^~~~~~~~~
> core/file/dicom/element.cpp: At global scope:
> core/file/dicom/element.cpp:27:61: error: ‘Date’ does not name a type
> 27 | std::ostream& operator<< (std::ostream& stream, const Date& item)
> | ^~~~
> core/file/dicom/element.cpp:27:21: error: redefinition of ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’
> 27 | std::ostream& operator<< (std::ostream& stream, const Date& item)
> | ^~~~~~~~
> In file included from ./core/file/mmap.h:25,
> from ./core/file/dicom/element.h:25,
> from core/file/dicom/element.cpp:18:
> ./core/file/entry.h:47:26: note: ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’ previously defined here
> 47 | inline std::ostream& operator<< (std::ostream& stream, const Entry& e)
> | ^~~~~~~~
> core/file/dicom/element.cpp: In function ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’:
> core/file/dicom/element.cpp:29:24: error: request for member ‘year’ in ‘item’, which is of non-class type ‘const int’
> 29 | stream << item.year << "/"
> | ^~~~
> core/file/dicom/element.cpp:30:24: error: ‘setfill’ is not a member of ‘std’; did you mean ‘fill’?
> 30 | << std::setfill('0') << std::setw(2) << item.month << "/"
> | ^~~~~~~
> | fill
> core/file/dicom/element.cpp:30:45: error: ‘setw’ is not a member of ‘std’
> 30 | << std::setfill('0') << std::setw(2) << item.month << "/"
> | ^~~~
> core/file/dicom/element.cpp:30:61: error: request for member ‘month’ in ‘item’, which is of non-class type ‘const int’
> 30 | << std::setfill('0') << std::setw(2) << item.month << "/"
> | ^~~~~
> core/file/dicom/element.cpp:31:24: error: ‘setfill’ is not a member of ‘std’; did you mean ‘fill’?
> 31 | << std::setfill('0') << std::setw(2) << item.day;
> | ^~~~~~~
> | fill
> core/file/dicom/element.cpp:31:45: error: ‘setw’ is not a member of ‘std’
> 31 | << std::setfill('0') << std::setw(2) << item.day;
> | ^~~~
> core/file/dicom/element.cpp:31:61: error: request for member ‘day’ in ‘item’, which is of non-class type ‘const int’
> 31 | << std::setfill('0') << std::setw(2) << item.day;
> | ^~~
> core/file/dicom/element.cpp: At global scope:
> core/file/dicom/element.cpp:39:61: error: ‘Time’ does not name a type
> 39 | std::ostream& operator<< (std::ostream& stream, const Time& item)
> | ^~~~
> core/file/dicom/element.cpp:39:21: error: redefinition of ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’
> 39 | std::ostream& operator<< (std::ostream& stream, const Time& item)
> | ^~~~~~~~
> In file included from ./core/file/mmap.h:25,
> from ./core/file/dicom/element.h:25,
> from core/file/dicom/element.cpp:18:
> ./core/file/entry.h:47:26: note: ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’ previously defined here
> 47 | inline std::ostream& operator<< (std::ostream& stream, const Entry& e)
> | ^~~~~~~~
> core/file/dicom/element.cpp: In function ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’:
> core/file/dicom/element.cpp:41:24: error: ‘setfill’ is not a member of ‘std’; did you mean ‘fill’?
> 41 | stream << std::setfill('0') << std::setw(2) << item.hour << ":"
> | ^~~~~~~
> | fill
> core/file/dicom/element.cpp:41:45: error: ‘setw’ is not a member of ‘std’
> 41 | stream << std::setfill('0') << std::setw(2) << item.hour << ":"
> | ^~~~
> core/file/dicom/element.cpp:41:61: error: request for member ‘hour’ in ‘item’, which is of non-class type ‘const int’
> 41 | stream << std::setfill('0') << std::setw(2) << item.hour << ":"
> | ^~~~
> core/file/dicom/element.cpp:42:24: error: ‘setfill’ is not a member of ‘std’; did you mean ‘fill’?
> 42 | << std::setfill('0') << std::setw(2) << item.minute << ":"
> | ^~~~~~~
> | fill
> core/file/dicom/element.cpp:42:45: error: ‘setw’ is not a member of ‘std’
> 42 | << std::setfill('0') << std::setw(2) << item.minute << ":"
> | ^~~~
> core/file/dicom/element.cpp:42:61: error: request for member ‘minute’ in ‘item’, which is of non-class type ‘const int’
> 42 | << std::setfill('0') << std::setw(2) << item.minute << ":"
> | ^~~~~~
> core/file/dicom/element.cpp:43:24: error: ‘setfill’ is not a member of ‘std’; did you mean ‘fill’?
> 43 | << std::setfill('0') << std::setw(2) << item.second;
> | ^~~~~~~
> | fill
> core/file/dicom/element.cpp:43:45: error: ‘setw’ is not a member of ‘std’
> 43 | << std::setfill('0') << std::setw(2) << item.second;
> | ^~~~
> core/file/dicom/element.cpp:43:61: error: request for member ‘second’ in ‘item’, which is of non-class type ‘const int’
> 43 | << std::setfill('0') << std::setw(2) << item.second;
> | ^~~~~~
> core/file/dicom/element.cpp:44:18: error: request for member ‘fraction’ in ‘item’, which is of non-class type ‘const int’
> 44 | if (item.fraction)
> | ^~~~~~~~
> core/file/dicom/element.cpp:45:30: error: request for member ‘fraction’ in ‘item’, which is of non-class type ‘const int’
> 45 | stream << str(item.fraction, 6).substr(1);
> | ^~~~~~~~
> core/file/dicom/element.cpp:45:21: error: ‘str’ was not declared in this scope; did you mean ‘Eigen::str’?
> 45 | stream << str(item.fraction, 6).substr(1);
> | ^~~
> | Eigen::str
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:247:41: note: ‘Eigen::str’ declared here
> 247 | template <class T> inline std::string str (const T& value, int precision = 0)
> | ^~~
> core/file/dicom/element.cpp: At global scope:
> core/file/dicom/element.cpp:53:19: error: ‘Element’ has not been declared
> 53 | const char* Element::type_as_str[] = { "invalid",
> | ^~~~~~~
> core/file/dicom/element.cpp:69:12: error: ‘Element’ has not been declared
> 69 | void Element::set (const std::string& filename, bool force_read, bool read_write)
> | ^~~~~~~
> core/file/dicom/element.cpp: In function ‘void Eigen::set(const string&, bool, bool)’:
> core/file/dicom/element.cpp:71:9: error: ‘group’ was not declared in this scope
> 71 | group = element = VR = 0;
> | ^~~~~
> core/file/dicom/element.cpp:71:17: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 71 | group = element = VR = 0;
> | ^~~~~~~
> | Element
> core/file/dicom/element.cpp:71:27: error: ‘VR’ was not declared in this scope; did you mean ‘MR’?
> 71 | group = element = VR = 0;
> | ^~
> | MR
> core/file/dicom/element.cpp:72:9: error: ‘size’ was not declared in this scope; did you mean ‘Eigen::internal::size’?
> 72 | size = 0;
> | ^~~~
> | Eigen::internal::size
> In file included from /usr/include/eigen3/Eigen/Core:162,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/util/Meta.h:482:23: note: ‘Eigen::internal::size’ declared here
> 482 | EIGEN_CONSTEXPR Index size(const T (&) [N]) { return N; }
> | ^~~~
> core/file/dicom/element.cpp:73:9: error: ‘start’ was not declared in this scope; did you mean ‘stat’?
> 73 | start = data = next = NULL;
> | ^~~~~
> | stat
> core/file/dicom/element.cpp:73:17: error: ‘data’ was not declared in this scope
> 73 | start = data = next = NULL;
> | ^~~~
> core/file/dicom/element.cpp:73:24: error: ‘next’ was not declared in this scope; did you mean ‘std::next’?
> 73 | start = data = next = NULL;
> | ^~~~
> | std::next
> In file included from /usr/include/c++/11/bits/stl_algobase.h:66,
> from /usr/include/c++/11/bits/char_traits.h:39,
> from /usr/include/c++/11/string:40,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/stl_iterator_base_funcs.h:213:5: note: ‘std::next’ declared here
> 213 | next(_InputIterator __x, typename
> | ^~~~
> core/file/dicom/element.cpp:74:9: error: ‘is_BE’ was not declared in this scope
> 74 | is_BE = is_transfer_syntax_BE = false;
> | ^~~~~
> core/file/dicom/element.cpp:74:17: error: ‘is_transfer_syntax_BE’ was not declared in this scope
> 74 | is_BE = is_transfer_syntax_BE = false;
> | ^~~~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:75:9: error: ‘transfer_syntax_supported’ was not declared in this scope
> 75 | transfer_syntax_supported = true;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:76:9: error: ‘parents’ was not declared in this scope
> 76 | parents.clear();
> | ^~~~~~~
> core/file/dicom/element.cpp:78:9: error: ‘fmap’ was not declared in this scope; did you mean ‘fmax’?
> 78 | fmap.reset (new File::MMap (filename, read_write));
> | ^~~~
> | fmax
> core/file/dicom/element.cpp:78:25: error: ‘File’ does not name a type
> 78 | fmap.reset (new File::MMap (filename, read_write));
> | ^~~~
> core/file/dicom/element.cpp:81:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 81 | throw Exception ("\"" + fmap->name() + "\" is too small to be a valid DICOM file");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> core/file/dicom/element.cpp:86:11: error: ‘is_explicit’ was not declared in this scope
> 86 | is_explicit = false;
> | ^~~~~~~~~~~
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:87:11: note: in expansion of macro ‘DEBUG’
> 87 | DEBUG ("DICOM magic number not found in file \"" + fmap->name() + "\" - trying truncated format");
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:89:18: error: ‘Path’ has not been declared
> 89 | if (!Path::has_suffix (fmap->name(), ".dcm"))
> | ^~~~
> core/file/dicom/element.cpp:90:21: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 90 | throw Exception ("file \"" + fmap->name() + "\" does not have the DICOM magic number or the .dcm extension - assuming not DICOM");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> core/file/dicom/element.cpp:94:15: error: ‘set_explicit_encoding’ was not declared in this scope
> 94 | try { set_explicit_encoding(); }
> | ^~~~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:95:16: error: ‘Exception’ does not name a type
> 95 | catch (Exception) {
> | ^~~~~~~~~
> core/file/dicom/element.cpp:96:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 96 | throw Exception ("\"" + fmap->name() + "\" is not a valid DICOM file");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> core/file/dicom/element.cpp: At global scope:
> core/file/dicom/element.cpp:106:12: error: ‘Element’ has not been declared
> 106 | void Element::set_explicit_encoding ()
> | ^~~~~~~
> core/file/dicom/element.cpp: In function ‘void Eigen::set_explicit_encoding()’:
> core/file/dicom/element.cpp:109:13: error: ‘read_GR_EL’ was not declared in this scope
> 109 | if (read_GR_EL())
> | ^~~~~~~~~~
> core/file/dicom/element.cpp:110:35: error: ‘fmap’ was not declared in this scope; did you mean ‘fmax’?
> 110 | throw Exception ("\"" + fmap->name() + "\" is too small to be DICOM");
> | ^~~~
> | fmax
> core/file/dicom/element.cpp:110:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 110 | throw Exception ("\"" + fmap->name() + "\" is too small to be DICOM");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> core/file/dicom/element.cpp:112:9: error: ‘is_explicit’ was not declared in this scope
> 112 | is_explicit = true;
> | ^~~~~~~~~~~
> core/file/dicom/element.cpp:113:9: error: ‘next’ was not declared in this scope; did you mean ‘std::next’?
> 113 | next = start;
> | ^~~~
> | std::next
> In file included from /usr/include/c++/11/bits/stl_algobase.h:66,
> from /usr/include/c++/11/bits/char_traits.h:39,
> from /usr/include/c++/11/string:40,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/stl_iterator_base_funcs.h:213:5: note: ‘std::next’ declared here
> 213 | next(_InputIterator __x, typename
> | ^~~~
> core/file/dicom/element.cpp:113:16: error: ‘start’ was not declared in this scope; did you mean ‘stat’?
> 113 | next = start;
> | ^~~~~
> | stat
> core/file/dicom/element.cpp:114:9: error: ‘VR’ was not declared in this scope; did you mean ‘MR’?
> 114 | VR = ByteOrder::BE (*reinterpret_cast<uint16_t*> (start+4));
> | ^~
> | MR
> core/file/dicom/element.cpp:114:14: error: ‘ByteOrder’ has not been declared
> 114 | VR = ByteOrder::BE (*reinterpret_cast<uint16_t*> (start+4));
> | ^~~~~~~~~
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:124:9: note: in expansion of macro ‘DEBUG’
> 124 | DEBUG ("using implicit DICOM encoding");
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp: At global scope:
> core/file/dicom/element.cpp:133:12: error: ‘Element’ has not been declared
> 133 | bool Element::read_GR_EL ()
> | ^~~~~~~
> core/file/dicom/element.cpp: In function ‘bool Eigen::read_GR_EL()’:
> core/file/dicom/element.cpp:135:9: error: ‘group’ was not declared in this scope
> 135 | group = element = VR = 0;
> | ^~~~~
> core/file/dicom/element.cpp:135:17: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 135 | group = element = VR = 0;
> | ^~~~~~~
> | Element
> core/file/dicom/element.cpp:135:27: error: ‘VR’ was not declared in this scope; did you mean ‘MR’?
> 135 | group = element = VR = 0;
> | ^~
> | MR
> core/file/dicom/element.cpp:136:9: error: ‘size’ was not declared in this scope; did you mean ‘Eigen::internal::size’?
> 136 | size = 0;
> | ^~~~
> | Eigen::internal::size
> In file included from /usr/include/eigen3/Eigen/Core:162,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/util/Meta.h:482:23: note: ‘Eigen::internal::size’ declared here
> 482 | EIGEN_CONSTEXPR Index size(const T (&) [N]) { return N; }
> | ^~~~
> core/file/dicom/element.cpp:137:9: error: ‘start’ was not declared in this scope; did you mean ‘stat’?
> 137 | start = next;
> | ^~~~~
> | stat
> core/file/dicom/element.cpp:137:17: error: ‘next’ was not declared in this scope; did you mean ‘std::next’?
> 137 | start = next;
> | ^~~~
> | std::next
> In file included from /usr/include/c++/11/bits/stl_algobase.h:66,
> from /usr/include/c++/11/bits/char_traits.h:39,
> from /usr/include/c++/11/string:40,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/stl_iterator_base_funcs.h:213:5: note: ‘std::next’ declared here
> 213 | next(_InputIterator __x, typename
> | ^~~~
> core/file/dicom/element.cpp:138:9: error: ‘data’ was not declared in this scope
> 138 | data = next = NULL;
> | ^~~~
> core/file/dicom/element.cpp:140:21: error: ‘fmap’ was not declared in this scope; did you mean ‘fmax’?
> 140 | if (start < fmap->address())
> | ^~~~
> | fmax
> core/file/dicom/element.cpp:141:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 141 | throw Exception ("invalid DICOM element");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> core/file/dicom/element.cpp:143:25: error: ‘fmap’ was not declared in this scope; did you mean ‘fmax’?
> 143 | if (start + 8 > fmap->address() + fmap->size())
> | ^~~~
> | fmax
> core/file/dicom/element.cpp:146:9: error: ‘is_BE’ was not declared in this scope
> 146 | is_BE = is_transfer_syntax_BE;
> | ^~~~~
> core/file/dicom/element.cpp:146:17: error: ‘is_transfer_syntax_BE’ was not declared in this scope
> 146 | is_BE = is_transfer_syntax_BE;
> | ^~~~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:148:17: error: ‘Raw’ has not been declared
> 148 | group = Raw::fetch_<uint16_t> (start, is_BE);
> | ^~~
> core/file/dicom/element.cpp:148:37: error: expected primary-expression before ‘>’ token
> 148 | group = Raw::fetch_<uint16_t> (start, is_BE);
> | ^
> core/file/dicom/element.cpp:152:58: error: ‘str’ was not declared in this scope; did you mean ‘Eigen::str’?
> 152 | throw Exception ("invalid DICOM group ID " + str (group) + " in file \"" + fmap->name() + "\"");
> | ^~~
> | Eigen::str
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:247:41: note: ‘Eigen::str’ declared here
> 247 | template <class T> inline std::string str (const T& value, int precision = 0)
> | ^~~
> core/file/dicom/element.cpp:152:88: error: ‘fmap’ was not declared in this scope; did you mean ‘fmax’?
> 152 | throw Exception ("invalid DICOM group ID " + str (group) + " in file \"" + fmap->name() + "\"");
> | ^~~~
> | fmax
> core/file/dicom/element.cpp:152:19: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 152 | throw Exception ("invalid DICOM group ID " + str (group) + " in file \"" + fmap->name() + "\"");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> core/file/dicom/element.cpp:157:19: error: ‘Raw’ has not been declared
> 157 | element = Raw::fetch_<uint16_t> (start+2, is_BE);
> | ^~~
> core/file/dicom/element.cpp:157:39: error: expected primary-expression before ‘>’ token
> 157 | element = Raw::fetch_<uint16_t> (start+2, is_BE);
> | ^
> core/file/dicom/element.cpp: At global scope:
> core/file/dicom/element.cpp:167:12: error: ‘Element’ has not been declared
> 167 | bool Element::read ()
> | ^~~~~~~
> core/file/dicom/element.cpp: In function ‘bool Eigen::read()’:
> core/file/dicom/element.cpp:169:13: error: ‘read_GR_EL’ was not declared in this scope; did you mean ‘Eigen::read_GR_EL’?
> 169 | if (read_GR_EL())
> | ^~~~~~~~~~
> | Eigen::read_GR_EL
> core/file/dicom/element.cpp:133:12: note: ‘Eigen::read_GR_EL’ declared here
> 133 | bool Element::read_GR_EL ()
> | ^~~~~~~
> core/file/dicom/element.cpp:172:9: error: ‘data’ was not declared in this scope
> 172 | data = start + 8;
> | ^~~~
> core/file/dicom/element.cpp:172:16: error: ‘start’ was not declared in this scope; did you mean ‘stat’?
> 172 | data = start + 8;
> | ^~~~~
> | stat
> core/file/dicom/element.cpp:173:14: error: ‘is_explicit’ was not declared in this scope
> 173 | if ((is_explicit && group != GROUP_SEQUENCE) || group == GROUP_BYTE_ORDER) {
> | ^~~~~~~~~~~
> core/file/dicom/element.cpp:173:29: error: ‘group’ was not declared in this scope
> 173 | if ((is_explicit && group != GROUP_SEQUENCE) || group == GROUP_BYTE_ORDER) {
> | ^~~~~
> core/file/dicom/element.cpp:176:11: error: ‘VR’ was not declared in this scope; did you mean ‘MR’?
> 176 | VR = ByteOrder::BE (*reinterpret_cast<uint16_t*> (start+4));
> | ^~
> | MR
> core/file/dicom/element.cpp:176:16: error: ‘ByteOrder’ has not been declared
> 176 | VR = ByteOrder::BE (*reinterpret_cast<uint16_t*> (start+4));
> | ^~~~~~~~~
> core/file/dicom/element.cpp:178:13: error: ‘size’ was not declared in this scope; did you mean ‘Eigen::internal::size’?
> 178 | size = Raw::fetch_<uint32_t> (start+8, is_BE);
> | ^~~~
> | Eigen::internal::size
> In file included from /usr/include/eigen3/Eigen/Core:162,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/util/Meta.h:482:23: note: ‘Eigen::internal::size’ declared here
> 482 | EIGEN_CONSTEXPR Index size(const T (&) [N]) { return N; }
> | ^~~~
> core/file/dicom/element.cpp:178:20: error: ‘Raw’ has not been declared
> 178 | size = Raw::fetch_<uint32_t> (start+8, is_BE);
> | ^~~
> core/file/dicom/element.cpp:178:40: error: expected primary-expression before ‘>’ token
> 178 | size = Raw::fetch_<uint32_t> (start+8, is_BE);
> | ^
> core/file/dicom/element.cpp:178:52: error: ‘is_BE’ was not declared in this scope
> 178 | size = Raw::fetch_<uint32_t> (start+8, is_BE);
> | ^~~~~
> core/file/dicom/element.cpp:181:16: error: ‘size’ was not declared in this scope; did you mean ‘Eigen::internal::size’?
> 181 | else size = Raw::fetch_<uint16_t> (start+6, is_BE);
> | ^~~~
> | Eigen::internal::size
> In file included from /usr/include/eigen3/Eigen/Core:162,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/util/Meta.h:482:23: note: ‘Eigen::internal::size’ declared here
> 482 | EIGEN_CONSTEXPR Index size(const T (&) [N]) { return N; }
> | ^~~~
> core/file/dicom/element.cpp:181:23: error: ‘Raw’ has not been declared
> 181 | else size = Raw::fetch_<uint16_t> (start+6, is_BE);
> | ^~~
> core/file/dicom/element.cpp:181:43: error: expected primary-expression before ‘>’ token
> 181 | else size = Raw::fetch_<uint16_t> (start+6, is_BE);
> | ^
> core/file/dicom/element.cpp:181:55: error: ‘is_BE’ was not declared in this scope
> 181 | else size = Raw::fetch_<uint16_t> (start+6, is_BE);
> | ^~~~~
> core/file/dicom/element.cpp:186:32: error: ‘tag_name’ was not declared in this scope; did you mean ‘tzname’?
> 186 | std::string name = tag_name();
> | ^~~~~~~~
> | tzname
> core/file/dicom/element.cpp:188:20: error: ‘get_VR_from_tag_name’ was not declared in this scope
> 188 | VR = get_VR_from_tag_name (name);
> | ^~~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:194:30: error: ‘tag_name’ was not declared in this scope; did you mean ‘tzname’?
> 194 | std::string name = tag_name();
> | ^~~~~~~~
> | tzname
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> core/file/dicom/element.cpp:197:63: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 197 | "with implicit encoding in file \"", group, element)
> | ^~~~~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> core/file/dicom/element.cpp:198:19: error: ‘fmap’ was not declared in this scope; did you mean ‘fmax’?
> 198 | + fmap->name() + "\"");
> | ^~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:196:13: note: in expansion of macro ‘DEBUG’
> 196 | DEBUG (printf ("WARNING: unknown DICOM tag (%04X %04X) "
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:199:13: error: ‘VR’ was not declared in this scope; did you mean ‘MR’?
> 199 | VR = VR_UN;
> | ^~
> | MR
> core/file/dicom/element.cpp:202:13: error: ‘VR’ was not declared in this scope; did you mean ‘MR’?
> 202 | VR = get_VR_from_tag_name (name);
> | ^~
> | MR
> core/file/dicom/element.cpp:202:18: error: ‘get_VR_from_tag_name’ was not declared in this scope
> 202 | VR = get_VR_from_tag_name (name);
> | ^~~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:203:11: error: ‘size’ was not declared in this scope; did you mean ‘Eigen::internal::size’?
> 203 | size = Raw::fetch_<uint32_t> (start+4, is_BE);
> | ^~~~
> | Eigen::internal::size
> In file included from /usr/include/eigen3/Eigen/Core:162,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/util/Meta.h:482:23: note: ‘Eigen::internal::size’ declared here
> 482 | EIGEN_CONSTEXPR Index size(const T (&) [N]) { return N; }
> | ^~~~
> core/file/dicom/element.cpp:203:18: error: ‘Raw’ has not been declared
> 203 | size = Raw::fetch_<uint32_t> (start+4, is_BE);
> | ^~~
> core/file/dicom/element.cpp:203:38: error: expected primary-expression before ‘>’ token
> 203 | size = Raw::fetch_<uint32_t> (start+4, is_BE);
> | ^
> core/file/dicom/element.cpp:203:50: error: ‘is_BE’ was not declared in this scope
> 203 | size = Raw::fetch_<uint32_t> (start+4, is_BE);
> | ^~~~~
> core/file/dicom/element.cpp:206:9: error: ‘next’ was not declared in this scope; did you mean ‘std::next’?
> 206 | next = data;
> | ^~~~
> | std::next
> In file included from /usr/include/c++/11/bits/stl_algobase.h:66,
> from /usr/include/c++/11/bits/char_traits.h:39,
> from /usr/include/c++/11/string:40,
> from ./core/file/path.h:23,
> from core/file/dicom/element.cpp:17:
> /usr/include/c++/11/bits/stl_iterator_base_funcs.h:213:5: note: ‘std::next’ declared here
> 213 | next(_InputIterator __x, typename
> | ^~~~
> core/file/dicom/element.cpp:208:13: error: ‘size’ was not declared in this scope; did you mean ‘Eigen::internal::size’?
> 208 | if (size == LENGTH_UNDEFINED) {
> | ^~~~
> | Eigen::internal::size
> In file included from /usr/include/eigen3/Eigen/Core:162,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/util/Meta.h:482:23: note: ‘Eigen::internal::size’ declared here
> 482 | EIGEN_CONSTEXPR Index size(const T (&) [N]) { return N; }
> | ^~~~
> core/file/dicom/element.cpp:209:15: error: ‘VR’ was not declared in this scope; did you mean ‘MR’?
> 209 | if (VR != VR_SQ && !(group == GROUP_SEQUENCE && element == ELEMENT_SEQUENCE_ITEM))
> | ^~
> | MR
> core/file/dicom/element.cpp:209:32: error: ‘group’ was not declared in this scope
> 209 | if (VR != VR_SQ && !(group == GROUP_SEQUENCE && element == ELEMENT_SEQUENCE_ITEM))
> | ^~~~~
> core/file/dicom/element.cpp:209:59: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 209 | if (VR != VR_SQ && !(group == GROUP_SEQUENCE && element == ELEMENT_SEQUENCE_ITEM))
> | ^~~~~~~
> | Element
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> core/file/dicom/element.cpp:210:62: error: ‘tag_name’ was not declared in this scope; did you mean ‘tzname’?
> 210 | INFO ("undefined length used for DICOM tag " + ( tag_name().size() ? tag_name().substr (2) : "" )
> | ^~~~~~~~
> ./core/exception.h:74:69: note: in definition of macro ‘INFO’
> 74 | #define INFO(msg) if (MR::App::log_level >= 2) report_to_user_func (msg, 2)
> | ^~~
> core/file/dicom/element.cpp:211:76: error: ‘fmap’ was not declared in this scope; did you mean ‘fmax’?
> 211 | + MR::printf ("(%04X, %04X) in file \"", group, element) + fmap->name() + "\"");
> | ^~~~
> ./core/exception.h:74:69: note: in definition of macro ‘INFO’
> 74 | #define INFO(msg) if (MR::App::log_level >= 2) report_to_user_func (msg, 2)
> | ^~~
> ./core/exception.h:74:48: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 74 | #define INFO(msg) if (MR::App::log_level >= 2) report_to_user_func (msg, 2)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:210:13: note: in expansion of macro ‘INFO’
> 210 | INFO ("undefined length used for DICOM tag " + ( tag_name().size() ? tag_name().substr (2) : "" )
> | ^~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:213:30: error: ‘fmap’ was not declared in this scope; did you mean ‘fmax’?
> 213 | else if (next+size > fmap->address() + fmap->size())
> | ^~~~
> | fmax
> core/file/dicom/element.cpp:214:17: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 214 | throw Exception ("file \"" + fmap->name() + "\" is too small to contain DICOM elements specified");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> core/file/dicom/element.cpp:217:46: error: ‘str’ was not declared in this scope; did you mean ‘Eigen::str’?
> 217 | DEBUG ("WARNING: odd length (" + str (size) + ") used for DICOM tag " + ( tag_name().size() ? tag_name().substr (2) : "" )
> | ^~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:247:41: note: ‘Eigen::str’ declared here
> 247 | template <class T> inline std::string str (const T& value, int precision = 0)
> | ^~~
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> core/file/dicom/element.cpp:217:87: error: ‘tag_name’ was not declared in this scope; did you mean ‘tzname’?
> 217 | DEBUG ("WARNING: odd length (" + str (size) + ") used for DICOM tag " + ( tag_name().size() ? tag_name().substr (2) : "" )
> | ^~~~~~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> core/file/dicom/element.cpp:218:31: error: ‘group’ was not declared in this scope
> 218 | + " (" + str (group) + ", " + str (element) + ") in file \"" + fmap->name() + "");
> | ^~~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> core/file/dicom/element.cpp:218:52: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 218 | + " (" + str (group) + ", " + str (element) + ") in file \"" + fmap->name() + "");
> | ^~~~~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:217:13: note: in expansion of macro ‘DEBUG’
> 217 | DEBUG ("WARNING: odd length (" + str (size) + ") used for DICOM tag " + ( tag_name().size() ? tag_name().substr (2) : "" )
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:219:15: error: ‘VR’ was not declared in this scope; did you mean ‘MR’?
> 219 | if (VR != VR_SQ) {
> | ^~
> | MR
> core/file/dicom/element.cpp:220:17: error: ‘group’ was not declared in this scope
> 220 | if (group == GROUP_SEQUENCE && element == ELEMENT_SEQUENCE_ITEM) {
> | ^~~~~
> core/file/dicom/element.cpp:220:44: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 220 | if (group == GROUP_SEQUENCE && element == ELEMENT_SEQUENCE_ITEM) {
> | ^~~~~~~
> | Element
> core/file/dicom/element.cpp:221:19: error: ‘parents’ was not declared in this scope
> 221 | if (parents.size() && parents.back().group == GROUP_DATA && parents.back().element == ELEMENT_DATA)
> | ^~~~~~~
> core/file/dicom/element.cpp:231:13: error: ‘parents’ was not declared in this scope
> 231 | if (parents.size())
> | ^~~~~~~
> core/file/dicom/element.cpp:233:16: error: ‘group’ was not declared in this scope
> 233 | (group == GROUP_SEQUENCE && element == ELEMENT_SEQUENCE_DELIMITATION_ITEM))
> | ^~~~~
> core/file/dicom/element.cpp:233:43: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 233 | (group == GROUP_SEQUENCE && element == ELEMENT_SEQUENCE_DELIMITATION_ITEM))
> | ^~~~~~~
> | Element
> core/file/dicom/element.cpp:236:13: error: ‘is_new_sequence’ was not declared in this scope
> 236 | if (is_new_sequence()) {
> | ^~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:237:15: error: ‘size’ was not declared in this scope; did you mean ‘Eigen::internal::size’?
> 237 | if (size == LENGTH_UNDEFINED)
> | ^~~~
> | Eigen::internal::size
> In file included from /usr/include/eigen3/Eigen/Core:162,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/util/Meta.h:482:23: note: ‘Eigen::internal::size’ declared here
> 482 | EIGEN_CONSTEXPR Index size(const T (&) [N]) { return N; }
> | ^~~~
> core/file/dicom/element.cpp:238:13: error: ‘parents’ was not declared in this scope
> 238 | parents.push_back (Sequence (group, element, nullptr));
> | ^~~~~~~
> core/file/dicom/element.cpp:238:42: error: ‘group’ was not declared in this scope
> 238 | parents.push_back (Sequence (group, element, nullptr));
> | ^~~~~
> core/file/dicom/element.cpp:238:49: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 238 | parents.push_back (Sequence (group, element, nullptr));
> | ^~~~~~~
> | Element
> core/file/dicom/element.cpp:238:32: error: ‘Sequence’ was not declared in this scope; did you mean ‘MR::File::Dicom::Sequence’?
> 238 | parents.push_back (Sequence (group, element, nullptr));
> | ^~~~~~~~
> | MR::File::Dicom::Sequence
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h:33:13: note: ‘MR::File::Dicom::Sequence’ declared here
> 33 | class Sequence { NOMEMALIGN
> | ^~~~~~~~
> core/file/dicom/element.cpp:240:13: error: ‘parents’ was not declared in this scope
> 240 | parents.push_back (Sequence (group, element, data + size));
> | ^~~~~~~
> core/file/dicom/element.cpp:240:42: error: ‘group’ was not declared in this scope
> 240 | parents.push_back (Sequence (group, element, data + size));
> | ^~~~~
> core/file/dicom/element.cpp:240:49: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 240 | parents.push_back (Sequence (group, element, data + size));
> | ^~~~~~~
> | Element
> core/file/dicom/element.cpp:240:32: error: ‘Sequence’ was not declared in this scope; did you mean ‘MR::File::Dicom::Sequence’?
> 240 | parents.push_back (Sequence (group, element, data + size));
> | ^~~~~~~~
> | MR::File::Dicom::Sequence
> In file included from core/file/dicom/element.cpp:18:
> ./core/file/dicom/element.h:33:13: note: ‘MR::File::Dicom::Sequence’ declared here
> 33 | class Sequence { NOMEMALIGN
> | ^~~~~~~~
> core/file/dicom/element.cpp:246:17: error: ‘group’ was not declared in this scope
> 246 | switch (group) {
> | ^~~~~
> core/file/dicom/element.cpp:248:21: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 248 | switch (element) {
> | ^~~~~~~
> | Element
> core/file/dicom/element.cpp:250:91: error: ‘size’ was not declared in this scope; did you mean ‘Eigen::internal::size’?
> 250 | if (strncmp (reinterpret_cast<const char*> (data), "1.2.840.10008.1.2.1", size) == 0) {
> | ^~~~
> | Eigen::internal::size
> In file included from /usr/include/eigen3/Eigen/Core:162,
> from /usr/include/eigen3/Eigen/Geometry:11,
> from ./core/types.h:78,
> from ./core/exception.h:24,
> from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> /usr/include/eigen3/Eigen/src/Core/util/Meta.h:482:23: note: ‘Eigen::internal::size’ declared here
> 482 | EIGEN_CONSTEXPR Index size(const T (&) [N]) { return N; }
> | ^~~~
> core/file/dicom/element.cpp:251:19: error: ‘is_BE’ was not declared in this scope
> 251 | is_BE = is_transfer_syntax_BE = false; // explicit VR Little Endian
> | ^~~~~
> core/file/dicom/element.cpp:251:27: error: ‘is_transfer_syntax_BE’ was not declared in this scope
> 251 | is_BE = is_transfer_syntax_BE = false; // explicit VR Little Endian
> | ^~~~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:252:19: error: ‘is_explicit’ was not declared in this scope
> 252 | is_explicit = true;
> | ^~~~~~~~~~~
> core/file/dicom/element.cpp:255:19: error: ‘is_BE’ was not declared in this scope
> 255 | is_BE = is_transfer_syntax_BE = true; // Explicit VR Big Endian
> | ^~~~~
> core/file/dicom/element.cpp:255:27: error: ‘is_transfer_syntax_BE’ was not declared in this scope
> 255 | is_BE = is_transfer_syntax_BE = true; // Explicit VR Big Endian
> | ^~~~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:256:19: error: ‘is_explicit’ was not declared in this scope
> 256 | is_explicit = true;
> | ^~~~~~~~~~~
> core/file/dicom/element.cpp:259:19: error: ‘is_BE’ was not declared in this scope
> 259 | is_BE = is_transfer_syntax_BE = false; // Implicit VR Little Endian
> | ^~~~~
> core/file/dicom/element.cpp:259:27: error: ‘is_transfer_syntax_BE’ was not declared in this scope
> 259 | is_BE = is_transfer_syntax_BE = false; // Implicit VR Little Endian
> | ^~~~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:260:19: error: ‘is_explicit’ was not declared in this scope
> 260 | is_explicit = false;
> | ^~~~~~~~~~~
> core/file/dicom/element.cpp:263:25: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 263 | throw Exception ("DICOM deflated explicit VR little endian transfer syntax not supported");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> core/file/dicom/element.cpp:266:19: error: ‘transfer_syntax_supported’ was not declared in this scope
> 266 | transfer_syntax_supported = false;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> core/file/dicom/element.cpp:268:41: error: ‘fmap’ was not declared in this scope; did you mean ‘fmax’?
> 268 | + "\" in file \"" + fmap->name() + "\"");
> | ^~~~
> ./core/exception.h:74:69: note: in definition of macro ‘INFO’
> 74 | #define INFO(msg) if (MR::App::log_level >= 2) report_to_user_func (msg, 2)
> | ^~~
> ./core/exception.h:74:48: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 74 | #define INFO(msg) if (MR::App::log_level >= 2) report_to_user_func (msg, 2)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:267:19: note: in expansion of macro ‘INFO’
> 267 | INFO ("unsupported DICOM transfer syntax: \"" + std::string (reinterpret_cast<const char*> (data), size)
> | ^~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp: At global scope:
> core/file/dicom/element.cpp:290:7: error: ‘Element’ does not name a type
> 290 | Element::Type Element::type () const
> | ^~~~~~~
> core/file/dicom/element.cpp:308:7: error: ‘vector’ does not name a type
> 308 | vector<int32_t> Element::get_int () const
> | ^~~~~~
> core/file/dicom/element.cpp:332:7: error: ‘vector’ does not name a type
> 332 | vector<uint32_t> Element::get_uint () const
> | ^~~~~~
> core/file/dicom/element.cpp:354:7: error: ‘vector’ does not name a type
> 354 | vector<default_type> Element::get_float () const
> | ^~~~~~
> core/file/dicom/element.cpp:377:7: error: ‘Date’ does not name a type
> 377 | Date Element::get_date () const
> | ^~~~
> core/file/dicom/element.cpp:386:7: error: ‘Time’ does not name a type
> 386 | Time Element::get_time () const
> | ^~~~
> core/file/dicom/element.cpp:396:7: error: ‘vector’ does not name a type
> 396 | vector<std::string> Element::get_string () const
> | ^~~~~~
> core/file/dicom/element.cpp:410:19: error: ‘Element’ has not been declared
> 410 | std::string Element::as_string () const
> | ^~~~~~~
> core/file/dicom/element.cpp:410:41: error: non-member function ‘std::string Eigen::as_string()’ cannot have cv-qualifier
> 410 | std::string Element::as_string () const
> | ^~~~~
> core/file/dicom/element.cpp: In function ‘std::string Eigen::as_string()’:
> core/file/dicom/element.cpp:414:19: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 414 | switch (type()) {
> | ^~~~
> | wctype
> core/file/dicom/element.cpp:415:18: error: ‘Element’ has not been declared
> 415 | case Element::INT:
> | ^~~~~~~
> core/file/dicom/element.cpp:416:36: error: ‘get_int’ was not declared in this scope; did you mean ‘getline’?
> 416 | for (const auto& x : get_int())
> | ^~~~~~~
> | getline
> core/file/dicom/element.cpp:419:18: error: ‘Element’ has not been declared
> 419 | case Element::UINT:
> | ^~~~~~~
> core/file/dicom/element.cpp:420:36: error: ‘get_uint’ was not declared in this scope
> 420 | for (const auto& x : get_uint())
> | ^~~~~~~~
> core/file/dicom/element.cpp:423:18: error: ‘Element’ has not been declared
> 423 | case Element::FLOAT:
> | ^~~~~~~
> core/file/dicom/element.cpp:424:36: error: ‘get_float’ was not declared in this scope
> 424 | for (const auto& x : get_float())
> | ^~~~~~~~~
> core/file/dicom/element.cpp:427:18: error: ‘Element’ has not been declared
> 427 | case Element::DATE:
> | ^~~~~~~
> core/file/dicom/element.cpp:428:26: error: ‘get_date’ was not declared in this scope; did you mean ‘getdate’?
> 428 | return str(get_date());
> | ^~~~~~~~
> | getdate
> core/file/dicom/element.cpp:428:22: error: ‘str’ was not declared in this scope; did you mean ‘Eigen::str’?
> 428 | return str(get_date());
> | ^~~
> | Eigen::str
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:247:41: note: ‘Eigen::str’ declared here
> 247 | template <class T> inline std::string str (const T& value, int precision = 0)
> | ^~~
> core/file/dicom/element.cpp:429:18: error: ‘Element’ has not been declared
> 429 | case Element::TIME:
> | ^~~~~~~
> core/file/dicom/element.cpp:430:26: error: ‘get_time’ was not declared in this scope
> 430 | return str(get_time());
> | ^~~~~~~~
> core/file/dicom/element.cpp:431:18: error: ‘Element’ has not been declared
> 431 | case Element::STRING:
> | ^~~~~~~
> core/file/dicom/element.cpp:432:19: error: ‘group’ was not declared in this scope
> 432 | if (group == GROUP_DATA && element == ELEMENT_DATA) {
> | ^~~~~
> core/file/dicom/element.cpp:432:42: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 432 | if (group == GROUP_DATA && element == ELEMENT_DATA) {
> | ^~~~~~~
> | Element
> core/file/dicom/element.cpp:436:38: error: ‘get_string’ was not declared in this scope; did you mean ‘as_string’?
> 436 | for (const auto& x : get_string())
> | ^~~~~~~~~~
> | as_string
> core/file/dicom/element.cpp:440:18: error: ‘Element’ has not been declared
> 440 | case Element::SEQ:
> | ^~~~~~~
> core/file/dicom/element.cpp:443:19: error: ‘group’ was not declared in this scope
> 443 | if (group != GROUP_SEQUENCE || element != ELEMENT_SEQUENCE_ITEM)
> | ^~~~~
> core/file/dicom/element.cpp:443:46: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 443 | if (group != GROUP_SEQUENCE || element != ELEMENT_SEQUENCE_ITEM)
> | ^~~~~~~
> | Element
> core/file/dicom/element.cpp:447:16: error: ‘Exception’ does not name a type
> 447 | catch (Exception& e) {
> | ^~~~~~~~~
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> core/file/dicom/element.cpp:448:66: error: ‘start’ was not declared in this scope; did you mean ‘stat’?
> 448 | DEBUG ("Error converting data at offset " + str(offset(start)) + " to " + type_as_str[type()] + " type: ");
> | ^~~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> core/file/dicom/element.cpp:448:59: error: ‘offset’ was not declared in this scope; did you mean ‘off_t’?
> 448 | DEBUG ("Error converting data at offset " + str(offset(start)) + " to " + type_as_str[type()] + " type: ");
> | ^~~~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> core/file/dicom/element.cpp:448:55: error: ‘str’ was not declared in this scope; did you mean ‘Eigen::str’?
> 448 | DEBUG ("Error converting data at offset " + str(offset(start)) + " to " + type_as_str[type()] + " type: ");
> | ^~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:247:41: note: ‘Eigen::str’ declared here
> 247 | template <class T> inline std::string str (const T& value, int precision = 0)
> | ^~~
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> core/file/dicom/element.cpp:448:85: error: ‘type_as_str’ was not declared in this scope; did you mean ‘MR::File::Dicom::type_as_str’?
> 448 | DEBUG ("Error converting data at offset " + str(offset(start)) + " to " + type_as_str[type()] + " type: ");
> | ^~~~~~~~~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> core/file/dicom/element.cpp:53:19: note: ‘MR::File::Dicom::type_as_str’ declared here
> 53 | const char* Element::type_as_str[] = { "invalid",
> | ^~~~~~~
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> core/file/dicom/element.cpp:448:97: error: ‘type’ was not declared in this scope; did you mean ‘wctype’?
> 448 | DEBUG ("Error converting data at offset " + str(offset(start)) + " to " + type_as_str[type()] + " type: ");
> | ^~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:448:11: note: in expansion of macro ‘DEBUG’
> 448 | DEBUG ("Error converting data at offset " + str(offset(start)) + " to " + type_as_str[type()] + " type: ");
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:449:26: error: ‘e’ was not declared in this scope
> 449 | for (auto& s : e.description)
> | ^
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:450:13: note: in expansion of macro ‘DEBUG’
> 450 | DEBUG (s);
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp: At global scope:
> core/file/dicom/element.cpp:463:40: error: ‘vector’ does not name a type
> 463 | inline void print_vec (const vector<T>& V)
> | ^~~~~~
> core/file/dicom/element.cpp:463:46: error: expected ‘,’ or ‘...’ before ‘<’ token
> 463 | inline void print_vec (const vector<T>& V)
> | ^
> core/file/dicom/element.cpp: In function ‘void Eigen::print_vec(int)’:
> core/file/dicom/element.cpp:465:37: error: ‘V’ was not declared in this scope
> 465 | for (const auto& entry: V)
> | ^
> core/file/dicom/element.cpp:466:39: error: there are no arguments to ‘str’ that depend on a template parameter, so a declaration of ‘str’ must be available [-fpermissive]
> 466 | fprintf (stdout, "%s ", str(entry).c_str());
> | ^~~
> core/file/dicom/element.cpp: At global scope:
> core/file/dicom/element.cpp:471:12: error: ‘Element’ has not been declared
> 471 | void Element::error_in_get (size_t idx) const
> | ^~~~~~~
> core/file/dicom/element.cpp:471:47: error: non-member function ‘void Eigen::error_in_get(std::size_t)’ cannot have cv-qualifier
> 471 | void Element::error_in_get (size_t idx) const
> | ^~~~~
> core/file/dicom/element.cpp: In function ‘void Eigen::error_in_get(std::size_t)’:
> core/file/dicom/element.cpp:473:34: error: ‘tag_name’ was not declared in this scope; did you mean ‘tzname’?
> 473 | const std::string& name (tag_name());
> | ^~~~~~~~
> | tzname
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> core/file/dicom/element.cpp:474:72: error: ‘group’ was not declared in this scope
> 474 | DEBUG ("value not found for DICOM tag " + printf("%04X %04X ", group, element) + ( name.size() ? name.substr(2) : "unknown" ) + " (at index " + str(idx) + ")");
> | ^~~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> core/file/dicom/element.cpp:474:79: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 474 | DEBUG ("value not found for DICOM tag " + printf("%04X %04X ", group, element) + ( name.size() ? name.substr(2) : "unknown" ) + " (at index " + str(idx) + ")");
> | ^~~~~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> core/file/dicom/element.cpp:474:153: error: ‘str’ was not declared in this scope; did you mean ‘Eigen::str’?
> 474 | DEBUG ("value not found for DICOM tag " + printf("%04X %04X ", group, element) + ( name.size() ? name.substr(2) : "unknown" ) + " (at index " + str(idx) + ")");
> | ^~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:247:41: note: ‘Eigen::str’ declared here
> 247 | template <class T> inline std::string str (const T& value, int precision = 0)
> | ^~~
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:474:9: note: in expansion of macro ‘DEBUG’
> 474 | DEBUG ("value not found for DICOM tag " + printf("%04X %04X ", group, element) + ( name.size() ? name.substr(2) : "unknown" ) + " (at index " + str(idx) + ")");
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp: At global scope:
> core/file/dicom/element.cpp:477:12: error: ‘Element’ has not been declared
> 477 | void Element::error_in_check_size (size_t min_size, size_t actual_size) const
> | ^~~~~~~
> core/file/dicom/element.cpp:477:79: error: non-member function ‘void Eigen::error_in_check_size(std::size_t, std::size_t)’ cannot have cv-qualifier
> 477 | void Element::error_in_check_size (size_t min_size, size_t actual_size) const
> | ^~~~~
> core/file/dicom/element.cpp: In function ‘void Eigen::error_in_check_size(std::size_t, std::size_t)’:
> core/file/dicom/element.cpp:479:34: error: ‘tag_name’ was not declared in this scope; did you mean ‘tzname’?
> 479 | const std::string& name (tag_name());
> | ^~~~~~~~
> | tzname
> core/file/dicom/element.cpp:480:86: error: ‘group’ was not declared in this scope
> 480 | throw Exception ("not enough items in for DICOM tag " + printf("%04X %04X ", group, element) + ( name.size() ? name.substr(2) : "unknown" ) + " (expected " + str(min_size) + ", got " + str(actual_size) + ")");
> | ^~~~~
> core/file/dicom/element.cpp:480:93: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 480 | throw Exception ("not enough items in for DICOM tag " + printf("%04X %04X ", group, element) + ( name.size() ? name.substr(2) : "unknown" ) + " (expected " + str(min_size) + ", got " + str(actual_size) + ")");
> | ^~~~~~~
> | Element
> core/file/dicom/element.cpp:480:167: error: ‘str’ was not declared in this scope; did you mean ‘Eigen::str’?
> 480 | throw Exception ("not enough items in for DICOM tag " + printf("%04X %04X ", group, element) + ( name.size() ? name.substr(2) : "unknown" ) + " (expected " + str(min_size) + ", got " + str(actual_size) + ")");
> | ^~~
> | Eigen::str
> In file included from ./core/file/path.h:31,
> from core/file/dicom/element.cpp:17:
> ./core/mrtrix.h:247:41: note: ‘Eigen::str’ declared here
> 247 | template <class T> inline std::string str (const T& value, int precision = 0)
> | ^~~
> core/file/dicom/element.cpp:480:15: error: ‘Exception’ was not declared in this scope; did you mean ‘MR::Exception’?
> 480 | throw Exception ("not enough items in for DICOM tag " + printf("%04X %04X ", group, element) + ( name.size() ? name.substr(2) : "unknown" ) + " (expected " + str(min_size) + ", got " + str(actual_size) + ")");
> | ^~~~~~~~~
> | MR::Exception
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> ./core/exception.h:80:9: note: ‘MR::Exception’ declared here
> 80 | class Exception { NOMEMALIGN
> | ^~~~~~~~~
> core/file/dicom/element.cpp: At global scope:
> core/file/dicom/element.cpp:483:12: error: ‘Element’ has not been declared
> 483 | void Element::report_unknown_tag_with_implicit_syntax () const
> | ^~~~~~~
> core/file/dicom/element.cpp:483:64: error: non-member function ‘void Eigen::report_unknown_tag_with_implicit_syntax()’ cannot have cv-qualifier
> 483 | void Element::report_unknown_tag_with_implicit_syntax () const
> | ^~~~~
> In file included from ./core/file/path.h:30,
> from core/file/dicom/element.cpp:17:
> core/file/dicom/element.cpp: In function ‘void Eigen::report_unknown_tag_with_implicit_syntax()’:
> core/file/dicom/element.cpp:486:73: error: ‘group’ was not declared in this scope
> 486 | "in DICOM implicit syntax for tag (%04X %04X) - ignored", group, element));
> | ^~~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> core/file/dicom/element.cpp:486:80: error: ‘element’ was not declared in this scope; did you mean ‘Element’?
> 486 | "in DICOM implicit syntax for tag (%04X %04X) - ignored", group, element));
> | ^~~~~~~
> ./core/exception.h:75:70: note: in definition of macro ‘DEBUG’
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~
> ./core/exception.h:75:49: error: ‘report_to_user_func’ was not declared in this scope; did you mean ‘Eigen::report_to_user_func’?
> 75 | #define DEBUG(msg) if (MR::App::log_level >= 3) report_to_user_func (msg, 3)
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:485:9: note: in expansion of macro ‘DEBUG’
> 485 | DEBUG (MR::printf ("attempt to read data of unknown value representation "
> | ^~~~~
> ./core/exception.h:69:17: note: ‘Eigen::report_to_user_func’ declared here
> 69 | extern void (*report_to_user_func) (const std::string& msg, int type);
> | ^~~~~~~~~~~~~~~~~~~
> core/file/dicom/element.cpp: At global scope:
> core/file/dicom/element.cpp:496:61: error: ‘Element’ does not name a type
> 496 | std::ostream& operator<< (std::ostream& stream, const Element& item)
> | ^~~~~~~
> core/file/dicom/element.cpp:496:21: error: redefinition of ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’
> 496 | std::ostream& operator<< (std::ostream& stream, const Element& item)
> | ^~~~~~~~
> In file included from ./core/file/mmap.h:25,
> from ./core/file/dicom/element.h:25,
> from core/file/dicom/element.cpp:18:
> ./core/file/entry.h:47:26: note: ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’ previously defined here
> 47 | inline std::ostream& operator<< (std::ostream& stream, const Entry& e)
> | ^~~~~~~~
> core/file/dicom/element.cpp: In function ‘std::ostream& Eigen::operator<<(std::ostream&, const int&)’:
> core/file/dicom/element.cpp:500:39: error: request for member ‘tag_name’ in ‘item’, which is of non-class type ‘const int’
> 500 | const std::string& name (item.tag_name());
> | ^~~~~~~~
> core/file/dicom/element.cpp:501:69: error: request for member ‘group’ in ‘item’, which is of non-class type ‘const int’
> 501 | stream << printf ("[DCM] %04X %04X %c%c % 8u % 8llu ", item.group, item.element,
> | ^~~~~
> core/file/dicom/element.cpp:501:81: error: request for member ‘element’ in ‘item’, which is of non-class type ‘const int’
> 501 | stream << printf ("[DCM] %04X %04X %c%c % 8u % 8llu ", item.group, item.element,
> | ^~~~~~~
> core/file/dicom/element.cpp:502:50: error: request for member ‘VR’ in ‘item’, which is of non-class type ‘const int’
> 502 | reinterpret_cast<const char*> (&item.VR)[1], reinterpret_cast<const char*> (&item.VR)[0],
> | ^~
> core/file/dicom/element.cpp:502:95: error: request for member ‘VR’ in ‘item’, which is of non-class type ‘const int’
> 502 | reinterpret_cast<const char*> (&item.VR)[1], reinterpret_cast<const char*> (&item.VR)[0],
> | ^~
> core/file/dicom/element.cpp:503:20: error: request for member ‘size’ in ‘item’, which is of non-class type ‘const int’
> 503 | ( item.size == LENGTH_UNDEFINED ? uint32_t(0) : item.size ), item.offset (item.start));
> | ^~~~
> core/file/dicom/element.cpp:503:66: error: request for member ‘size’ in ‘item’, which is of non-class type ‘const int’
> 503 | ( item.size == LENGTH_UNDEFINED ? uint32_t(0) : item.size ), item.offset (item.start));
> | ^~~~
> core/file/dicom/element.cpp:503:79: error: request for member ‘offset’ in ‘item’, which is of non-class type ‘const int’
> 503 | ( item.size == LENGTH_UNDEFINED ? uint32_t(0) : item.size ), item.offset (item.start));
> | ^~~~~~
> core/file/dicom/element.cpp:503:92: error: request for member ‘start’ in ‘item’, which is of non-class type ‘const int’
> 503 | ( item.size == LENGTH_UNDEFINED ? uint32_t(0) : item.size ), item.offset (item.start));
> | ^~~~~
> core/file/dicom/element.cpp:506:30: error: request for member ‘level’ in ‘item’, which is of non-class type ‘const int’
> 506 | size_t indent = item.level() - ( item.VR == VR_SQ ? 1 : 0 );
> | ^~~~~
> core/file/dicom/element.cpp:506:47: error: request for member ‘VR’ in ‘item’, which is of non-class type ‘const int’
> 506 | size_t indent = item.level() - ( item.VR == VR_SQ ? 1 : 0 );
> | ^~
> core/file/dicom/element.cpp:509:18: error: request for member ‘is_new_sequence’ in ‘item’, which is of non-class type ‘const int’
> 509 | if (item.is_new_sequence())
> | ^~~~~~~~~~~~~~~
> core/file/dicom/element.cpp:511:23: error: request for member ‘group’ in ‘item’, which is of non-class type ‘const int’
> 511 | else if (item.group == GROUP_SEQUENCE && item.element == ELEMENT_SEQUENCE_ITEM)
> | ^~~~~
> core/file/dicom/element.cpp:511:55: error: request for member ‘element’ in ‘item’, which is of non-class type ‘const int’
> 511 | else if (item.group == GROUP_SEQUENCE && item.element == ELEMENT_SEQUENCE_ITEM)
> | ^~~~~~~
> core/file/dicom/element.cpp:517:38: error: request for member ‘as_string’ in ‘item’, which is of non-class type ‘const int’
> 517 | stream << tmp << " " << item.as_string() << "\n";
> | ^~~~~~~~~
> make[1]: *** [debian/rules:36: override_dh_auto_build] Error 1
The full build log is available from:
http://qa-logs.debian.net/2021/12/20/mrtrix3_3.0.3-1_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
More information about the Debian-med-packaging
mailing list