Removed all the virtual default constructors *::create(), as they are not used.
[libdai.git] / include / dai / gibbs.h
index 9e66b52..d63d0d4 100644 (file)
@@ -64,21 +64,6 @@ class Gibbs : public DAIAlgFG {
         /// Default constructor
         Gibbs() : DAIAlgFG(), _sample_count(0), _var_counts(), _factor_counts(), _state() {}
 
-        /// Copy constructor
-        Gibbs(const Gibbs & x) : DAIAlgFG(x), _sample_count(x._sample_count), _var_counts(x._var_counts), _factor_counts(x._factor_counts), _state(x._state) {}
-
-        /// Assignment operator
-        Gibbs& operator=( const Gibbs &x ) {
-            if( this != &x ) {
-                DAIAlgFG::operator=( x );
-                _sample_count = x._sample_count;
-                _var_counts = x._var_counts;
-                _factor_counts = x._factor_counts;
-                _state = x._state;
-            }
-            return *this;
-        }
-
         /// Construct from FactorGraph fg and PropertySet opts
         Gibbs( const FactorGraph &fg, const PropertySet &opts ) : DAIAlgFG(fg), _sample_count(0), _var_counts(), _factor_counts(), _state() {
             setProperties( opts );
@@ -89,7 +74,6 @@ class Gibbs : public DAIAlgFG {
         /// @name General InfAlg interface
         //@{
         virtual Gibbs* clone() const { return new Gibbs(*this); }
-        virtual Gibbs* create() const { return new Gibbs(); }
         virtual std::string identify() const { return std::string(Name) + printProperties(); }
         virtual Factor belief( const Var &n ) const;
         virtual Factor belief( const VarSet &ns ) const;
@@ -103,13 +87,19 @@ class Gibbs : public DAIAlgFG {
         //@}
 
 
-        /// @name Additional interface specific for BP
+        /// @name Additional interface specific for Gibbs
         //@{
         Factor beliefV( size_t i ) const;
         Factor beliefF( size_t I ) const;
         void randomizeState();
         //@}
 
+        /// Return reference to current state vector
+        std::vector<size_t>& state() { return _state; }
+
+        /// Return const reference to current state vector
+        const std::vector<size_t>& state() const { return _state; }
+
     private:
         void updateCounts();
         Prob getVarDist( size_t i );