PBeFS
Parallel Best-First Search
Loading...
Searching...
No Matches
PBeFS_di_unipi_it::MPIBranchAndBound Concept Reference

a B&B problem whose nodes and values can travel between processes More...

#include <PBeFS/bnb/MPIBranchAndBound.h>

Concept definition

template<class P>
std::is_trivially_copyable_v< bb_value_t< P > > &&
( std::is_trivially_copyable_v< typename P::node_type > ||
requires( const P & p , const typename P::node_type & n ,
std::vector< char > & out , const char * & in ) {
p.serialize( n , out );
{ p.deserialize( in ) } -> std::convertible_to< typename P::node_type >;
} )
a B&B problem
Definition BranchAndBound.h:337
a B&B problem whose nodes and values can travel between processes
Definition MPIBranchAndBound.h:107

Detailed Description

a B&B problem whose nodes and values can travel between processes

The values are trivially copyable, and travel as their bytes; either the node is trivially copyable too, or the problem gives serialize( n , out ), which appends the bytes of the node n to the std::vector< char > out, and deserialize( in ), which rebuilds a node from the bytes at the const char * in and moves in past them.