75 static TimeIntervalList FromTimeIntervals(
const std::vector<TimeInterval>& intervals);
132 size_t size() const noexcept {
return intervals_.size(); }
135 bool empty() const noexcept {
return intervals_.empty(); }
138 void reserve(
size_t n) { intervals_.reserve(n); }
141 void clear() { intervals_.clear(); }
335 std::string toString(
int precision = kTimePointDefaultFormatPrecision)
const;
347 using iterator_category = std::random_access_iterator_tag;
349 using difference_type = std::ptrdiff_t;
356 : data_(data), epoch_(epoch) {}
361 return TimeInterval(epoch_->shiftedBySecond(data_->start_), epoch_->shiftedBySecond(data_->stop_));
367 return TimeInterval(epoch_->shiftedBySecond(data_[n].start_), epoch_->shiftedBySecond(data_[n].stop_));
371 const_iterator operator++(
int) {
auto tmp = *
this; ++data_;
return tmp; }
372 const_iterator& operator--() { --data_;
return *
this; }
373 const_iterator operator--(
int) {
auto tmp = *
this; --data_;
return tmp; }
374 const_iterator& operator+=(difference_type n) { data_ += n;
return *
this; }
375 const_iterator& operator-=(difference_type n) { data_ -= n;
return *
this; }
377 const_iterator operator+(difference_type n)
const {
return {data_ + n, epoch_}; }
378 const_iterator operator-(difference_type n)
const {
return {data_ - n, epoch_}; }
379 difference_type operator-(
const const_iterator& o)
const {
return data_ - o.data_; }
381 bool operator==(
const const_iterator& o)
const {
return data_ == o.data_; }
382 bool operator!=(
const const_iterator& o)
const {
return data_ != o.data_; }
383 bool operator< (
const const_iterator& o)
const {
return data_ < o.data_; }
384 bool operator> (
const const_iterator& o)
const {
return data_ > o.data_; }
385 bool operator<=(
const const_iterator& o)
const {
return data_ <= o.data_; }
386 bool operator>=(
const const_iterator& o)
const {
return data_ >= o.data_; }
389 const Interval* data_ =
nullptr;
390 const TimePoint* epoch_ =
nullptr;
399 using iterator = const_iterator;
401 using size_type = size_t;
402 using difference_type = std::ptrdiff_t;
404 iterator begin() {
return {intervals_.intervals().data(), &epoch_}; }
405 iterator end() {
return {intervals_.intervals().data() + intervals_.size(), &epoch_}; }
406 const_iterator begin()
const {
return {intervals_.intervals().data(), &epoch_}; }
407 const_iterator end()
const {
return {intervals_.intervals().data() + intervals_.size(), &epoch_}; }
408 const_iterator cbegin()
const {
return begin(); }
409 const_iterator cend()
const {
return end(); }
413 IntervalList intervals_{};
็ธๅฏนๆถๆฎตๅ่กจ
ๅฎไน IntervalList.hpp:58
็ธๅฏนๆถ้ดๅบ้ด
ๅฎไน Interval.hpp:42
้ๆบ่ฎฟ้ฎๅธธ้่ฟญไปฃๅจ
ๅฎไน TimeIntervalList.hpp:345
TimeInterval operator[](difference_type n) const
ไธๆ ่ฎฟ้ฎ
ๅฎไน TimeIntervalList.hpp:365
TimeInterval operator*() const
่งฃๅผ็จ๏ผ่ฎก็ฎ TimeInterval(epoch_->shiftedBySecond(data_->start_), epoch_->shiftedBySecond(data_->stop_))
ๅฎไน TimeIntervalList.hpp:359
็ปๅฏนๆถๆฎตๅ่กจ
ๅฎไน TimeIntervalList.hpp:59
IntervalList toIntervalList() const
่ฝฌๆขไธบ็ธๅฏนๅบ้ดๅ่กจ
ๅฎไน TimeIntervalList.hpp:312
TimeIntervalList operator|(const TimeIntervalList &other) const
ๅนถ้๏ผ่ฟๅๅฏๆฌ๏ผ็ญไปทไบ united๏ผ
ๅฎไน TimeIntervalList.hpp:301
TimeIntervalList(TimeIntervalList &&) noexcept=default
็งปๅจๆ้
TimeIntervalList & operator=(const TimeIntervalList &)=default
ๆท่ด่ตๅผ
void reserve(size_t n)
้ข็ๅฎน้
ๅฎไน TimeIntervalList.hpp:138
void clear()
ๆธ
็ฉบๅ่กจ
ๅฎไน TimeIntervalList.hpp:141
TimeIntervalList operator-(const TimeIntervalList &other) const
ๅทฎ้๏ผ่ฟๅๅฏๆฌ๏ผ็ญไปทไบ subtracted๏ผ
ๅฎไน TimeIntervalList.hpp:304
IntervalList & intervals() noexcept
่ทๅๅบๅฑ็ธๅฏนๅบ้ดๅ่กจ๏ผๅฏไฟฎๆน๏ผ
ๅฎไน TimeIntervalList.hpp:197
friend const_iterator operator+(const_iterator::difference_type n, const const_iterator &it)
difference_type + const_iterator๏ผ้ๆๅ่ฟ็ฎ็ฌฆ๏ผ
ๅฎไน TimeIntervalList.hpp:394
void setEpoch(const TimePoint &epoch)
่ฎพ็ฝฎๅ่ๅๅ
ๅฎไน TimeIntervalList.hpp:189
const TimePoint & epoch() const noexcept
่ทๅๅ่ๅๅ
ๅฎไน TimeIntervalList.hpp:184
size_t size() const noexcept
่ฟๅๅบ้ดๆฐ้
ๅฎไน TimeIntervalList.hpp:132
TimeIntervalList & operator&=(const TimeIntervalList &other)
ๅๅฐไบค้๏ผ็ญไปทไบ intersect๏ผ
ๅฎไน TimeIntervalList.hpp:289
TimeList discretize(double step) const
็ฆปๆฃๅ๏ผไฝฟ็จๅฝๅ epoch๏ผ
ๅฎไน TimeIntervalList.hpp:320
TimeList discretize(const TimePoint &epoch, double step) const
็ฆปๆฃๅ๏ผๆๅฎๅๅ
๏ผ
ๅฎไน TimeIntervalList.hpp:329
TimeIntervalList(const TimeIntervalList &)=default
ๆท่ดๆ้
TimeIntervalList operator&(const TimeIntervalList &other) const
ไบค้๏ผ่ฟๅๅฏๆฌ๏ผ็ญไปทไบ intersected๏ผ
ๅฎไน TimeIntervalList.hpp:298
const IntervalList & intervals() const noexcept
่ทๅๅบๅฑ็ธๅฏนๅบ้ดๅ่กจ๏ผๅช่ฏป๏ผ
ๅฎไน TimeIntervalList.hpp:200
double totalDuration() const
ๆปๆถ้ฟ๏ผๆๆๅบ้ด duration ไนๅ๏ผไธ่่้ๅ ๏ผ
ๅฎไน TimeIntervalList.hpp:207
bool empty() const noexcept
ๅคๆญๅ่กจๆฏๅฆไธบ็ฉบ
ๅฎไน TimeIntervalList.hpp:135
TimeIntervalList & operator|=(const TimeIntervalList &other)
ๅๅฐๅนถ้๏ผ็ญไปทไบ unite๏ผ
ๅฎไน TimeIntervalList.hpp:292
~TimeIntervalList()=default
ๆๆๅฝๆฐ
void pop_back()
็งป้คๆๅไธไธชๅบ้ด
ๅฎไน TimeIntervalList.hpp:177
TimeIntervalList()=default
้ป่ฎคๆ้ ๅฝๆฐ๏ผ็ฉบๅ่กจ๏ผ้ป่ฎค epoch๏ผ
TimeIntervalList & operator-=(const TimeIntervalList &other)
ๅๅฐๅทฎ้๏ผ็ญไปทไบ subtract๏ผ
ๅฎไน TimeIntervalList.hpp:295
ๆถ้ดๅบ้ด
ๅฎไน TimeInterval.hpp:64
ๆถ้ด็นๅ่กจ
ๅฎไน TimeList.hpp:49
็ปๅฏนๆถ้ด็น
ๅฎไน TimePoint.hpp:108