39 template <
class T, u
int16_t N>
40 typename canopen_traits<T, N, true>::c_type
41 canopen_traits<T, N, true>::construct(
const void* p, ::std::size_t n,
42 ::std::error_code& ec) noexcept {
43 auto val =
typename canopen_traits<T, N, true>::c_type();
52 #ifndef DOXYGEN_SHOULD_SKIP_THIS
55 template bool canopen_traits<bool, 0x0001, true>::construct(
56 const void*, ::std::size_t, ::std::error_code&) noexcept;
59 template int8_t canopen_traits<int8_t, 0x0002, true>::construct(
60 const void*, ::std::size_t, ::std::error_code&) noexcept;
63 template int16_t canopen_traits<int16_t, 0x0003, true>::construct(
64 const void*, ::std::size_t, ::std::error_code&) noexcept;
67 template int32_t canopen_traits<int32_t, 0x0004, true>::construct(
68 const void*, ::std::size_t, ::std::error_code&) noexcept;
71 template uint8_t canopen_traits<uint8_t, 0x0005, true>::construct(
72 const void*, ::std::size_t, ::std::error_code&) noexcept;
75 template uint16_t canopen_traits<uint16_t, 0x0006, true>::construct(
76 const void*, ::std::size_t, ::std::error_code&) noexcept;
79 template uint32_t canopen_traits<uint32_t, 0x0007, true>::construct(
80 const void*, ::std::size_t, ::std::error_code&) noexcept;
83 template float canopen_traits<float, 0x0008, true>::construct(
84 const void*, ::std::size_t, ::std::error_code&) noexcept;
95 template double canopen_traits<double, 0x0011, true>::construct(
96 const void*, ::std::size_t, ::std::error_code&) noexcept;
103 template int64_t canopen_traits<int64_t, 0x0015, true>::construct(
104 const void*, ::std::size_t, ::std::error_code&) noexcept;
112 template uint64_t canopen_traits<uint64_t, 0x001b, true>::construct(
113 const void*, ::std::size_t, ::std::error_code&) noexcept;
115 #endif // DOXYGEN_SHOULD_SKIP_THIS
120 canopen_traits<::std::string>::construct(
const void* p, ::std::size_t n,
121 ::std::error_code& ec) noexcept {
132 canopen_traits<::std::string>::destroy(
char*& val) noexcept {
137 canopen_traits<::std::string>::to_c_type(
const char* vs,
138 ::std::error_code& ec) noexcept {
151 canopen_traits<::std::vector<uint8_t>>::construct(
152 const void* p, ::std::size_t n, ::std::error_code& ec) noexcept {
153 uint8_t* val =
nullptr;
163 canopen_traits<::std::vector<uint8_t>>::destroy(uint8_t*& val) noexcept {
168 canopen_traits<::std::vector<uint8_t>>::to_c_type(
169 const uint8_t* os, ::std::size_t n, ::std::error_code& ec) noexcept {
170 uint8_t* val =
nullptr;
182 canopen_traits<::std::vector<uint8_t>>::size(
const uint8_t* val) noexcept {
187 canopen_traits<::std::basic_string<char16_t>>::construct(
188 const void* p, ::std::size_t n, ::std::error_code& ec) noexcept {
189 char16_t* val =
nullptr;
199 canopen_traits<::std::basic_string<char16_t>>::destroy(
200 char16_t*& val) noexcept {
205 canopen_traits<::std::basic_string<char16_t>>::to_c_type(
206 const char16_t* us, ::std::error_code& ec) noexcept {
207 char16_t* val =
nullptr;