// -*- mode: c++ -*- // Copyright 2010, François Bleibel, Thomas Moulard, Olivier Stasse, // JRL, CNRS/AIST. // // This file is part of dynamic-graph. // dynamic-graph is free software: you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public License // as published by the Free Software Foundation, either version 3 of // the License, or (at your option) any later version. // // dynamic-graph is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // General Lesser Public License for more details. You should have // received a copy of the GNU Lesser General Public License along with // dynamic-graph. If not, see . #ifndef DYNAMIC_GRAPH_TIME_DEPENDENCY_H # define DYNAMIC_GRAPH_TIME_DEPENDENCY_H # include # include # include # include # include namespace dynamicgraph { /** \brief A helper class for setting and specifying dependencies between signals. */ template class TimeDependency { public: enum DependencyType { TIME_DEPENDENT, BOOL_DEPENDENT, ALWAYS_READY }; mutable Time lastAskForUpdate; public: SignalBase< Time >& leader; typedef std::list< const SignalBase