mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2025-02-26 08:22:31 +00:00
timestamp_c: add value_or_zero returning value if valid or 0
This commit is contained in:
parent
1562e6831a
commit
8739d1a999
@ -162,6 +162,10 @@ public:
|
||||
return m_valid ? *this : max();
|
||||
}
|
||||
|
||||
basic_timestamp_c<T> value_or_zero() const {
|
||||
return m_valid ? *this : ns(0);
|
||||
}
|
||||
|
||||
// comparison
|
||||
bool operator <(basic_timestamp_c<T> const &other) const {
|
||||
return !m_valid && other.m_valid ? true
|
||||
|
@ -148,13 +148,15 @@ TEST(BasicTimecode, Resetting) {
|
||||
}
|
||||
|
||||
TEST(BasicTimecode, MinMax) {
|
||||
EXPECT_TRUE(timestamp_c::min() < timestamp_c::max());
|
||||
EXPECT_TRUE(timestamp_c::min() == timestamp_c::ns(std::numeric_limits<int64_t>::min()));
|
||||
EXPECT_TRUE(timestamp_c::max() == timestamp_c::ns(std::numeric_limits<int64_t>::max()));
|
||||
EXPECT_TRUE(timestamp_c{}.value_or_min() == timestamp_c::min());
|
||||
EXPECT_TRUE(timestamp_c{}.value_or_max() == timestamp_c::max());
|
||||
EXPECT_TRUE(timestamp_c::ns(1).value_or_min() == timestamp_c::ns(1));
|
||||
EXPECT_TRUE(timestamp_c::ns(1).value_or_max() == timestamp_c::ns(1));
|
||||
EXPECT_TRUE(timestamp_c::min() < timestamp_c::max());
|
||||
EXPECT_TRUE(timestamp_c::min() == timestamp_c::ns(std::numeric_limits<int64_t>::min()));
|
||||
EXPECT_TRUE(timestamp_c::max() == timestamp_c::ns(std::numeric_limits<int64_t>::max()));
|
||||
EXPECT_TRUE(timestamp_c{}.value_or_min() == timestamp_c::min());
|
||||
EXPECT_TRUE(timestamp_c{}.value_or_max() == timestamp_c::max());
|
||||
EXPECT_TRUE(timestamp_c{}.value_or_zero() == timestamp_c::ns(0));
|
||||
EXPECT_TRUE(timestamp_c::ns(1).value_or_min() == timestamp_c::ns(1));
|
||||
EXPECT_TRUE(timestamp_c::ns(1).value_or_max() == timestamp_c::ns(1));
|
||||
EXPECT_TRUE(timestamp_c::ns(1).value_or_zero() == timestamp_c::ns(1));
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user