24 constexpr Interval()
noexcept =
default;
25 explicit constexpr Interval(qint64 start, qint64 end)
noexcept
29 constexpr qint64 start()
const noexcept {
return s; }
30 constexpr qint64 end()
const noexcept {
return e; }
32 constexpr bool contains(qint64 time)
const noexcept
34 return isNormal() ? (s <= time && time <= e)
35 : (e <= time && time <= s);
38 constexpr bool isNormal()
const noexcept {
return s <= e; }
39 constexpr Interval normalized()
const
41 return s > e ? Interval(e, s) : *
this;
43 constexpr Interval translated(qint64 offset)
const
45 return Interval(s + offset, e + offset);
48 friend constexpr bool operator==(Interval lhs, Interval rhs)
noexcept
50 return lhs.start() == rhs.start() && lhs.end() == rhs.end();
52 friend constexpr bool operator!=(Interval lhs, Interval rhs)
noexcept
54 return lhs.start() != rhs.start() || lhs.end() != rhs.end();
58 friend class QMediaTimeRangePrivate;
64 explicit QMediaTimeRange(qint64 start, qint64 end);
65 QMediaTimeRange(
const Interval&);
66 QMediaTimeRange(
const QMediaTimeRange &range)
noexcept;
69 QMediaTimeRange &operator=(
const QMediaTimeRange&)
noexcept;
71 QMediaTimeRange(QMediaTimeRange &&other)
noexcept =
default;
72 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QMediaTimeRange)
73 void swap(QMediaTimeRange &other)
noexcept
77 QMediaTimeRange &operator=(
const Interval&);
79 qint64 earliestTime()
const;
80 qint64 latestTime()
const;
82 QList<QMediaTimeRange::Interval> intervals()
const;
84 bool isContinuous()
const;
86 bool contains(qint64 time)
const;
88 void addInterval(qint64 start, qint64 end);
89 void addInterval(
const Interval &interval);
90 void addTimeRange(
const QMediaTimeRange&);
92 void removeInterval(qint64 start, qint64 end);
93 void removeInterval(
const Interval &interval);
94 void removeTimeRange(
const QMediaTimeRange&);
96 QMediaTimeRange& operator+=(
const QMediaTimeRange&);
97 QMediaTimeRange& operator+=(
const Interval&);
98 QMediaTimeRange& operator-=(
const QMediaTimeRange&);
99 QMediaTimeRange& operator-=(
const Interval&);
103 friend inline bool operator==(
const QMediaTimeRange &lhs,
const QMediaTimeRange &rhs)
104 {
return lhs.intervals() == rhs.intervals(); }
105 friend inline bool operator!=(
const QMediaTimeRange &lhs,
const QMediaTimeRange &rhs)
106 {
return lhs.intervals() != rhs.intervals(); }
109 QExplicitlySharedDataPointer<QMediaTimeRangePrivate> d;