27#include <initializer_list>
69 static IntervalList FromIntervals(
const std::vector<Interval>& intervals);
100 explicit IntervalList(
const std::vector<Interval>& intervals)
101 : intervals_(intervals)
104 explicit IntervalList(std::vector<Interval>&& intervals)
105 : intervals_(std::move(intervals))
113 size_t size() const noexcept {
return intervals_.size(); }
116 bool empty() const noexcept {
return intervals_.empty(); }
119 void reserve(
size_t n) { intervals_.reserve(n); }
122 void clear() { intervals_.clear(); }
144 const Interval&
at(
size_t i)
const {
return intervals_.at(i); }
150 using iterator = std::vector<Interval>::iterator;
151 using const_iterator = std::vector<Interval>::const_iterator;
153 iterator begin() {
return intervals_.begin(); }
154 iterator end() {
return intervals_.end(); }
155 const_iterator begin()
const {
return intervals_.begin(); }
156 const_iterator end()
const {
return intervals_.end(); }
169 void push_back(
double start,
double stop) { intervals_.push_back({start, stop}); }
180 std::vector<Interval>&
intervals() noexcept {
return intervals_; }
183 const std::vector<Interval>&
intervals() const noexcept {
return intervals_; }
194 for (
const auto& iv : intervals_)
196 double d = iv.duration();
197 total += (d > 0.0) ? d : 0.0;
207 for (
const auto& iv : intervals_)
209 if (t >= iv.start_ && t <= iv.stop_)
318 std::vector<Interval> intervals_{};
็ธๅฏนๆถๆฎตๅ่กจ
ๅฎไน IntervalList.hpp:58
IntervalList operator&(const IntervalList &other) const
ไบค้๏ผ่ฟๅๅฏๆฌ๏ผ็ญไปทไบ intersected๏ผ
ๅฎไน IntervalList.hpp:292
void push_back(double start, double stop)
่ฟฝๅ ไธไธชๅบ้ด
ๅฎไน IntervalList.hpp:169
IntervalList(const IntervalList &)=default
ๆท่ดๆ้
IntervalList(IntervalList &&) noexcept=default
็งปๅจๆ้
IntervalList & operator=(const IntervalList &)=default
ๆท่ด่ตๅผ
IntervalList & operator|=(const IntervalList &other)
ๅๅฐๅนถ้๏ผ็ญไปทไบ unite๏ผ
ๅฎไน IntervalList.hpp:286
void pop_back()
็งป้คๆๅไธไธชๅบ้ด
ๅฎไน IntervalList.hpp:173
Interval & at(size_t i)
่ฎฟ้ฎ็ฌฌ i ไธชๅบ้ด๏ผ่พน็ๆฃๆฅ๏ผ
ๅฎไน IntervalList.hpp:139
Interval & operator[](size_t i)
่ฎฟ้ฎ็ฌฌ i ไธชๅบ้ด๏ผๆ ่พน็ๆฃๆฅ๏ผ
ๅฎไน IntervalList.hpp:130
IntervalList & operator-=(const IntervalList &other)
ๅๅฐๅทฎ้๏ผ็ญไปทไบ subtract๏ผ
ๅฎไน IntervalList.hpp:289
bool empty() const noexcept
ๅคๆญๅ่กจๆฏๅฆไธบ็ฉบ
ๅฎไน IntervalList.hpp:116
const Interval & operator[](size_t i) const
่ฎฟ้ฎ็ฌฌ i ไธชๅบ้ด๏ผๆ ่พน็ๆฃๆฅ๏ผ
ๅฎไน IntervalList.hpp:134
const std::vector< Interval > & intervals() const noexcept
่ทๅๅบๅฑๅบ้ดๅ้๏ผๅช่ฏป๏ผ
ๅฎไน IntervalList.hpp:183
bool contains(double t) const
ๆฃๆฅๆถ้ด็น t ๆฏๅฆ่ฝๅจไปปไธๅบ้ดๅ
ๅฎไน IntervalList.hpp:205
~IntervalList()=default
ๆๆๅฝๆฐ
void clear()
ๆธ
็ฉบๅ่กจ
ๅฎไน IntervalList.hpp:122
std::vector< Interval > & intervals() noexcept
่ทๅๅบๅฑๅบ้ดๅ้๏ผๅฏไฟฎๆน๏ผ
ๅฎไน IntervalList.hpp:180
const Interval & at(size_t i) const
่ฎฟ้ฎ็ฌฌ i ไธชๅบ้ด๏ผ่พน็ๆฃๆฅ๏ผ
ๅฎไน IntervalList.hpp:144
double totalDuration() const
ๆปๆถ้ฟ๏ผๆๆๅบ้ด duration ไนๅ๏ผไธ่่้ๅ ๏ผๅๅๅบ้ด่ดก็ฎไธบ 0๏ผ
ๅฎไน IntervalList.hpp:191
size_t size() const noexcept
่ฟๅๅบ้ดๆฐ้
ๅฎไน IntervalList.hpp:113
void reserve(size_t n)
้ข็ๅฎน้
ๅฎไน IntervalList.hpp:119
IntervalList operator-(const IntervalList &other) const
ๅทฎ้๏ผ่ฟๅๅฏๆฌ๏ผ็ญไปทไบ subtracted๏ผ
ๅฎไน IntervalList.hpp:298
void push_back(const Interval &interval)
่ฟฝๅ ไธไธชๅบ้ด
ๅฎไน IntervalList.hpp:164
IntervalList()=default
้ป่ฎคๆ้ ๅฝๆฐ
IntervalList operator|(const IntervalList &other) const
ๅนถ้๏ผ่ฟๅๅฏๆฌ๏ผ็ญไปทไบ united๏ผ
ๅฎไน IntervalList.hpp:295
IntervalList & operator&=(const IntervalList &other)
ๅๅฐไบค้๏ผ็ญไปทไบ intersect๏ผ
ๅฎไน IntervalList.hpp:283
็ธๅฏนๆถ้ดๅบ้ด
ๅฎไน Interval.hpp:42
ๆถ้ด็นๅ่กจ
ๅฎไน TimeList.hpp:49
็ปๅฏนๆถ้ด็น
ๅฎไน TimePoint.hpp:108