18 class SlicedTubeBase :
public TubeBase
22 SlicedTubeBase(
const std::shared_ptr<TDomain>& tdomain)
26 inline ~SlicedTubeBase()
28 for(
auto& s : *_tdomain)
29 s._slices.erase(
this);
32 inline size_t nb_slices()
const
34 return _tdomain->nb_tslices();
37 inline std::shared_ptr<const SliceBase> first_slice()
const
39 const auto& slices = _tdomain->front().slices();
40 assert(slices.find(
this) != slices.end());
41 return slices.at(
this);
44 inline std::shared_ptr<const SliceBase> last_slice()
const
46 const auto& slices = _tdomain->back().slices();
47 assert(slices.find(
this) != slices.end());
48 return slices.at(
this);