Extended SWIG python interface (inspired by Kyle Ellrott): inference is possible...
[libdai.git] / include / dai / graph.h
index 019fea1..d8ffb61 100644 (file)
@@ -61,7 +61,7 @@ namespace dai {
  *  \code
  *  for( size_t i = 0; i < nrNodes(); ++i ) {
  *      size_t _j = 0;
- *      foreach( const Neighbor &j, nb(i) ) {
+ *      bforeach( const Neighbor &j, nb(i) ) {
  *          assert( j == nb(i,j.iter) );
  *          assert( nb(j.node,j.dual).node == i );
  *          assert( _j = j.iter );
@@ -282,10 +282,10 @@ class GraphAL {
             for( size_t n1 = 0; n1 < nrNodes(); n1++ ) {
                 if( nb(n1).size() != x.nb(n1).size() )
                     return false;
-                foreach( const Neighbor &n2, nb(n1) )
+                bforeach( const Neighbor &n2, nb(n1) )
                     if( !x.hasEdge( n1, n2 ) )
                         return false;
-                foreach( const Neighbor &n2, x.nb(n1) )
+                bforeach( const Neighbor &n2, x.nb(n1) )
                     if( !hasEdge( n1, n2 ) )
                         return false;
             }
@@ -295,14 +295,21 @@ class GraphAL {
 
     /// \name Input and output
     //@{
-        /// Writes this GraphAL to an output stream in GraphViz .dot syntax
+        /// Writes a GraphAL to an output stream in GraphViz .dot syntax
         void printDot( std::ostream& os ) const;
 
-        /// Writes this GraphAL to an output stream
+        /// Writes a GraphAL to an output stream
         friend std::ostream& operator<<( std::ostream& os, const GraphAL& g ) {
             g.printDot( os );
             return os;
         }
+
+        /// Formats a GraphAL as a string
+        std::string toString() const {
+            std::stringstream ss;
+            ss << *this;
+            return ss.str();
+        }
     //@}
 };