0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-09-27 11:18:51 +02:00

ircd::db::opts: Inline flag template suite; minor optimize.

This commit is contained in:
Jason Volk 2020-10-11 16:02:59 -07:00
parent 9c1913347e
commit 1dc799dffa

View file

@ -137,7 +137,7 @@ struct ircd::db::options::map
};
template<class T>
ircd::db::opts<T> &
inline ircd::db::opts<T> &
ircd::db::operator&=(opts<T> &a,
const T &value)
{
@ -148,7 +148,7 @@ ircd::db::operator&=(opts<T> &a,
}
template<class T>
ircd::db::opts<T> &
inline ircd::db::opts<T> &
ircd::db::operator&=(opts<T> &a,
const opts<T> &b)
{
@ -157,7 +157,7 @@ ircd::db::operator&=(opts<T> &a,
}
template<class T>
ircd::db::opts<T> &
inline ircd::db::opts<T> &
ircd::db::operator|=(opts<T> &a,
const T &value)
{
@ -168,7 +168,7 @@ ircd::db::operator|=(opts<T> &a,
}
template<class T>
ircd::db::opts<T> &
inline ircd::db::opts<T> &
ircd::db::operator|=(opts<T> &a,
const opts<T> &b)
{
@ -177,7 +177,7 @@ ircd::db::operator|=(opts<T> &a,
}
template<class T>
bool
inline bool
ircd::db::test(const opts<T> &a,
const T &value)
{
@ -187,9 +187,11 @@ ircd::db::test(const opts<T> &a,
}
template<class T>
bool
inline bool
ircd::db::test(const opts<T> &a,
const typename std::underlying_type<T>::type &value)
{
return (a.value & value) == value;
using flag_t = typename opts<T>::flag_t;
return a.value & flag_t(value);
}