Repository: biojppm/rapidyaml (language: python)

Issue:
Compilation fails when decoding std::vector<bool>
This fails to compile:
``` cpp
#include <c4/yml/std/std.hpp>

...

ryml::NodeRef node;
std::vector<bool> bools;

node >> bools;

// Every other primitives works
// std::vector<int>, std::vector<double>, ...

```
<details><summary>Explosion !!!</summary>

``` bash
Errors     << moveit_benchmark_suite_core:make /home/captain-yoshi/ws/ros/mimic_ws/logs/moveit_benchmark_suite_core/build.make.061.log                                                                            
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp: In instantiation of ‘bool c4::yml::read(const c4::yml::NodeRef&, std::vector<_Tp, _Alloc>*) [with V = bool; Alloc = std::allocator<bool>]’:
/usr/include/c4/yml/node.hpp:464:19:   required from ‘const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(T&) const [with T = std::vector<bool>]’
/home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:331:8:   required from here
/usr/include/c4/yml/std/vector.hpp:32:12: error: no match for ‘operator>>’ (operand types are ‘const c4::yml::NodeRef’ and ‘std::vector<bool>::reference’ {aka ‘std::_Bit_reference’})
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c4/yml/node.hpp:459:27: note: candidate: ‘const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(T&) const [with T = std::_Bit_reference]’ <near match>
  459 |     inline NodeRef const& operator>> (T &v) const
      |                           ^~~~~~~~
/usr/include/c4/yml/node.hpp:459:27: note:   conversion of argument 1 would be ill-formed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:21: error: cannot bind non-const lvalue reference of type ‘std::_Bit_reference&’ to an rvalue of type ‘std::vector<bool>::reference’ {aka ‘std::_Bit_reference’}
   32 |         ch >> (*vec)[pos++];
      |               ~~~~~~^
In file included from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c4/yml/node.hpp:493:27: note: candidate: ‘template<class T> const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(c4::yml::Key<K>) const’
  493 |     inline NodeRef const& operator>> (Key<T> v) const
      |                           ^~~~~~~~
/usr/include/c4/yml/node.hpp:493:27: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   ‘std::_Bit_reference’ is not derived from ‘c4::yml::Key<K>’
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c4/yml/node.hpp:516:20: note: candidate: ‘const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(c4::yml::Key<c4::fmt::base64_wrapper_<char> >) const’
  516 |     NodeRef const& operator>> (Key<fmt::base64_wrapper> w) const
      |                    ^~~~~~~~
/usr/include/c4/yml/node.hpp:516:57: note:   no known conversion for argument 1 from ‘std::vector<bool>::reference’ {aka ‘std::_Bit_reference’} to ‘c4::yml::Key<c4::fmt::base64_wrapper_<char> >’
  516 |     NodeRef const& operator>> (Key<fmt::base64_wrapper> w) const
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~^
/usr/include/c4/yml/node.hpp:522:20: note: candidate: ‘const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(c4::fmt::base64_wrapper) const’
  522 |     NodeRef const& operator>> (fmt::base64_wrapper w) const
      |                    ^~~~~~~~
/usr/include/c4/yml/node.hpp:522:52: note:   no known conversion for argument 1 from ‘std::vector<bool>::reference’ {aka ‘std::_Bit_reference’} to ‘c4::fmt::base64_wrapper’ {aka ‘c4::fmt::base64_wrapper_<char>’}
  522 |     NodeRef const& operator>> (fmt::base64_wrapper w) const
      |                                ~~~~~~~~~~~~~~~~~~~~^
In file included from /usr/include/c++/9/string:56,
                 from /usr/include/c++/9/stdexcept:39,
                 from /usr/include/c++/9/system_error:41,
                 from /usr/include/c4/ext/fast_float_all.h:45,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/bits/basic_string.tcc:1466:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
 1466 |     operator>>(basic_istream<_CharT, _Traits>& __in,
      |     ^~~~~~~~
/usr/include/c++/9/bits/basic_string.tcc:1466:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/istream:991,
                 from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/bits/istream.tcc:931:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&)’
  931 |     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
      |     ^~~~~~~~
/usr/include/c++/9/bits/istream.tcc:931:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/istream:756:5: note: candidate: ‘template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&)’
  756 |     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
      |     ^~~~~~~~
/usr/include/c++/9/istream:756:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<char, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/istream:761:5: note: candidate: ‘template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&)’
  761 |     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
      |     ^~~~~~~~
/usr/include/c++/9/istream:761:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<char, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/istream:991,
                 from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/bits/istream.tcc:963:5: note: candidate: ‘template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*)’
  963 |     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
      |     ^~~~~~~~
/usr/include/c++/9/bits/istream.tcc:963:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/istream:803:5: note: candidate: ‘template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*)’
  803 |     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/istream:803:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<char, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/istream:808:5: note: candidate: ‘template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*)’
  808 |     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/istream:808:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<char, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/istream:980:5: note: candidate: ‘template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&)’
  980 |     operator>>(_Istream&& __is, _Tp&& __x)
      |     ^~~~~~~~
/usr/include/c++/9/istream:980:5: note:   template argument deduction/substitution failed:
/usr/include/c++/9/istream: In substitution of ‘template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&) [with _Istream = const c4::yml::NodeRef&; _Tp = std::_Bit_reference]’:
/usr/include/c4/yml/std/vector.hpp:32:12:   required from ‘bool c4::yml::read(const c4::yml::NodeRef&, std::vector<_Tp, _Alloc>*) [with V = bool; Alloc = std::allocator<bool>]’
/usr/include/c4/yml/node.hpp:464:19:   required from ‘const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(T&) const [with T = std::vector<bool>]’
/home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:331:8:   required from here
/usr/include/c++/9/istream:980:5: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c4/yml/std/vector.hpp: In instantiation of ‘bool c4::yml::read(const c4::yml::NodeRef&, std::vector<_Tp, _Alloc>*) [with V = bool; Alloc = std::allocator<bool>]’:
/usr/include/c4/yml/node.hpp:464:19:   required from ‘const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(T&) const [with T = std::vector<bool>]’
/home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:331:8:   required from here
/usr/include/c++/9/iomanip:71:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Resetiosflags)’
   71 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Resetiosflags __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:71:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:101:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Setiosflags)’
  101 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Setiosflags __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:101:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:132:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Setbase)’
  132 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Setbase __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:132:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:170:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Setfill<_CharT>)’
  170 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Setfill<_CharT> __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:170:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:200:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Setprecision)’
  200 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Setprecision __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:200:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:230:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Setw)’
  230 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Setw __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:230:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:264:5: note: candidate: ‘template<class _CharT, class _Traits, class _MoneyT> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Get_money<_MoneyT>)’
  264 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Get_money<_MoneyT> __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:264:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:418:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Get_time<_CharT>)’
  418 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Get_time<_CharT> __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:418:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/config/no_tr1/complex.hpp:21,
                 from /usr/include/boost/math/special_functions/math_fwd.hpp:32,
                 from /usr/include/boost/math/special_functions/sign.hpp:17,
                 from /usr/include/boost/lexical_cast/detail/inf_nan.hpp:34,
                 from /usr/include/boost/lexical_cast/detail/converter_lexical_streams.hpp:63,
                 from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:54,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /usr/include/boost/date_time/string_parse_tree.hpp:13,
                 from /usr/include/boost/date_time/period_parser.hpp:14,
                 from /usr/include/boost/date_time/date_facet.hpp:23,
                 from /usr/include/boost/date_time/gregorian/gregorian_io.hpp:16,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:31,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/complex:498:5: note: candidate: ‘template<class _Tp, class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::complex<_Tp>&)’
  498 |     operator>>(basic_istream<_CharT, _Traits>& __is, complex<_Tp>& __x)
      |     ^~~~~~~~
/usr/include/c++/9/complex:498:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
make[2]: *** [CMakeFiles/moveit_benchmark_suite_core.dir/build.make:297: CMakeFiles/moveit_benchmark_suite_core.dir/src/serialization/conversions.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2199: CMakeFiles/moveit_benchmark_suite_core.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
cd /home/captain-yoshi/ws/ros/mimic_ws/build/moveit_benchmark_suite_core; catkin build --get-env moveit_benchmark_suite_core | catkin env -si  /usr/bin/make --jobserver-auth=3,4; cd -
```

