* installing *source* package ‘RcppMeCab’ ...
** package ‘RcppMeCab’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: ‘g++-14 (GCC) 14.2.0’
using C++11
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/RcppMeCab/src'
g++-14 -std=gnu++11 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppParallel/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  `mecab-config --cflags` -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c RcppExports.cpp -o RcppExports.o
g++-14 -std=gnu++11 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppParallel/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  `mecab-config --cflags` -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c posLoopRcpp.cpp -o posLoopRcpp.o
g++-14 -std=gnu++11 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppParallel/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  `mecab-config --cflags` -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c posParallelRcpp.cpp -o posParallelRcpp.o
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/bind/mem_fn.hpp:25,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/mem_fn.hpp:22,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function/detail/prologue.hpp:19,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function.hpp:30,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/detail/find_iterator.hpp:18,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/find_iterator.hpp:24,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:27,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:16,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string.hpp:23,
                 from posLoopRcpp.cpp:5:
/data/gannet/ripley/R/test-dev/BH/include/boost/get_pointer.hpp:48:40: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   48 | template<class T> T * get_pointer(std::auto_ptr<T> const& p)
      |                                        ^~~~~~~~
In file included from /usr/local/gcc14/include/c++/14.2.0/memory:78,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function/function_base.hpp:34,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function/detail/prologue.hpp:18:
/usr/local/gcc14/include/c++/14.2.0/bits/unique_ptr.h:59:28: note: declared here
   59 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/concept/assert.hpp:35,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:20,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:19,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/size_type.hpp:20,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/size.hpp:21,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/functions.hpp:20,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/iterator_range_core.hpp:38,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/iterator_range.hpp:13,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/as_literal.hpp:18,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/trim.hpp:19,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string.hpp:19:
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::algorithm::FinderConcept<boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> >, const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:81:13:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:65:52: warning: 'this' pointer is null [-Wnonnull]
   65 |     static void failed() { ((Model*)0)->constraints(); }
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:26:
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/concept.hpp:40:18: note: in a call to non-static member function 'void boost::algorithm::FinderConcept<FinderT, IteratorT>::constraints() [with FinderT = boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> >; IteratorT = const char*]'
   40 |             void constraints()
      |                  ^~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:31:
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_concepts.hpp:114:7:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_concepts.hpp:114:7:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::incrementable_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:152:13:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:152:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<const char*>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::single_pass_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<const char*>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9:   required from 'struct boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/equal.hpp:174:13:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/equal.hpp:174:13:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/equal.hpp:174:13:   required from 'bool boost::range::equal(const SinglePassRange1&, const SinglePassRange2&) [with SinglePassRange1 = boost::iterator_range<const char*>; SinglePassRange2 = boost::iterator_range<const char*>]'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/iterator_range_core.hpp:644:32:   required from 'bool boost::operator==(const iterator_range<IteratorT>&, const iterator_range<Iterator2T>&) [with Iterator1T = const char*; Iterator2T = const char*]'
  644 |             return boost::equal( l, r );
      |                    ~~~~~~~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/find_iterator.hpp:359:32:   required from 'bool boost::algorithm::split_iterator<IteratorT>::equal(const boost::algorithm::split_iterator<IteratorT>&) const [with IteratorT = const char*]'
  359 |                         m_Match==Other.m_Match &&
      |                         ~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:649:26:   required from 'static bool boost::iterators::iterator_core_access::equal(const Facade1&, const Facade2&, mpl_::true_) [with Facade1 = boost::algorithm::split_iterator<const char*>; Facade2 = boost::algorithm::split_iterator<const char*>; mpl_::true_ = mpl_::bool_<true>]'
  649 |           return f1.equal(f2);
      |                  ~~~~~~~~^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:981:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator==(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = boost::algorithm::split_iterator<const char*>; V1 = const boost::iterator_range<const char*>; TC1 = forward_traversal_tag; Reference1 = const boost::iterator_range<const char*>&; Difference1 = long int; Derived2 = boost::algorithm::split_iterator<const char*>; V2 = const boost::iterator_range<const char*>; TC2 = forward_traversal_tag; Reference2 = const boost::iterator_range<const char*>&; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_adaptor.hpp:305:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::iterator_range<const char*>]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::incrementable_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  136 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::single_pass_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posLoopRcpp.cpp:70:21:   required from here
   70 |         boost::split(features, node->feature, boost::is_any_of(","));
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::iterator_range<const char*>]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/bind/mem_fn.hpp:25,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/mem_fn.hpp:22,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function/detail/prologue.hpp:19,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function.hpp:30,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/detail/find_iterator.hpp:18,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/find_iterator.hpp:24,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:27,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:16,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string.hpp:23,
                 from posParallelRcpp.cpp:6:
/data/gannet/ripley/R/test-dev/BH/include/boost/get_pointer.hpp:48:40: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   48 | template<class T> T * get_pointer(std::auto_ptr<T> const& p)
      |                                        ^~~~~~~~
