codac 1.5.6
Loading...
Searching...
No Matches
codac2_TSlice.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include <map>
13#include <memory>
14
15namespace codac2
16{
17 class Interval;
18 class SliceBase;
19 class SlicedTubeBase;
20
21 class TSlice : public Interval
22 {
23 public:
24
25 explicit TSlice(const Interval& tdomain);
26 TSlice(const TSlice& tslice, const Interval& tdomain); // performs a deep copy on slices
27 bool is_gate() const;
28 const std::map<const SlicedTubeBase*,std::shared_ptr<SliceBase>>& slices() const;
29 bool operator==(const TSlice& x) const;
30 bool operator==(const Interval& x) const;
31
32 protected:
33
34 std::map<const SlicedTubeBase*,std::shared_ptr<SliceBase>> _slices;
35
36 friend class TDomain;
37 friend class SlicedTubeBase;
38 template<typename T>
39 friend class SlicedTube;
40 };
41}
Interval class, for representing closed and connected subsets of .
Definition codac2_Interval.h:62
Interval()
Creates an interval .
Definition codac2_Interval_impl.h:21