ensemble.hpp 533 B

123456789101112131415161718192021222324
  1. #ifndef SIMPLE_MOTION_ENSEMBLE_HPP
  2. #define SIMPLE_MOTION_ENSEMBLE_HPP
  3. #include <utility>
  4. #include "common.hpp"
  5. namespace simple::motion
  6. {
  7. template <typename... Motions>
  8. class ensemble // TODO
  9. {
  10. using duration = std::common_type_t<typename Motions::duration...>;
  11. std::tuple<Motions...> instruments;
  12. bool done();
  13. advance_result<duration> advance(duration delta);
  14. void reset();
  15. template <typename T>
  16. advance_result<duration> move(T& target, duration delta);
  17. };
  18. } // namespace simple::motion
  19. #endif /* end of include guard */