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_)
268 std::vector<Interval> intervals_;
็ธๅฏนๆถๆฎตๅ่กจ
ๅฎไน IntervalList.hpp:58
void push_back(double start, double stop)
่ฟฝๅ ไธไธชๅบ้ด
ๅฎไน IntervalList.hpp:169
IntervalList(const IntervalList &)=default
ๆท่ดๆ้
IntervalList(IntervalList &&) noexcept=default
็งปๅจๆ้
IntervalList & operator=(const IntervalList &)=default
ๆท่ด่ตๅผ
void pop_back()
็งป้คๆๅไธไธชๅบ้ด
ๅฎไน IntervalList.hpp:173
Interval & at(size_t i)
่ฎฟ้ฎ็ฌฌ i ไธชๅบ้ด๏ผ่พน็ๆฃๆฅ๏ผ
ๅฎไน IntervalList.hpp:139
Interval & operator[](size_t i)
่ฎฟ้ฎ็ฌฌ i ไธชๅบ้ด๏ผๆ ่พน็ๆฃๆฅ๏ผ
ๅฎไน IntervalList.hpp:130
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
void push_back(const Interval &interval)
่ฟฝๅ ไธไธชๅบ้ด
ๅฎไน IntervalList.hpp:164
IntervalList()=default
้ป่ฎคๆ้ ๅฝๆฐ
็ธๅฏนๆถ้ดๅบ้ด
ๅฎไน Interval.hpp:37
ๆถ้ด็นๅ่กจ
ๅฎไน TimeList.hpp:49
็ปๅฏนๆถ้ด็น
ๅฎไน TimePoint.hpp:107