In file included from /usr/local/gcc14/include/c++/14.2.0/memory:78,
                 from /data/gannet/ripley/R/test-dev/RcppParallel/include/tbb/tbb_stddef.h:431,
                 from /data/gannet/ripley/R/test-dev/RcppParallel/include/tbb/aligned_space.h:20,
                 from /data/gannet/ripley/R/test-dev/RcppParallel/include/tbb/tbb.h:31,
                 from /data/gannet/ripley/R/test-dev/RcppParallel/include/RcppParallel/TBB.h:10,
                 from /data/gannet/ripley/R/test-dev/RcppParallel/include/RcppParallel.h:24,
                 from posParallelRcpp.cpp:5:
/usr/local/gcc14/include/c++/14.2.0/bits/unique_ptr.h:59:28: note: declared here
   59 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
In file included from /data/gannet/ripley/R/test-dev/RcppParallel/include/tbb/tbb.h:32:
/data/gannet/ripley/R/test-dev/RcppParallel/include/tbb/atomic.h: In instantiation of 'tbb::atomic<T>& tbb::internal::as_atomic(T&) [with T = long unsigned int]':
/data/gannet/ripley/R/test-dev/RcppParallel/include/tbb/tbb_thread.h:251:29:   required from here
  251 |             return as_atomic(location.my_id).compare_and_swap(value.my_id, comparand.my_id);
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppParallel/include/tbb/atomic.h:544:12: warning: casting 'long unsigned int' to 'tbb::atomic<long unsigned int>&' does not use 'constexpr tbb::atomic<long unsigned int>::atomic(long unsigned int)' [-Wcast-user-defined]
  544 |     return (atomic<T>&)t;
      |            ^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppParallel/include/tbb/atomic.h: In instantiation of 'tbb::atomic<T>& tbb::internal::as_atomic(T&) [with T = tbb::interface5::internal::hash_map_base::bucket*]':
/data/gannet/ripley/R/test-dev/RcppParallel/include/tbb/concurrent_hash_map.h:291:31:   required from here
  291 |                   && as_atomic(my_table[new_seg]).compare_and_swap(is_allocating, NULL) == NULL )
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppParallel/include/tbb/atomic.h:544:12: warning: casting 'tbb::interface5::internal::hash_map_base::bucket*' to 'tbb::atomic<tbb::interface5::internal::hash_map_base::bucket*>&' does not use 'constexpr tbb::atomic<T*>::atomic(T*) [with T = tbb::interface5::internal::hash_map_base::bucket]' [-Wcast-user-defined]
  544 |     return (atomic<T>&)t;
      |            ^~~~~~~~~~~~~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/concept/assert.hpp:35,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:20,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:19,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/size_type.hpp:20,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/size.hpp:21,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/functions.hpp:20,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/iterator_range_core.hpp:38,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/iterator_range.hpp:13,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/as_literal.hpp:18,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/trim.hpp:19,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string.hpp:19:
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::algorithm::FinderConcept<boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> >, const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:81:13:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:65:52: warning: 'this' pointer is null [-Wnonnull]
   65 |     static void failed() { ((Model*)0)->constraints(); }
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:26:
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/concept.hpp:40:18: note: in a call to non-static member function 'void boost::algorithm::FinderConcept<FinderT, IteratorT>::constraints() [with FinderT = boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> >; IteratorT = const char*]'
   40 |             void constraints()
      |                  ^~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:31:
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_concepts.hpp:114:7:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_concepts.hpp:114:7:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::incrementable_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:152:13:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:152:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<const char*>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::single_pass_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<const char*>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9:   required from 'struct boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/equal.hpp:174:13:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/equal.hpp:174:13:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/equal.hpp:174:13:   required from 'bool boost::range::equal(const SinglePassRange1&, const SinglePassRange2&) [with SinglePassRange1 = boost::iterator_range<const char*>; SinglePassRange2 = boost::iterator_range<const char*>]'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/iterator_range_core.hpp:644:32:   required from 'bool boost::operator==(const iterator_range<IteratorT>&, const iterator_range<Iterator2T>&) [with Iterator1T = const char*; Iterator2T = const char*]'
  644 |             return boost::equal( l, r );
      |                    ~~~~~~~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/find_iterator.hpp:359:32:   required from 'bool boost::algorithm::split_iterator<IteratorT>::equal(const boost::algorithm::split_iterator<IteratorT>&) const [with IteratorT = const char*]'
  359 |                         m_Match==Other.m_Match &&
      |                         ~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:649:26:   required from 'static bool boost::iterators::iterator_core_access::equal(const Facade1&, const Facade2&, mpl_::true_) [with Facade1 = boost::algorithm::split_iterator<const char*>; Facade2 = boost::algorithm::split_iterator<const char*>; mpl_::true_ = mpl_::bool_<true>]'
  649 |           return f1.equal(f2);
      |                  ~~~~~~~~^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:981:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator==(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = boost::algorithm::split_iterator<const char*>; V1 = const boost::iterator_range<const char*>; TC1 = forward_traversal_tag; Reference1 = const boost::iterator_range<const char*>&; Difference1 = long int; Derived2 = boost::algorithm::split_iterator<const char*>; V2 = const boost::iterator_range<const char*>; TC2 = forward_traversal_tag; Reference2 = const boost::iterator_range<const char*>&; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_adaptor.hpp:305:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::iterator_range<const char*>]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::incrementable_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  136 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::single_pass_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posParallelRcpp.cpp:37:23:   required from here
   37 |           boost::split(features, node->feature, boost::is_any_of(","));
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::iterator_range<const char*>]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
g++-14 -std=gnu++11 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppParallel/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  `mecab-config --cflags` -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c posRcpp.cpp -o posRcpp.o
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/bind/mem_fn.hpp:25,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/mem_fn.hpp:22,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function/detail/prologue.hpp:19,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function.hpp:30,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/detail/find_iterator.hpp:18,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/find_iterator.hpp:24,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:27,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:16,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string.hpp:23,
                 from posRcpp.cpp:5:
