Extended InfAlg interface with setProperties(), getProperties() and printProperties()
[libdai.git] / include / dai / hak.h
index fb97ef6..618c225 100644 (file)
@@ -103,6 +103,9 @@ class HAK : public DAIAlgRG {
         virtual Real run();
         virtual Real maxDiff() const { return _maxdiff; }
         virtual size_t Iterations() const { return _iters; }
+        virtual void setProperties( const PropertySet &opts );
+        virtual PropertySet getProperties() const;
+        virtual std::string printProperties() const;
     //@}
 
 
@@ -117,19 +120,6 @@ class HAK : public DAIAlgRG {
         Real doDoubleLoop();
     //@}
 
-    /// \name Managing parameters (which are stored in HAK::props)
-    //@{
-        /// Set parameters of this inference algorithm.
-        /** The parameters are set according to \a opts. 
-         *  The values can be stored either as std::string or as the type of the corresponding HAK::props member.
-         */
-        void setProperties( const PropertySet &opts );
-        /// Returns parameters of this inference algorithm converted into a PropertySet.
-        PropertySet getProperties() const;
-        /// Returns parameters of this inference algorithm formatted as a string in the format "[key1=val1,key2=val2,...,keyn=valn]".
-        std::string printProperties() const;
-    //@}
-
     private:
         void constructMessages();
         void findLoopClusters( const FactorGraph &fg, std::set<VarSet> &allcl, VarSet newcl, const Var & root, size_t length, VarSet vars );