mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-15 18:10:26 +00:00
refactor(Core/Common): restyle common lib with astyle (#3461)
This commit is contained in:
@@ -19,120 +19,120 @@ namespace acore
|
||||
template<typename MUTEX>
|
||||
class GeneralLock
|
||||
{
|
||||
public:
|
||||
public:
|
||||
|
||||
GeneralLock(MUTEX& m)
|
||||
: i_mutex(m)
|
||||
{
|
||||
i_mutex.lock();
|
||||
}
|
||||
GeneralLock(MUTEX& m)
|
||||
: i_mutex(m)
|
||||
{
|
||||
i_mutex.lock();
|
||||
}
|
||||
|
||||
~GeneralLock()
|
||||
{
|
||||
i_mutex.unlock();
|
||||
}
|
||||
~GeneralLock()
|
||||
{
|
||||
i_mutex.unlock();
|
||||
}
|
||||
|
||||
private:
|
||||
private:
|
||||
|
||||
GeneralLock(const GeneralLock&);
|
||||
GeneralLock& operator=(const GeneralLock&);
|
||||
MUTEX& i_mutex;
|
||||
GeneralLock(const GeneralLock&);
|
||||
GeneralLock& operator=(const GeneralLock&);
|
||||
MUTEX& i_mutex;
|
||||
};
|
||||
|
||||
template<class T>
|
||||
class SingleThreaded
|
||||
{
|
||||
public:
|
||||
public:
|
||||
|
||||
struct Lock // empty object
|
||||
struct Lock // empty object
|
||||
{
|
||||
Lock()
|
||||
{
|
||||
Lock()
|
||||
{
|
||||
}
|
||||
Lock(const T&)
|
||||
{
|
||||
}
|
||||
}
|
||||
Lock(const T&)
|
||||
{
|
||||
}
|
||||
|
||||
Lock(const SingleThreaded<T>&) // for single threaded we ignore this
|
||||
{
|
||||
}
|
||||
};
|
||||
Lock(const SingleThreaded<T>&) // for single threaded we ignore this
|
||||
{
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
template<class T, class MUTEX>
|
||||
class ObjectLevelLockable
|
||||
{
|
||||
public:
|
||||
|
||||
ObjectLevelLockable()
|
||||
: i_mtx()
|
||||
{
|
||||
}
|
||||
|
||||
friend class Lock;
|
||||
|
||||
class Lock
|
||||
{
|
||||
public:
|
||||
|
||||
ObjectLevelLockable()
|
||||
: i_mtx()
|
||||
Lock(ObjectLevelLockable<T, MUTEX>& host)
|
||||
: i_lock(host.i_mtx)
|
||||
{
|
||||
}
|
||||
|
||||
friend class Lock;
|
||||
|
||||
class Lock
|
||||
{
|
||||
public:
|
||||
|
||||
Lock(ObjectLevelLockable<T, MUTEX>& host)
|
||||
: i_lock(host.i_mtx)
|
||||
{
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
GeneralLock<MUTEX> i_lock;
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
// prevent the compiler creating a copy construct
|
||||
ObjectLevelLockable(const ObjectLevelLockable<T, MUTEX>&);
|
||||
ObjectLevelLockable<T, MUTEX>& operator=(const ObjectLevelLockable<T, MUTEX>&);
|
||||
GeneralLock<MUTEX> i_lock;
|
||||
};
|
||||
|
||||
MUTEX i_mtx;
|
||||
private:
|
||||
|
||||
// prevent the compiler creating a copy construct
|
||||
ObjectLevelLockable(const ObjectLevelLockable<T, MUTEX>&);
|
||||
ObjectLevelLockable<T, MUTEX>& operator=(const ObjectLevelLockable<T, MUTEX>&);
|
||||
|
||||
MUTEX i_mtx;
|
||||
};
|
||||
|
||||
template<class T, class MUTEX>
|
||||
class ClassLevelLockable
|
||||
{
|
||||
public:
|
||||
|
||||
ClassLevelLockable()
|
||||
{
|
||||
}
|
||||
|
||||
friend class Lock;
|
||||
|
||||
class Lock
|
||||
{
|
||||
public:
|
||||
|
||||
ClassLevelLockable()
|
||||
Lock(const T& /*host*/)
|
||||
{
|
||||
ClassLevelLockable<T, MUTEX>::si_mtx.lock();
|
||||
}
|
||||
|
||||
friend class Lock;
|
||||
|
||||
class Lock
|
||||
Lock(const ClassLevelLockable<T, MUTEX>&)
|
||||
{
|
||||
public:
|
||||
ClassLevelLockable<T, MUTEX>::si_mtx.lock();
|
||||
}
|
||||
|
||||
Lock(const T& /*host*/)
|
||||
{
|
||||
ClassLevelLockable<T, MUTEX>::si_mtx.lock();
|
||||
}
|
||||
Lock()
|
||||
{
|
||||
ClassLevelLockable<T, MUTEX>::si_mtx.lock();
|
||||
}
|
||||
|
||||
Lock(const ClassLevelLockable<T, MUTEX>&)
|
||||
{
|
||||
ClassLevelLockable<T, MUTEX>::si_mtx.lock();
|
||||
}
|
||||
~Lock()
|
||||
{
|
||||
ClassLevelLockable<T, MUTEX>::si_mtx.unlock();
|
||||
}
|
||||
};
|
||||
|
||||
Lock()
|
||||
{
|
||||
ClassLevelLockable<T, MUTEX>::si_mtx.lock();
|
||||
}
|
||||
private:
|
||||
|
||||
~Lock()
|
||||
{
|
||||
ClassLevelLockable<T, MUTEX>::si_mtx.unlock();
|
||||
}
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
static MUTEX si_mtx;
|
||||
static MUTEX si_mtx;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user