* 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;
| ^~~~~~~~
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;
| ^~~~~~~~
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
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)