</details>

I think the problem is that the `std::_Bit_reference` is not derived from `c4::yml::Key<K>`.
Compilation fails when decoding std::vector<bool>
This fails to compile:
``` cpp
#include <c4/yml/std/std.hpp>

...

ryml::NodeRef node;
std::vector<bool> bools;

node >> bools;

// Every other primitives works
// std::vector<int>, std::vector<double>, ...

```
<details><summary>Explosion !!!</summary>

``` bash
Errors     << moveit_benchmark_suite_core:make /home/captain-yoshi/ws/ros/mimic_ws/logs/moveit_benchmark_suite_core/build.make.061.log                                                                            
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp: In instantiation of ‘bool c4::yml::read(const c4::yml::NodeRef&, std::vector<_Tp, _Alloc>*) [with V = bool; Alloc = std::allocator<bool>]’:
/usr/include/c4/yml/node.hpp:464:19:   required from ‘const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(T&) const [with T = std::vector<bool>]’
/home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:331:8:   required from here
/usr/include/c4/yml/std/vector.hpp:32:12: error: no match for ‘operator>>’ (operand types are ‘const c4::yml::NodeRef’ and ‘std::vector<bool>::reference’ {aka ‘std::_Bit_reference’})
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c4/yml/node.hpp:459:27: note: candidate: ‘const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(T&) const [with T = std::_Bit_reference]’ <near match>
  459 |     inline NodeRef const& operator>> (T &v) const
      |                           ^~~~~~~~
/usr/include/c4/yml/node.hpp:459:27: note:   conversion of argument 1 would be ill-formed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:21: error: cannot bind non-const lvalue reference of type ‘std::_Bit_reference&’ to an rvalue of type ‘std::vector<bool>::reference’ {aka ‘std::_Bit_reference’}
   32 |         ch >> (*vec)[pos++];
      |               ~~~~~~^
In file included from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c4/yml/node.hpp:493:27: note: candidate: ‘template<class T> const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(c4::yml::Key<K>) const’
  493 |     inline NodeRef const& operator>> (Key<T> v) const
      |                           ^~~~~~~~
/usr/include/c4/yml/node.hpp:493:27: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   ‘std::_Bit_reference’ is not derived from ‘c4::yml::Key<K>’
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c4/yml/node.hpp:516:20: note: candidate: ‘const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(c4::yml::Key<c4::fmt::base64_wrapper_<char> >) const’
  516 |     NodeRef const& operator>> (Key<fmt::base64_wrapper> w) const
      |                    ^~~~~~~~
/usr/include/c4/yml/node.hpp:516:57: note:   no known conversion for argument 1 from ‘std::vector<bool>::reference’ {aka ‘std::_Bit_reference’} to ‘c4::yml::Key<c4::fmt::base64_wrapper_<char> >’
  516 |     NodeRef const& operator>> (Key<fmt::base64_wrapper> w) const
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~^
/usr/include/c4/yml/node.hpp:522:20: note: candidate: ‘const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(c4::fmt::base64_wrapper) const’
  522 |     NodeRef const& operator>> (fmt::base64_wrapper w) const
      |                    ^~~~~~~~
/usr/include/c4/yml/node.hpp:522:52: note:   no known conversion for argument 1 from ‘std::vector<bool>::reference’ {aka ‘std::_Bit_reference’} to ‘c4::fmt::base64_wrapper’ {aka ‘c4::fmt::base64_wrapper_<char>’}
  522 |     NodeRef const& operator>> (fmt::base64_wrapper w) const
      |                                ~~~~~~~~~~~~~~~~~~~~^
In file included from /usr/include/c++/9/string:56,
                 from /usr/include/c++/9/stdexcept:39,
                 from /usr/include/c++/9/system_error:41,
                 from /usr/include/c4/ext/fast_float_all.h:45,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/bits/basic_string.tcc:1466:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
 1466 |     operator>>(basic_istream<_CharT, _Traits>& __in,
      |     ^~~~~~~~
/usr/include/c++/9/bits/basic_string.tcc:1466:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/istream:991,
                 from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/bits/istream.tcc:931:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&)’
  931 |     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
      |     ^~~~~~~~
/usr/include/c++/9/bits/istream.tcc:931:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/istream:756:5: note: candidate: ‘template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&)’
  756 |     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
      |     ^~~~~~~~
/usr/include/c++/9/istream:756:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<char, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/istream:761:5: note: candidate: ‘template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&)’
  761 |     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
      |     ^~~~~~~~
/usr/include/c++/9/istream:761:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<char, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/istream:991,
                 from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/bits/istream.tcc:963:5: note: candidate: ‘template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*)’
  963 |     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
      |     ^~~~~~~~
/usr/include/c++/9/bits/istream.tcc:963:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/istream:803:5: note: candidate: ‘template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*)’
  803 |     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/istream:803:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<char, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/istream:808:5: note: candidate: ‘template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*)’
  808 |     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/istream:808:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<char, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/c++/9/iterator:65,
                 from /usr/include/c4/ext/fast_float_all.h:509,
                 from /usr/include/c4/ext/fast_float.hpp:18,
                 from /usr/include/c4/charconv.hpp:56,
                 from /usr/include/c4/yml/tree.hpp:11,
                 from /usr/include/c4/yml/node.hpp:9,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:41,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/istream:980:5: note: candidate: ‘template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&)’
  980 |     operator>>(_Istream&& __is, _Tp&& __x)
      |     ^~~~~~~~
/usr/include/c++/9/istream:980:5: note:   template argument deduction/substitution failed:
/usr/include/c++/9/istream: In substitution of ‘template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&) [with _Istream = const c4::yml::NodeRef&; _Tp = std::_Bit_reference]’:
/usr/include/c4/yml/std/vector.hpp:32:12:   required from ‘bool c4::yml::read(const c4::yml::NodeRef&, std::vector<_Tp, _Alloc>*) [with V = bool; Alloc = std::allocator<bool>]’
/usr/include/c4/yml/node.hpp:464:19:   required from ‘const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(T&) const [with T = std::vector<bool>]’
/home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:331:8:   required from here
/usr/include/c++/9/istream:980:5: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c4/yml/std/vector.hpp: In instantiation of ‘bool c4::yml::read(const c4::yml::NodeRef&, std::vector<_Tp, _Alloc>*) [with V = bool; Alloc = std::allocator<bool>]’:
/usr/include/c4/yml/node.hpp:464:19:   required from ‘const c4::yml::NodeRef& c4::yml::NodeRef::operator>>(T&) const [with T = std::vector<bool>]’
/home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:331:8:   required from here
/usr/include/c++/9/iomanip:71:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Resetiosflags)’
   71 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Resetiosflags __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:71:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:101:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Setiosflags)’
  101 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Setiosflags __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:101:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:132:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Setbase)’
  132 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Setbase __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:132:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:170:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Setfill<_CharT>)’
  170 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Setfill<_CharT> __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:170:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:200:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Setprecision)’
  200 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Setprecision __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:200:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:230:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Setw)’
  230 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Setw __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:230:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:264:5: note: candidate: ‘template<class _CharT, class _Traits, class _MoneyT> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Get_money<_MoneyT>)’
  264 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Get_money<_MoneyT> __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:264:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/date_time/date_formatting.hpp:17,
                 from /usr/include/boost/date_time/gregorian/formatters.hpp:17,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:25,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/iomanip:418:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::_Get_time<_CharT>)’
  418 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Get_time<_CharT> __f)
      |     ^~~~~~~~
/usr/include/c++/9/iomanip:418:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
In file included from /usr/include/boost/config/no_tr1/complex.hpp:21,
                 from /usr/include/boost/math/special_functions/math_fwd.hpp:32,
                 from /usr/include/boost/math/special_functions/sign.hpp:17,
                 from /usr/include/boost/lexical_cast/detail/inf_nan.hpp:34,
                 from /usr/include/boost/lexical_cast/detail/converter_lexical_streams.hpp:63,
                 from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:54,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /usr/include/boost/date_time/string_parse_tree.hpp:13,
                 from /usr/include/boost/date_time/period_parser.hpp:14,
                 from /usr/include/boost/date_time/date_facet.hpp:23,
                 from /usr/include/boost/date_time/gregorian/gregorian_io.hpp:16,
                 from /usr/include/boost/date_time/gregorian/gregorian.hpp:31,
                 from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
                 from /usr/include/boost/date_time/local_time/local_time.hpp:11,
                 from /usr/include/boost/date_time.hpp:15,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/dataset.h:53,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/conversions.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:1:
/usr/include/c++/9/complex:498:5: note: candidate: ‘template<class _Tp, class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::complex<_Tp>&)’
  498 |     operator>>(basic_istream<_CharT, _Traits>& __is, complex<_Tp>& __x)
      |     ^~~~~~~~
/usr/include/c++/9/complex:498:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c4/yml/std/std.hpp:5,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:43,
                 from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/src/serialization/conversions.cpp:3:
/usr/include/c4/yml/std/vector.hpp:32:12: note:   types ‘std::basic_istream<_CharT, _Traits>’ and ‘const c4::yml::NodeRef’ have incompatible cv-qualifiers
   32 |         ch >> (*vec)[pos++];
      |         ~~~^~~~~~~~~~
make[2]: *** [CMakeFiles/moveit_benchmark_suite_core.dir/build.make:297: CMakeFiles/moveit_benchmark_suite_core.dir/src/serialization/conversions.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2199: CMakeFiles/moveit_benchmark_suite_core.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
cd /home/captain-yoshi/ws/ros/mimic_ws/build/moveit_benchmark_suite_core; catkin build --get-env moveit_benchmark_suite_core | catkin env -si  /usr/bin/make --jobserver-auth=3,4; cd -
```