/data/gannet/ripley/R/test-dev/BH/include/boost/get_pointer.hpp:48:40: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   48 | template<class T> T * get_pointer(std::auto_ptr<T> const& p)
      |                                        ^~~~~~~~
In file included from /usr/local/gcc14/include/c++/14.2.0/memory:78,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function/function_base.hpp:34,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function/detail/prologue.hpp:18:
/usr/local/gcc14/include/c++/14.2.0/bits/unique_ptr.h:59:28: note: declared here
   59 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/concept/assert.hpp:35,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:20,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:19,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/size_type.hpp:20,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/size.hpp:21,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/functions.hpp:20,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/iterator_range_core.hpp:38,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/iterator_range.hpp:13,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/as_literal.hpp:18,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/trim.hpp:19,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string.hpp:19:
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::algorithm::FinderConcept<boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> >, const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:81:13:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:65:52: warning: 'this' pointer is null [-Wnonnull]
   65 |     static void failed() { ((Model*)0)->constraints(); }
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:26:
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/concept.hpp:40:18: note: in a call to non-static member function 'void boost::algorithm::FinderConcept<FinderT, IteratorT>::constraints() [with FinderT = boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> >; IteratorT = const char*]'
   40 |             void constraints()
      |                  ^~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:31:
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_concepts.hpp:114:7:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_concepts.hpp:114:7:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::incrementable_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:152:13:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:152:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<const char*>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::single_pass_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<const char*>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9:   required from 'struct boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/equal.hpp:174:13:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/equal.hpp:174:13:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/equal.hpp:174:13:   required from 'bool boost::range::equal(const SinglePassRange1&, const SinglePassRange2&) [with SinglePassRange1 = boost::iterator_range<const char*>; SinglePassRange2 = boost::iterator_range<const char*>]'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/iterator_range_core.hpp:644:32:   required from 'bool boost::operator==(const iterator_range<IteratorT>&, const iterator_range<Iterator2T>&) [with Iterator1T = const char*; Iterator2T = const char*]'
  644 |             return boost::equal( l, r );
      |                    ~~~~~~~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/find_iterator.hpp:359:32:   required from 'bool boost::algorithm::split_iterator<IteratorT>::equal(const boost::algorithm::split_iterator<IteratorT>&) const [with IteratorT = const char*]'
  359 |                         m_Match==Other.m_Match &&
      |                         ~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:649:26:   required from 'static bool boost::iterators::iterator_core_access::equal(const Facade1&, const Facade2&, mpl_::true_) [with Facade1 = boost::algorithm::split_iterator<const char*>; Facade2 = boost::algorithm::split_iterator<const char*>; mpl_::true_ = mpl_::bool_<true>]'
  649 |           return f1.equal(f2);
      |                  ~~~~~~~~^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:981:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator==(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = boost::algorithm::split_iterator<const char*>; V1 = const boost::iterator_range<const char*>; TC1 = forward_traversal_tag; Reference1 = const boost::iterator_range<const char*>&; Difference1 = long int; Derived2 = boost::algorithm::split_iterator<const char*>; V2 = const boost::iterator_range<const char*>; TC2 = forward_traversal_tag; Reference2 = const boost::iterator_range<const char*>&; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_adaptor.hpp:305:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::iterator_range<const char*>]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::incrementable_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  136 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::single_pass_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char* const&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
posRcpp.cpp:61:19:   required from here
   61 |       boost::split(features, node->feature, boost::is_any_of(","));
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::iterator_range<const char*>]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
g++-14 -std=gnu++11 -shared -L/usr/local/gcc14/lib64 -L/usr/local/lib64 -o RcppMeCab.so RcppExports.o posLoopRcpp.o posParallelRcpp.o posRcpp.o -L/usr/lib64 -lmecab
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/RcppMeCab/src'
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/RcppMeCab/src'
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/RcppMeCab/src'
installing to /data/gannet/ripley/R/packages/tests-devel/RcppMeCab.Rcheck/00LOCK-RcppMeCab/00new/RcppMeCab/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (RcppMeCab)