codac  1.5.7
codac2_AbstractConstTube.h
Go to the documentation of this file.
1 
12 #ifndef __CODAC2_ABSTRACTCONSTTUBE_H__
13 #define __CODAC2_ABSTRACTCONSTTUBE_H__
14 
15 #include <list>
16 #include <memory>
17 
18 #include "codac_Interval.h"
19 #include "codac_IntervalVector.h"
20 #include "codac_TrajectoryVector.h"
21 #include "codac_BoolInterval.h"
22 
23 namespace codac2
24 {
25  using codac::Trajectory;
27  using codac::Interval;
28  using codac::BoolInterval;
29 
30  template<typename W, typename T>
31  class AbstractConstTube
32  {
33  public:
34 
35  AbstractConstTube()
36  {
37 
38  }
39 
40  AbstractConstTube(const T& x);
41 
42  virtual ~AbstractConstTube()
43  {
44 
45  }
46 
47  virtual size_t size() const = 0;
48  virtual BoolInterval contains(const TrajectoryVector& value) const = 0;
49  virtual Interval t0_tf() const = 0;
50  virtual W codomain() const = 0;
51  // virtual W operator()(double t) const = 0;
52  //virtual W operator()(const Interval& t) const = 0;
53 
54  //TubeVectorComponent operator[](size_t index);
55  //const TubeVectorComponent operator[](size_t index) const;
56 
57  //friend std::ostream& operator<<(std::ostream& os, const TubeVector_& x);
58  void print(std::ostream& os) const
59  {
60  os << t0_tf()
61  << "↦" << codomain()
62  << std::flush;
63  }
64  };
65 
66 } // namespace codac
67 
68 #endif
One dimensional trajectory , defined as a temporal map of values.
Definition: codac_Trajectory.h:35
n-dimensional trajectory , defined as a temporal map of vector values
Definition: codac_TrajectoryVector.h:38