mirror of https://github.com/trapexit/mergerfs.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
157 lines
2.4 KiB
157 lines
2.4 KiB
#pragma once
|
|
|
|
static
|
|
inline
|
|
bool
|
|
operator<(const timespec &lhs_,
|
|
const timespec &rhs_)
|
|
{
|
|
if(lhs_.tv_sec != rhs_.tv_sec)
|
|
return lhs_.tv_sec < rhs_.tv_sec;
|
|
return lhs_.tv_nsec < rhs_.tv_nsec;
|
|
}
|
|
|
|
static
|
|
inline
|
|
bool
|
|
operator>(const timespec &lhs_,
|
|
const timespec &rhs_)
|
|
{
|
|
if(lhs_.tv_sec != rhs_.tv_sec)
|
|
return lhs_.tv_sec > rhs_.tv_sec;
|
|
return lhs_.tv_nsec > rhs_.tv_nsec;
|
|
}
|
|
|
|
static
|
|
inline
|
|
bool
|
|
operator==(const timespec &lhs_,
|
|
const timespec &rhs_)
|
|
{
|
|
return ((lhs_.tv_sec == rhs_.tv_sec) &&
|
|
(lhs_.tv_nsec == rhs_.tv_nsec));
|
|
}
|
|
|
|
static
|
|
inline
|
|
bool
|
|
operator!=(const timespec &lhs_,
|
|
const timespec &rhs_)
|
|
{
|
|
return !(lhs_ == rhs_);
|
|
}
|
|
|
|
static
|
|
inline
|
|
bool
|
|
operator<=(const timespec &lhs_,
|
|
const timespec &rhs_)
|
|
{
|
|
return !(lhs_ > rhs_);
|
|
}
|
|
|
|
static
|
|
inline
|
|
bool
|
|
operator>=(const timespec &lhs_,
|
|
const timespec &rhs_)
|
|
{
|
|
return !(lhs_ < rhs_);
|
|
}
|
|
|
|
static
|
|
inline
|
|
bool
|
|
operator<(const fuse_sx_time &lhs_,
|
|
const fuse_sx_time &rhs_)
|
|
{
|
|
if(lhs_.tv_sec != rhs_.tv_sec)
|
|
return lhs_.tv_sec < rhs_.tv_sec;
|
|
return lhs_.tv_nsec < rhs_.tv_nsec;
|
|
}
|
|
|
|
static
|
|
inline
|
|
bool
|
|
operator>(const fuse_sx_time &lhs_,
|
|
const fuse_sx_time &rhs_)
|
|
{
|
|
if(lhs_.tv_sec != rhs_.tv_sec)
|
|
return lhs_.tv_sec > rhs_.tv_sec;
|
|
return lhs_.tv_nsec > rhs_.tv_nsec;
|
|
}
|
|
|
|
static
|
|
inline
|
|
bool
|
|
operator==(const fuse_sx_time &lhs_,
|
|
const fuse_sx_time &rhs_)
|
|
{
|
|
return ((lhs_.tv_sec == rhs_.tv_sec) &&
|
|
(lhs_.tv_nsec == rhs_.tv_nsec));
|
|
}
|
|
|
|
static
|
|
inline
|
|
bool
|
|
operator!=(const fuse_sx_time &lhs_,
|
|
const fuse_sx_time &rhs_)
|
|
{
|
|
return !(lhs_ == rhs_);
|
|
}
|
|
|
|
static
|
|
inline
|
|
bool
|
|
operator<=(const fuse_sx_time &lhs_,
|
|
const fuse_sx_time &rhs_)
|
|
{
|
|
return !(lhs_ > rhs_);
|
|
}
|
|
|
|
static
|
|
inline
|
|
bool
|
|
operator>=(const fuse_sx_time &lhs_,
|
|
const fuse_sx_time &rhs_)
|
|
{
|
|
return !(lhs_ < rhs_);
|
|
}
|
|
|
|
|
|
namespace TimeSpec
|
|
{
|
|
static
|
|
inline
|
|
timespec
|
|
newest(const timespec &t0_,
|
|
const timespec &t1_)
|
|
{
|
|
if(t0_.tv_sec > t1_.tv_sec)
|
|
return t0_;
|
|
if(t0_.tv_sec == t1_.tv_sec)
|
|
{
|
|
if(t0_.tv_nsec > t1_.tv_nsec)
|
|
return t0_;
|
|
}
|
|
|
|
return t1_;
|
|
}
|
|
|
|
static
|
|
inline
|
|
fuse_sx_time
|
|
newest(const fuse_sx_time &t0_,
|
|
const fuse_sx_time &t1_)
|
|
{
|
|
if(t0_.tv_sec > t1_.tv_sec)
|
|
return t0_;
|
|
if(t0_.tv_sec == t1_.tv_sec)
|
|
{
|
|
if(t0_.tv_nsec > t1_.tv_nsec)
|
|
return t0_;
|
|
}
|
|
|
|
return t1_;
|
|
}
|
|
}
|