Changeset 7ee4b5


Ignore:
Timestamp:
May 8, 2017, 2:04:40 PM (8 years ago)
Author:
Frederik Heber <frederik.heber@…>
Branches:
ForceAnnealing_goodresults, ForceAnnealing_tocheck
Children:
57a81e
Parents:
1b64b2f
git-author:
Frederik Heber <heber@…> (04/07/17 17:47:46)
git-committer:
Frederik Heber <frederik.heber@…> (05/08/17 14:04:40)
Message:

ObservedValue has forceUpdate() public function to externally force an update.

  • TESTS: unit test function extended to include that function.
Location:
ThirdParty/CodePatterns/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ThirdParty/CodePatterns/src/CodePatterns/ObservedValue.hpp

    r1b64b2f r7ee4b5  
    8686  virtual void subjectKilled(Observable *publisher);
    8787
     88  void forceUpdate();
     89
    8890  const T& get() const;
    8991
     
    178180
    179181template <typename T>
     182void ObservedValue<T>::forceUpdate()
     183{
     184  boost::lock_guard<boost::recursive_mutex> guard(valueLock);
     185  value = recalcMethod();
     186}
     187
     188template <typename T>
    180189void ObservedValue<T>::update(Observable *publisher)
    181190{
  • ThirdParty/CodePatterns/src/Patterns/unittests/ObservedValueUnitTest.cpp

    r1b64b2f r7ee4b5  
    7070  CPPUNIT_ASSERT_EQUAL( true, YChange_numbers->hasRecalced);
    7171  CPPUNIT_ASSERT_EQUAL( 11, (YChange_numbers->sum).get());
     72
     73  numbers->hasRecalced=false;
     74  numbers->sum.forceUpdate();
     75  CPPUNIT_ASSERT_EQUAL( true, numbers->hasRecalced);
    7276}
Note: See TracChangeset for help on using the changeset viewer.