summaryrefslogtreecommitdiff
path: root/deps/v8/include/cppgc/persistent.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/include/cppgc/persistent.h')
-rw-r--r--deps/v8/include/cppgc/persistent.h37
1 files changed, 22 insertions, 15 deletions
diff --git a/deps/v8/include/cppgc/persistent.h b/deps/v8/include/cppgc/persistent.h
index 3a66ccc086..709f3fd6ab 100644
--- a/deps/v8/include/cppgc/persistent.h
+++ b/deps/v8/include/cppgc/persistent.h
@@ -114,11 +114,12 @@ class BasicPersistent final : public PersistentBase,
// Constructor from member.
template <typename U, typename MemberBarrierPolicy,
typename MemberWeaknessTag, typename MemberCheckingPolicy,
+ typename MemberStorageType,
typename = std::enable_if_t<std::is_base_of<T, U>::value>>
- BasicPersistent(
- const internal::BasicMember<U, MemberBarrierPolicy, MemberWeaknessTag,
- MemberCheckingPolicy>& member,
- const SourceLocation& loc = SourceLocation::Current())
+ BasicPersistent(const internal::BasicMember<
+ U, MemberBarrierPolicy, MemberWeaknessTag,
+ MemberCheckingPolicy, MemberStorageType>& member,
+ const SourceLocation& loc = SourceLocation::Current())
: BasicPersistent(member.Get(), loc) {}
~BasicPersistent() { Clear(); }
@@ -154,10 +155,12 @@ class BasicPersistent final : public PersistentBase,
// Assignment from member.
template <typename U, typename MemberBarrierPolicy,
typename MemberWeaknessTag, typename MemberCheckingPolicy,
+ typename MemberStorageType,
typename = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicPersistent& operator=(
const internal::BasicMember<U, MemberBarrierPolicy, MemberWeaknessTag,
- MemberCheckingPolicy>& member) {
+ MemberCheckingPolicy, MemberStorageType>&
+ member) {
return operator=(member.Get());
}
@@ -286,36 +289,39 @@ bool operator!=(const BasicPersistent<T1, WeaknessPolicy1, LocationPolicy1,
template <typename T1, typename PersistentWeaknessPolicy,
typename PersistentLocationPolicy, typename PersistentCheckingPolicy,
typename T2, typename MemberWriteBarrierPolicy,
- typename MemberWeaknessTag, typename MemberCheckingPolicy>
+ typename MemberWeaknessTag, typename MemberCheckingPolicy,
+ typename MemberStorageType>
bool operator==(
const BasicPersistent<T1, PersistentWeaknessPolicy,
PersistentLocationPolicy, PersistentCheckingPolicy>&
p,
const BasicMember<T2, MemberWeaknessTag, MemberWriteBarrierPolicy,
- MemberCheckingPolicy>& m) {
+ MemberCheckingPolicy, MemberStorageType>& m) {
return p.Get() == m.Get();
}
template <typename T1, typename PersistentWeaknessPolicy,
typename PersistentLocationPolicy, typename PersistentCheckingPolicy,
typename T2, typename MemberWriteBarrierPolicy,
- typename MemberWeaknessTag, typename MemberCheckingPolicy>
+ typename MemberWeaknessTag, typename MemberCheckingPolicy,
+ typename MemberStorageType>
bool operator!=(
const BasicPersistent<T1, PersistentWeaknessPolicy,
PersistentLocationPolicy, PersistentCheckingPolicy>&
p,
const BasicMember<T2, MemberWeaknessTag, MemberWriteBarrierPolicy,
- MemberCheckingPolicy>& m) {
+ MemberCheckingPolicy, MemberStorageType>& m) {
return !(p == m);
}
template <typename T1, typename MemberWriteBarrierPolicy,
typename MemberWeaknessTag, typename MemberCheckingPolicy,
- typename T2, typename PersistentWeaknessPolicy,
- typename PersistentLocationPolicy, typename PersistentCheckingPolicy>
+ typename MemberStorageType, typename T2,
+ typename PersistentWeaknessPolicy, typename PersistentLocationPolicy,
+ typename PersistentCheckingPolicy>
bool operator==(
const BasicMember<T2, MemberWeaknessTag, MemberWriteBarrierPolicy,
- MemberCheckingPolicy>& m,
+ MemberCheckingPolicy, MemberStorageType>& m,
const BasicPersistent<T1, PersistentWeaknessPolicy,
PersistentLocationPolicy, PersistentCheckingPolicy>&
p) {
@@ -324,11 +330,12 @@ bool operator==(
template <typename T1, typename MemberWriteBarrierPolicy,
typename MemberWeaknessTag, typename MemberCheckingPolicy,
- typename T2, typename PersistentWeaknessPolicy,
- typename PersistentLocationPolicy, typename PersistentCheckingPolicy>
+ typename MemberStorageType, typename T2,
+ typename PersistentWeaknessPolicy, typename PersistentLocationPolicy,
+ typename PersistentCheckingPolicy>
bool operator!=(
const BasicMember<T2, MemberWeaknessTag, MemberWriteBarrierPolicy,
- MemberCheckingPolicy>& m,
+ MemberCheckingPolicy, MemberStorageType>& m,
const BasicPersistent<T1, PersistentWeaknessPolicy,
PersistentLocationPolicy, PersistentCheckingPolicy>&
p) {