bernhardkurz
Member
Hey there,
i am new to this forum but using teensy just for a while now.
just now i am stuck with including https://github.com/bk192077/struct_mapping into my project.
i know the library does not perfectly fit as it would require
build flag which is not supported as far as i read...
basically the compilation fails at
which seems to be a c++17 feature.
i found that change the include to
should provide this feature in c++14, but then i get huge error list of failures (below is just a "short" part). I just wonder if somebody does even see any chance to use struct_mapping with teensy4.1
any hint is welcome, thank you in advance
i am new to this forum but using teensy just for a while now.
just now i am stuck with including https://github.com/bk192077/struct_mapping into my project.
i know the library does not perfectly fit as it would require
Code:
-std=c++17
basically the compilation fails at
Code:
#include <optional>
i found that change the include to
Code:
#include <experimental/optional>
any hint is welcome, thank you in advance
Code:
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In function 'void struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::map_json_to_struct(T&, int&)':
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:128:2: error: 'detail' has not been declared
detail::Parser parser(
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:139:2: error: 'parser' was not declared in this scope
parser.parse(json_data);
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: At global scope:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:145:25: error: wrong number of template arguments (1, should be 2)
std::basic_ostream<char>& json_data,
^
In file included from c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\iostream:39:0,
from .pio\libdeps\teensy41\struct_mapping\include/struct_mapping/debug.h:5,
from .pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:3,
from .pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:6,
from lib\jsonMapping/structMain.hpp:2,
from src\main.hpp:17,
from src\main.cpp:2:
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\ostream:58:11: note: provided for 'template<class _CharT, class _Traits> class struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std::basic_ostream'
class basic_ostream : virtual public basic_ios<_CharT, _Traits>
^
In file included from .pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:6:0,
from lib\jsonMapping/structMain.hpp:2,
from src\main.hpp:17,
from src\main.cpp:2:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:146:7: error: 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std::string' has not been declared
std::string indent = "",
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In function 'void struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::map_struct_to_json(T&, int&, int, bool)':
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:152:2: error: 'detail' has not been declared
detail::IterateOver::set_null = [&] (const std::string& name)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:152:50: error: 'string' in namespace 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std' does not name a type
detail::IterateOver::set_null = [&] (const std::string& name)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:197:4: error: expected ')' before ';' token
};
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In lambda function:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:197:4: error: expected '{' before ';' token
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In function 'void struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::map_struct_to_json(T&, int&, int, bool)':
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:199:2: error: 'detail' has not been declared
detail::IterateOver::set<bool> = [&] (const std::string& name, bool value)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:199:27: error: expected primary-expression before 'bool'
detail::IterateOver::set<bool> = [&] (const std::string& name, bool value)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:247:2: error: 'detail' has not been declared
detail::IterateOver::set<long long> = [&] (const std::string& name, long long value)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:247:27: error: expected primary-expression before 'long'
detail::IterateOver::set<long long> = [&] (const std::string& name, long long value)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:288:2: error: 'detail' has not been declared
detail::IterateOver::set<double> = [&] (const std::string& name, double value)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:288:27: error: expected primary-expression before 'double'
detail::IterateOver::set<double> = [&] (const std::string& name, double value)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:329:2: error: 'detail' has not been declared
detail::IterateOver::set<std::string> = [&] (const std::string& name, std::string value)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:329:27: error: 'string' is not a member of 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std'
detail::IterateOver::set<std::string> = [&] (const std::string& name, std::string value)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:329:27: note: suggested alternatives:
In file included from c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\string:39:0,
from c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\stdexcept:39,
from c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\experimental\optional:50,
from src\main.hpp:2,
from src\main.cpp:2:
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\stringfwd.h:74:33: note: 'std::__cxx11::string'
typedef basic_string<char> string;
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\stringfwd.h:74:33: note: 'std::__cxx11::string'
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\stringfwd.h:74:33: note: 'std::__cxx11::string'
In file included from .pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:6:0,
from lib\jsonMapping/structMain.hpp:2,
from src\main.hpp:17,
from src\main.cpp:2:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:329:40: error: expected primary-expression before '=' token
detail::IterateOver::set<std::string> = [&] (const std::string& name, std::string value)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:329:58: error: 'string' in namespace 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std' does not name a type
detail::IterateOver::set<std::string> = [&] (const std::string& name, std::string value)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:373:4: error: expected ')' before ';' token
};
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In lambda function:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:373:4: error: expected '{' before ';' token
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In function 'void struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::map_struct_to_json(T&, int&, int, bool)':
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:375:2: error: 'detail' has not been declared
detail::IterateOver::start_struct = [&] (const std::string& name)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:375:54: error: 'string' in namespace 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std' does not name a type
detail::IterateOver::start_struct = [&] (const std::string& name)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:418:4: error: expected ')' before ';' token
};
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In lambda function:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:418:4: error: expected '{' before ';' token
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In function 'void struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::map_struct_to_json(T&, int&, int, bool)':
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:420:2: error: 'detail' has not been declared
detail::IterateOver::end_struct = [&] ()
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In lambda function:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:422:7: error: expected '(' before 'constexpr'
if constexpr (debug)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:429:16: error: request for member 'empty' in 'indent', which is of non-class type 'int'
if (!indent.empty())
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:431:18: error: invalid operands of types 'int' and 'const char [2]' to binary 'operator<<'
json_data << "\n";
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:439:17: error: invalid operands of types 'int' and 'const char [2]' to binary 'operator<<'
json_data << "}";
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In function 'void struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::map_struct_to_json(T&, int&, int, bool)':
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:443:2: error: 'detail' has not been declared
detail::IterateOver::start_array = [&] (const std::string& name)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:443:53: error: 'string' in namespace 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std' does not name a type
detail::IterateOver::start_array = [&] (const std::string& name)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:483:4: error: expected ')' before ';' token
};
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In lambda function:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:483:4: error: expected '{' before ';' token
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In function 'void struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::map_struct_to_json(T&, int&, int, bool)':
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:485:2: error: 'detail' has not been declared
detail::IterateOver::end_array = [&] ()
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In lambda function:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:487:7: error: expected '(' before 'constexpr'
if constexpr (debug)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:494:16: error: request for member 'empty' in 'indent', which is of non-class type 'int'
if (!indent.empty())
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:496:18: error: invalid operands of types 'int' and 'const char [2]' to binary 'operator<<'
json_data << "\n";
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:504:17: error: invalid operands of types 'int' and 'const char [2]' to binary 'operator<<'
json_data << "]";
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h: In function 'void struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::map_struct_to_json(T&, int&, int, bool)':
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:508:2: error: 'detail' has not been declared
detail::Object<T>::iterate_over(source_struct, "");
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:508:18: error: expected primary-expression before '>' token
detail::Object<T>::iterate_over(source_struct, "");
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/mapper.h:508:19: error: '::iterate_over' has not been declared
detail::Object<T>::iterate_over(source_struct, "");
^
In file included from lib\jsonMapping/structMain.hpp:2:0,
from src\main.hpp:17,
from src\main.cpp:2:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h: At global scope:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:23:40: error: 'string' in namespace 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std' does not name a type
inline void reg(V T::* ptr, const std::string& name, Options<U>&& ... options)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h: In function 'void struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::reg(V T::*, const int&, Options<U>&& ...)':
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:25:2: error: 'detail' has not been declared
detail::Object<T>::reg(ptr, name, std::forward<Options<U>>(options)...);
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:25:18: error: expected primary-expression before '>' token
detail::Object<T>::reg(ptr, name, std::forward<Options<U>>(options)...);
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:25:19: error: '::reg' has not been declared
detail::Object<T>::reg(ptr, name, std::forward<Options<U>>(options)...);
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:25:19: note: suggested alternative:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:23:13: note: 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::reg'
inline void reg(V T::* ptr, const std::string& name, Options<U>&& ... options)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:25:36: error: 'forward' is not a member of 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std'
detail::Object<T>::reg(ptr, name, std::forward<Options<U>>(options)...);
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:25:36: note: suggested alternatives:
In file included from c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\stl_pair.h:59:0,
from c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\utility:70,
from c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\experimental\optional:48,
from src\main.hpp:2,
from src\main.cpp:2:
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\move.h:87:5: note: 'std::forward'
forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\move.h:87:5: note: 'std::forward'
In file included from lib\jsonMapping/structMain.hpp:2:0,
from src\main.hpp:17,
from src\main.cpp:2:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:25:58: error: expected primary-expression before '>' token
detail::Object<T>::reg(ptr, name, std::forward<Options<U>>(options)...);
^
In file included from lib\jsonMapping/structMain.hpp:5:0,
from src\main.hpp:17,
from src\main.cpp:2:
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream: At global scope:
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:65:51: error: expected template-name before '<' token
class basic_stringbuf : public basic_streambuf<_CharT, _Traits>
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:65:51: error: expected '{' before '<' token
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:65:51: error: expected unqualified-id before '<' token
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:367:53: error: expected template-name before '<' token
class basic_istringstream : public basic_istream<_CharT, _Traits>
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:367:53: error: expected '{' before '<' token
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:367:53: error: expected unqualified-id before '<' token
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:511:53: error: expected template-name before '<' token
class basic_ostringstream : public basic_ostream<_CharT, _Traits>
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:511:53: error: expected '{' before '<' token
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:511:53: error: expected unqualified-id before '<' token
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:655:53: error: expected template-name before '<' token
class basic_stringstream : public basic_iostream<_CharT, _Traits>
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:655:53: error: expected '{' before '<' token
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:655:53: error: expected unqualified-id before '<' token
In file included from c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\sstream:813:0,
from lib\jsonMapping/structMain.hpp:5,
from src\main.hpp:17,
from src\main.cpp:2:
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:44:14: error: expected nested-name-specifier before 'basic_stringbuf'
typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:44:29: error: expected initializer before '<' token
typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:78:14: error: expected nested-name-specifier before 'basic_stringbuf'
typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:78:29: error: expected initializer before '<' token
typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:129:14: error: expected nested-name-specifier before 'basic_stringbuf'
typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:129:29: error: expected initializer before '<' token
typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:147:14: error: expected nested-name-specifier before 'basic_stringbuf'
typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:147:29: error: expected initializer before '<' token
typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:195:14: error: expected nested-name-specifier before 'basic_stringbuf'
typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:195:29: error: expected initializer before '<' token
typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:226:20: error: expected initializer before '<' token
basic_stringbuf<_CharT, _Traits, _Alloc>::
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:257:20: error: expected initializer before '<' token
basic_stringbuf<_CharT, _Traits, _Alloc>::
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:272:25: error: 'basic_stringbuf' is not a class template
extern template class basic_stringbuf<char>;
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:272:25: error: explicit instantiation of non-template type 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std::basic_stringbuf'
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:273:25: error: 'basic_istringstream' is not a class template
extern template class basic_istringstream<char>;
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:273:25: error: explicit instantiation of non-template type 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std::basic_istringstream'
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:274:25: error: 'basic_ostringstream' is not a class template
extern template class basic_ostringstream<char>;
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:274:25: error: explicit instantiation of non-template type 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std::basic_ostringstream'
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:275:25: error: 'basic_stringstream' is not a class template
extern template class basic_stringstream<char>;
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:275:25: error: explicit instantiation of non-template type 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std::basic_stringstream'
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:278:25: error: 'basic_stringbuf' is not a class template
extern template class basic_stringbuf<wchar_t>;
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:278:25: error: explicit instantiation of non-template type 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std::basic_stringbuf'
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:279:25: error: 'basic_istringstream' is not a class template
extern template class basic_istringstream<wchar_t>;
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:279:25: error: explicit instantiation of non-template type 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std::basic_istringstream'
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:280:25: error: 'basic_ostringstream' is not a class template
extern template class basic_ostringstream<wchar_t>;
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:280:25: error: explicit instantiation of non-template type 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std::basic_ostringstream'
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:281:25: error: 'basic_stringstream' is not a class template
extern template class basic_stringstream<wchar_t>;
^
c:\users\admin\.platformio\packages\toolchain-gccarmnoneeabi@1.50401.190816\arm-none-eabi\include\c++\5.4.1\bits\sstream.tcc:281:25: error: explicit instantiation of non-template type 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std::basic_stringstream'
In file included from lib\jsonMapping/structMain.hpp:9:0,
from src\main.hpp:17,
from src\main.cpp:2:
lib\jsonMapping/jsonDrv.hpp:12:1: error: 'jsonDrv' does not name a type
jsonDrv drv01json;
^
lib\jsonMapping/jsonDrv.hpp:17:10: error: 'string' in namespace 'struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::std' does not name a type
std::string name = []
^
lib\jsonMapping/jsonDrv.hpp:21:11: error: expected unqualified-id before ')' token
}();
^
lib\jsonMapping/jsonDrv.hpp: In lambda function:
lib\jsonMapping/jsonDrv.hpp:24:48: error: no matching function for call to 'reg(int struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::jsonDrv::*, const char [6])'
struct_mapping::reg(&jsonDrv::speed, "speed");
^
In file included from lib\jsonMapping/structMain.hpp:2:0,
from src\main.hpp:17,
from src\main.cpp:2:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:23:13: note: candidate: template<class T, class V, class ... U, template<class> class ... Options> void struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::reg(V T::*, const int&, Options<U>&& ...)
inline void reg(V T::* ptr, const std::string& name, Options<U>&& ... options)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:23:13: note: template argument deduction/substitution failed:
In file included from lib\jsonMapping/structMain.hpp:9:0,
from src\main.hpp:17,
from src\main.cpp:2:
lib\jsonMapping/jsonDrv.hpp:24:48: note: cannot convert '"speed"' (type 'const char [6]') to type 'const int&'
struct_mapping::reg(&jsonDrv::speed, "speed");
^
lib\jsonMapping/jsonDrv.hpp: In lambda function:
lib\jsonMapping/jsonDrv.hpp:29:52: error: no matching function for call to 'reg(float struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::jsonDrv::*, const char [8])'
struct_mapping::reg(&jsonDrv::current, "current");
^
In file included from lib\jsonMapping/structMain.hpp:2:0,
from src\main.hpp:17,
from src\main.cpp:2:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:23:13: note: candidate: template<class T, class V, class ... U, template<class> class ... Options> void struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::reg(V T::*, const int&, Options<U>&& ...)
inline void reg(V T::* ptr, const std::string& name, Options<U>&& ... options)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:23:13: note: template argument deduction/substitution failed:
In file included from lib\jsonMapping/structMain.hpp:9:0,
from src\main.hpp:17,
from src\main.cpp:2:
lib\jsonMapping/jsonDrv.hpp:29:52: note: cannot convert '"current"' (type 'const char [8]') to type 'const int&'
struct_mapping::reg(&jsonDrv::current, "current");
^
lib\jsonMapping/jsonDrv.hpp: In lambda function:
lib\jsonMapping/jsonDrv.hpp:34:48: error: no matching function for call to 'reg(bool struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::jsonDrv::*, const char [6])'
struct_mapping::reg(&jsonDrv::fault, "fault");
^
In file included from lib\jsonMapping/structMain.hpp:2:0,
from src\main.hpp:17,
from src\main.cpp:2:
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:23:13: note: candidate: template<class T, class V, class ... U, template<class> class ... Options> void struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::struct_mapping::reg(V T::*, const int&, Options<U>&& ...)
inline void reg(V T::* ptr, const std::string& name, Options<U>&& ... options)
^
.pio\libdeps\teensy41\struct_mapping\include/struct_mapping/struct_mapping.h:23:13: note: template argument deduction/substitution failed:
In file included from lib\jsonMapping/structMain.hpp:9:0,
from src\main.hpp:17,
from src\main.cpp:2:
lib\jsonMapping/jsonDrv.hpp:34:48: note: cannot convert '"fault"' (type 'const char [6]') to type 'const int&'
struct_mapping::reg(&jsonDrv::fault, "fault");
^
src\main.cpp: At global scope:
src\main.cpp:89:1: error: expected '}' at end of input