23 #define BOOST_NO_HASH  // to pacify the warnings about depricated headers in boost.graph 
   25 #include <boost/graph/graph_traits.hpp> 
   26 #include <boost/graph/adjacency_list.hpp> 
   38   class SDGraph: 
public boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS,
 
   39   boost::property<boost::vertex_name_t, KEY>, boost::property<
 
   40   boost::edge_weight_t, double> > {
 
   42     typedef typename boost::graph_traits<SDGraph<KEY> >::vertex_descriptor 
Vertex;
 
   46   class SGraph : 
public boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS,
 
   47       boost::property<boost::vertex_name_t, KEY> > {
 
   49     typedef typename boost::graph_traits<SGraph<KEY> >::vertex_descriptor 
Vertex;
 
   62       std::map<KEY, KEY>::emplace(
key, parent);
 
   85   template<
class G, 
class V, 
class KEY>
 
   91   template<
class G, 
class Factor, 
class POSE, 
class KEY>
 
   92   std::shared_ptr<Values>
 
   99   template<
class G, 
class KEY, 
class FACTOR2>
 
  106   template<
class G, 
class KEY, 
class FACTOR2>
 
  107   void split(
const G& 
g, 
const PredecessorMap<KEY>& 
tree, 
G& Ab1, 
G& Ab2) ;