* installing *source* package ‘phutil’ ... ** this is package ‘phutil’ version ‘0.0.1’ ** package ‘phutil’ successfully unpacked and MD5 sums checked ** using staged installation ** libs using C++ compiler: ‘g++ (GCC) 15.1.1 20250521 (Red Hat 15.1.1-2)’ make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/phutil/src' g++ -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include -fopenmp -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 -c bottleneck.cpp -o bottleneck.o In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp:17, from /data/gannet/ripley/R/test-dev/BH/include/boost/shared_ptr.hpp:17, from hera/bottleneck/../dnn/local/kd-tree.h:11, from hera/bottleneck/neighb_oracle.h:38, from hera/bottleneck/bound_match.h:36, from hera/bottleneck/bottleneck_detail.h:41, from hera/bottleneck.h:40, from bottleneck.cpp:1: /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/detail/shared_count.hpp:326:33: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 326 | explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) ) | ^~~~~~~~ In file included from /usr/include/c++/15/memory:80, from hera/bottleneck/bound_match.h:33: /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp:354:31: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 354 | explicit shared_ptr( std::auto_ptr<Y> & r ): px(r.get()), pn() | ^~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp:365:22: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 365 | shared_ptr( std::auto_ptr<Y> && r ): px(r.get()), pn() | ^~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp:423:34: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 423 | shared_ptr & operator=( std::auto_ptr<Y> & r ) | ^~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp:430:34: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 430 | shared_ptr & operator=( std::auto_ptr<Y> && r ) | ^~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp: In member function ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator=(std::auto_ptr<_Up>&&)’: /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp:432:38: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 432 | this_type( static_cast< std::auto_ptr<Y> && >( r ) ).swap( *this ); | ^~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ g++ -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include -fopenmp -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 -c cpp11.cpp -o cpp11.o In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/bind/mem_fn.hpp:23, from /data/gannet/ripley/R/test-dev/BH/include/boost/bind/bind.hpp:23, from hera/bottleneck/../dnn/local/../parallel/tbb.h:7, from hera/bottleneck/../dnn/local/kd-tree.hpp:8, from hera/bottleneck/../dnn/local/kd-tree.h:182: /data/gannet/ripley/R/test-dev/BH/include/boost/get_pointer.hpp: At global scope: /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) | ^~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ bottleneck.cpp: In function ‘cpp11::doubles bottleneckPairwiseDistances(const cpp11::list&, double, unsigned int)’: bottleneck.cpp:54:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 54 | for (int n = 0;n < N;++n) | ~~^~~ bottleneck.cpp:63:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 63 | for (int k = 0;k < K;++k) | ~~^~~ g++ -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include -fopenmp -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 -c diagram_parser.cpp -o diagram_parser.o g++ -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include -fopenmp -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 -c wasserstein.cpp -o wasserstein.o In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp:17, from /data/gannet/ripley/R/test-dev/BH/include/boost/shared_ptr.hpp:17, from hera/wasserstein/../dnn/local/kd-tree.h:11, from hera/wasserstein/auction_oracle_kdtree_restricted.h:44, from hera/wasserstein/auction_oracle.h:36, from hera/wasserstein/auction_runner_gs.h:37, from hera/wasserstein.h:41, from wasserstein.cpp:1: /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/detail/shared_count.hpp:326:33: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 326 | explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) ) | ^~~~~~~~ In file included from /usr/include/c++/15/memory:80, from hera/wasserstein/auction_runner_gs.h:32: /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp:354:31: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 354 | explicit shared_ptr( std::auto_ptr<Y> & r ): px(r.get()), pn() | ^~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp:365:22: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 365 | shared_ptr( std::auto_ptr<Y> && r ): px(r.get()), pn() | ^~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp:423:34: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 423 | shared_ptr & operator=( std::auto_ptr<Y> & r ) | ^~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp:430:34: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 430 | shared_ptr & operator=( std::auto_ptr<Y> && r ) | ^~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp: In member function ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator=(std::auto_ptr<_Up>&&)’: /data/gannet/ripley/R/test-dev/BH/include/boost/smart_ptr/shared_ptr.hpp:432:38: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 432 | this_type( static_cast< std::auto_ptr<Y> && >( r ) ).swap( *this ); | ^~~~~~~~ /usr/include/c++/15/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/bind/mem_fn.hpp:23, from /data/gannet/ripley/R/test-dev/BH/include/boost/bind/bind.hpp:23, from hera/wasserstein/../dnn/local/../parallel/tbb.h:7, from hera/wasserstein/../dnn/local/kd-tree.hpp:8, from hera/wasserstein/../dnn/local/kd-tree.h:182: /data/gannet/ripley/R/test-dev/BH/include/boost/get_pointer.hpp: At global scope: /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) | ^~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:59:28: note: declared here 59 | template<typename> class auto_ptr; | ^~~~~~~~ wasserstein.cpp: In function ‘cpp11::doubles wassersteinPairwiseDistances(const cpp11::list&, double, double, unsigned int)’: wasserstein.cpp:85:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 85 | for (int n = 0;n < N;++n) | ~~^~~ wasserstein.cpp:94:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 94 | for (int k = 0;k < K;++k) | ~~^~~ 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/algorithm/heap_algorithm.hpp:12, from hera/wasserstein/../dnn/local/search-functors.h:4, from hera/wasserstein/../dnn/local/kd-tree.h:5: /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5: required from ‘struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13: required from ‘struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5: required from ‘struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9: [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13: required from ‘struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9: [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9: required from ‘struct boost::SinglePassRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:318:12: required from ‘struct boost::ForwardRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 318 | struct ForwardRangeConcept : SinglePassRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:352:12: required from ‘struct boost::BidirectionalRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 352 | struct BidirectionalRangeConcept : ForwardRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:370:12: required from ‘struct boost::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 370 | struct RandomAccessRangeConcept : BidirectionalRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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 = __gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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::CopyConstructible<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5: required from ‘struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::CopyConstructible<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13: required from ‘struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5: required from ‘struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13: required from ‘struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:281:9: [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:281:9: required from ‘struct boost::SinglePassRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:318:12: required from ‘struct boost::ForwardRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 318 | struct ForwardRangeConcept : SinglePassRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:352:12: required from ‘struct boost::BidirectionalRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 352 | struct BidirectionalRangeConcept : ForwardRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:370:12: required from ‘struct boost::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 370 | struct RandomAccessRangeConcept : BidirectionalRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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 = __gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9: required from ‘struct boost::SinglePassRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:318:12: required from ‘struct boost::ForwardRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 318 | struct ForwardRangeConcept : SinglePassRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:352:12: required from ‘struct boost::BidirectionalRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 352 | struct BidirectionalRangeConcept : ForwardRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:370:12: required from ‘struct boost::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 370 | struct RandomAccessRangeConcept : BidirectionalRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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::DefaultConstructible<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:137:5: required from ‘struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:181:16: required from ‘struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 181 | struct ForwardIteratorConcept | ^~~~~~~~~~~~~~~~~~~~~~ /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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::DefaultConstructible<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::forward_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::forward_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::forward_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::forward_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::forward_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::forward_traversal_tag>)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:191:13: [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::forward_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::forward_traversal_tag>]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:191:13: required from ‘struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:321:9: [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::forward_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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:197:13: required from ‘struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:321:9: [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:321:9: required from ‘struct boost::ForwardRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:352:12: required from ‘struct boost::BidirectionalRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 352 | struct BidirectionalRangeConcept : ForwardRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:370:12: required from ‘struct boost::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 370 | struct RandomAccessRangeConcept : BidirectionalRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >::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 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:197:13: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 197 | BOOST_CONCEPT_USAGE(ForwardIteratorConcept) | ^~~~~~~~~~~~~~~~~~~ /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::DefaultConstructible<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:137:5: required from ‘struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:181:16: required from ‘struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 181 | struct ForwardIteratorConcept | ^~~~~~~~~~~~~~~~~~~~~~ /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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::DefaultConstructible<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:197:13: required from ‘struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:322:9: [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:322:9: required from ‘struct boost::ForwardRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:352:12: required from ‘struct boost::BidirectionalRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 352 | struct BidirectionalRangeConcept : ForwardRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:370:12: required from ‘struct boost::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 370 | struct RandomAccessRangeConcept : BidirectionalRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >::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 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:197:13: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 197 | BOOST_CONCEPT_USAGE(ForwardIteratorConcept) | ^~~~~~~~~~~~~~~~~~~ /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::bidirectional_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::bidirectional_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::bidirectional_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::bidirectional_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::bidirectional_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::bidirectional_traversal_tag>)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:218:14: [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::bidirectional_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::bidirectional_traversal_tag>]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:218:14: required from ‘struct boost::range_detail::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:355:9: [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::bidirectional_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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:224:14: required from ‘struct boost::range_detail::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:355:9: [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:355:9: required from ‘struct boost::BidirectionalRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:370:12: required from ‘struct boost::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 370 | struct RandomAccessRangeConcept : BidirectionalRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >::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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::BidirectionalIteratorConcept<Iterator>::~BidirectionalIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:224:14: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 224 | BOOST_CONCEPT_USAGE(BidirectionalIteratorConcept) | ^~~~~~~~~~~~~~~~~~~ /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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:224:14: required from ‘struct boost::range_detail::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:356:9: [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:356:9: required from ‘struct boost::BidirectionalRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:370:12: required from ‘struct boost::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 370 | struct RandomAccessRangeConcept : BidirectionalRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >::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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::BidirectionalIteratorConcept<Iterator>::~BidirectionalIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:224:14: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 224 | BOOST_CONCEPT_USAGE(BidirectionalIteratorConcept) | ^~~~~~~~~~~~~~~~~~~ /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::random_access_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::random_access_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::random_access_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::random_access_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::random_access_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::random_access_traversal_tag>)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:239:14: [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::random_access_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::random_access_traversal_tag>]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:239:14: required from ‘struct boost::range_detail::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:373:9: [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::random_access_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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:245:14: required from ‘struct boost::range_detail::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:373:9: [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:373:9: required from ‘struct boost::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >::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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/heap_algorithm.hpp:32:5: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessIteratorConcept<Iterator>::~RandomAccessIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:245:14: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 245 | BOOST_CONCEPT_USAGE(RandomAccessIteratorConcept) | ^~~~~~~~~~~~~~~~~~~ /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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:245:14: required from ‘struct boost::range_detail::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:374:9: [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:374:9: required from ‘struct boost::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >::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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >)>’ 72 | struct requirement_<void(*)(Model)> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/heap_algorithm.hpp:32:5: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessIteratorConcept<Iterator>::~RandomAccessIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:245:14: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 245 | BOOST_CONCEPT_USAGE(RandomAccessIteratorConcept) | ^~~~~~~~~~~~~~~~~~~ /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::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’: /data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/heap_algorithm.hpp:32:5: required from ‘RandomAccessRange& boost::range::push_heap(RandomAccessRange&) [with RandomAccessRange = std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > >]’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hera/wasserstein/../dnn/local/search-functors.h:94:29: required from ‘hera::dnn::kNNRecord<HandleDistance>::DistanceType hera::dnn::kNNRecord<HandleDistance>::operator()(PointHandle, DistanceType) [with HandleDistance = hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >; DistanceType = double; PointHandle = const hera::ws::dnn::Point<2, double>*]’ 94 | boost::push_heap(result); | ~~~~~~~~~~~~~~~~^~~~~~~~ hera/wasserstein/../dnn/local/kd-tree.hpp:146:15: required from ‘void hera::ws::dnn::KDTree<Traits_>::search(PointHandle, ResultsFunctor&) const [with ResultsFunctor = hera::dnn::kNNRecord<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > >; Traits_ = hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> >; PointHandle = const hera::ws::dnn::Point<2, double>*]’ 146 | D = rf(*m, dist); | ~~^~~~~~~~~~ hera/wasserstein/../dnn/local/kd-tree.hpp:289:11: required from ‘hera::ws::dnn::KDTree<Traits_>::Result hera::ws::dnn::KDTree<Traits_>::findK(PointHandle, size_t) const [with Traits_ = hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> >; Result = std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > >; PointHandle = const hera::ws::dnn::Point<2, double>*; size_t = long unsigned int]’ 289 | search(q, knn); | ~~~~~~^~~~~~~~ hera/wasserstein/../dnn/local/kd-tree.h:66:91: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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/range/algorithm/heap_algorithm.hpp:15: /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:370:12: note: in a call to non-static member function ‘boost::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >::~RandomAccessRangeConcept()’ 370 | struct RandomAccessRangeConcept : BidirectionalRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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 = __gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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 21 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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 = __gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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 = __gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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 = __gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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::CopyConstructible<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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 = __gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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 = __gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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 = __gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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 = __gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 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<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’: /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<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:318:12: required from ‘struct boost::ForwardRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 318 | struct ForwardRangeConcept : SinglePassRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:352:12: required from ‘struct boost::BidirectionalRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 352 | struct BidirectionalRangeConcept : ForwardRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:370:12: required from ‘struct boost::RandomAccessRangeConcept<std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >’ 370 | struct RandomAccessRangeConcept : BidirectionalRangeConcept<T> | ^~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62: [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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 = std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > >]’ 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::DefaultConstructible<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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::DefaultConstructible<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 50 | static void failed() { ((Model*)0)->~Model(); } | ~~~~~~~~~~~~~~~~~~~^~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:137:5: required from ‘struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:181:16: required from ‘struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 181 | struct ForwardIteratorConcept | ^~~~~~~~~~~~~~~~~~~~~~ /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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::DefaultConstructible<TT>::~DefaultConstructible() [with TT = __gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:137:5: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 137 | BOOST_CONCEPT_USAGE(DefaultConstructible) { | ^~~~~~~~~~~~~~~~~~~ /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::forward_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::forward_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::forward_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::forward_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::forward_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::forward_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 ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::forward_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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 50 | static void failed() { ((Model*)0)->~Model(); } | ~~~~~~~~~~~~~~~~~~~^~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:197:13: required from ‘struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:197:13: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 197 | BOOST_CONCEPT_USAGE(ForwardIteratorConcept) | ^~~~~~~~~~~~~~~~~~~ /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::DefaultConstructible<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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::DefaultConstructible<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 50 | static void failed() { ((Model*)0)->~Model(); } | ~~~~~~~~~~~~~~~~~~~^~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:137:5: required from ‘struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 92 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:181:16: required from ‘struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 181 | struct ForwardIteratorConcept | ^~~~~~~~~~~~~~~~~~~~~~ /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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::DefaultConstructible<TT>::~DefaultConstructible() [with TT = __gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:137:5: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 137 | BOOST_CONCEPT_USAGE(DefaultConstructible) { | ^~~~~~~~~~~~~~~~~~~ /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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 50 | static void failed() { ((Model*)0)->~Model(); } | ~~~~~~~~~~~~~~~~~~~^~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:197:13: required from ‘struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:197:13: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 197 | BOOST_CONCEPT_USAGE(ForwardIteratorConcept) | ^~~~~~~~~~~~~~~~~~~ /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::bidirectional_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::bidirectional_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::bidirectional_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::bidirectional_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::bidirectional_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::bidirectional_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 ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::bidirectional_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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 50 | static void failed() { ((Model*)0)->~Model(); } | ~~~~~~~~~~~~~~~~~~~^~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:224:14: required from ‘struct boost::range_detail::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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 ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::BidirectionalIteratorConcept<Iterator>::~BidirectionalIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:224:14: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 224 | BOOST_CONCEPT_USAGE(BidirectionalIteratorConcept) | ^~~~~~~~~~~~~~~~~~~ /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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 50 | static void failed() { ((Model*)0)->~Model(); } | ~~~~~~~~~~~~~~~~~~~^~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:224:14: required from ‘struct boost::range_detail::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 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 ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::BidirectionalIteratorConcept<Iterator>::~BidirectionalIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:224:14: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 224 | BOOST_CONCEPT_USAGE(BidirectionalIteratorConcept) | ^~~~~~~~~~~~~~~~~~~ /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::random_access_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::random_access_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::random_access_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::random_access_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::random_access_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::random_access_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 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::random_access_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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 50 | static void failed() { ((Model*)0)->~Model(); } | ~~~~~~~~~~~~~~~~~~~^~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:245:14: required from ‘struct boost::range_detail::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessIteratorConcept<Iterator>::~RandomAccessIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:245:14: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 245 | BOOST_CONCEPT_USAGE(RandomAccessIteratorConcept) | ^~~~~~~~~~~~~~~~~~~ /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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’: /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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >]’ 50 | static void failed() { ((Model*)0)->~Model(); } | ~~~~~~~~~~~~~~~~~~~^~ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:245:14: required from ‘struct boost::range_detail::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > >]’ 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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >::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::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > > > >’ 45 | typedef boost::integral_constant<bool, value> type; | ^~~~ /data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8: [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] hera/wasserstein/auction_runner_gs.hpp:199:50: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phase() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 199 | auto optimal_bid = oracle.get_optimal_bid(bidder_idx); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:138:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction_phases() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 138 | run_auction_phase(); | ^~~~~~~~~~~~~~~~~ hera/wasserstein/auction_runner_gs.hpp:167:9: required from ‘void hera::ws::AuctionRunnerGS<RealType_, AuctionOracle_, PointContainer_>::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreeRestricted<double, std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > > >; PointContainer_ = std::vector<hera::DiagramPoint<double>, std::allocator<hera::DiagramPoint<double> > >]’ 167 | run_auction_phases(); | ^~~~~~~~~~~~~~~~~~ hera/wasserstein.h:222:28: required from ‘hera::AuctionResult<Real> hera::ws::wasserstein_cost_vec_detailed(const std::vector<hera::DiagramPoint<Real> >&, const std::vector<hera::DiagramPoint<Real> >&, hera::AuctionParams<Real>) [with RealType = double]’ 222 | auction.run_auction(); | ~~~~~~~~~~~~~~~~~~~^~ hera/wasserstein.h:394:84: required from ‘hera::AuctionResult<typename hera::DiagramTraits<PairContainer>::RealType> hera::wasserstein_cost_detailed(const PairContainer&, const PairContainer&, const AuctionParams<typename DiagramTraits<PairContainer>::RealType>&) [with PairContainer = std::vector<std::pair<double, double> >; typename DiagramTraits<PairContainer>::RealType = double; typename std::remove_const<typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type>::type = std::pair<double, double>; typename std::remove_reference<decltype (* declval<PairContainer_>().begin())>::type = std::pair<double, double>; decltype (* declval<PairContainer_>().begin()) = std::pair<double, double>&]’ 394 | return add_results(infinity_result, hera::ws::wasserstein_cost_vec_detailed(dgm_A, dgm_B, params), params.wasserstein_power); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ wasserstein.cpp:57:45: required from here 57 | auto res = hera::wasserstein_cost_detailed(diagramA, diagramB, params); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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::RandomAccessIteratorConcept<Iterator>::~RandomAccessIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >*, std::vector<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > >, std::allocator<hera::dnn::HandleDistance<hera::ws::dnn::KDTree<hera::ws::dnn::PointTraits<hera::ws::dnn::Point<2, double> > > > > > >]’ 37 | ~model() | ^ /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:245:14: note: in expansion of macro ‘BOOST_CONCEPT_USAGE’ 245 | BOOST_CONCEPT_USAGE(RandomAccessIteratorConcept) | ^~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -shared -L/usr/local/lib64 -o phutil.so bottleneck.o cpp11.o diagram_parser.o wasserstein.o -fopenmp make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/phutil/src' make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/phutil/src' make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/phutil/src' installing to /data/gannet/ripley/R/packages/tests-devel/phutil.Rcheck/00LOCK-phutil/00new/phutil/libs ** R ** data *** moving datasets to lazyload DB ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** building package indices ** installing vignettes ** 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 (phutil)