mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 08:27:42 +00:00
Some memory card fixes, CToken assign fix
This commit is contained in:
@@ -166,10 +166,27 @@ class TLockedToken : public TCachedToken<T>
|
||||
public:
|
||||
TLockedToken() = default;
|
||||
TLockedToken(const TLockedToken& other) : TCachedToken<T>(other) { CToken::Lock(); }
|
||||
TLockedToken& operator=(const TLockedToken& other) { TCachedToken<T>::operator=(other); CToken::Lock(); return *this; }
|
||||
TLockedToken& operator=(const TLockedToken& other)
|
||||
{
|
||||
CToken oldTok = std::move(*this);
|
||||
TCachedToken<T>::operator=(other);
|
||||
CToken::Lock();
|
||||
return *this;
|
||||
}
|
||||
TLockedToken(const CToken& other) : TCachedToken<T>(other) { CToken::Lock(); }
|
||||
TLockedToken& operator=(const CToken& other) { TCachedToken<T>::operator=(other); CToken::Lock(); return *this; }
|
||||
TLockedToken(CToken&& other) : TCachedToken<T>(std::move(other)) { CToken::Lock(); }
|
||||
TLockedToken& operator=(const CToken& other)
|
||||
{
|
||||
CToken oldTok = std::move(*this);
|
||||
TCachedToken<T>::operator=(other);
|
||||
CToken::Lock();
|
||||
return *this;
|
||||
}
|
||||
TLockedToken(CToken&& other)
|
||||
{
|
||||
CToken oldTok = std::move(*this);
|
||||
*this = TCachedToken<T>(std::move(other));
|
||||
CToken::Lock();
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user