</details>

I think the problem is that the `std::_Bit_reference` is not derived from `c4::yml::Key<K>`.


Discussion / hints:

Fix patch:
diff --git a/src/c4/yml/std/vector.hpp b/src/c4/yml/std/vector.hpp
index 0ecbc3578..f28007336 100644
--- a/src/c4/yml/std/vector.hpp
+++ b/src/c4/yml/std/vector.hpp
@@ -12,14 +12,13 @@ namespace yml {
 // in the data tree hierarchy (a SEQ node in ryml parlance).
 // So it should be serialized via write()/read().
 
+
 template<class V, class Alloc>
 void write(c4::yml::NodeRef *n, std::vector<V, Alloc> const& vec)
 {
     *n |= c4::yml::SEQ;
     for(auto const& v : vec)
-    {
         n->append_child() << v;
-    }
 }
 
 template<class V, class Alloc>
@@ -28,8 +27,22 @@ bool read(c4::yml::NodeRef const& n, std::vector<V, Alloc> *vec)
     vec->resize(n.num_children());
     size_t pos = 0;
     for(auto const ch : n)
-    {
         ch >> (*vec)[pos++];
+    return true;
+}
+
+/** specialization: std::vector<bool> uses std::vector<bool>::reference as
+ * the return value of its operator[]. */
+template<class Alloc>
+bool read(c4::yml::NodeRef const& n, std::vector<bool, Alloc> *vec)
+{
+    vec->resize(n.num_children());
+    size_t pos = 0;
+    bool tmp;
+    for(auto const ch : n)
+    {
+        ch >> tmp;
+        (*vec)[pos++] = tmp;
     }
     return true;
 }


Test patch:
diff --git a/test/test_serialize.cpp b/test/test_serialize.cpp
index 12ed41876..1a10420bc 100644
--- a/test/test_serialize.cpp
+++ b/test/test_serialize.cpp
@@ -117,6 +117,12 @@ TEST(serialize, std_vector_int)
     using L = std::initializer_list<T>;
     do_test_serialize<std::vector<T>>(L{1, 2, 3, 4, 5});
 }
+TEST(serialize, std_vector_bool)
+{
+    using T = bool;
+    using L = std::initializer_list<T>;
+    do_test_serialize<std::vector<T>>(L{true, false, true, false, true, true});
+}
 TEST(serialize, std_vector_string)
 {
     using T = std::string;