Index: kernel/include/IMP/OptimizerState.h =================================================================== --- kernel/include/IMP/OptimizerState.h (revision 481) +++ kernel/include/IMP/OptimizerState.h (working copy) @@ -8,14 +8,14 @@ #ifndef __IMP_OPTIMIZER_STATE_H #define __IMP_OPTIMIZER_STATE_H -#include - #include "IMP_config.h" #include "VersionInfo.h" #include "internal/Object.h" #include "internal/ObjectPointer.h" #include "Optimizer.h" +#include + namespace IMP { @@ -23,7 +23,15 @@ //! Shared optimizer state. /** The OptimizerState update method is called each time the Optimizer commits - to a new set of coordinates. + to a new set of coordinates. Optimizer states may change the values of + particle attributes. However, changes to whether an attribute is optimized + or not may not be picked up by the Optimizer until the next call to + optimize. + + \note When logging is VERBOSE, state should print enough information + in evaluate to reproduce the the entire flow of data in update. When + logging is TERSE the restraint should print out only a constant number + of lines per update call. */ class IMPDLLEXPORT OptimizerState : public internal::Object { @@ -59,13 +67,8 @@ internal::ObjectPointer optimizer_; }; +IMP_OUTPUT_OPERATOR(OptimizerState); -inline std::ostream &operator<<(std::ostream &out, const OptimizerState &s) -{ - s.show(out); - return out; -} - } // namespace IMP #endif /* __IMP_OPTIMIZER_STATE_H */