Core: Add MovablePtr class
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#define NAZARA_SOCKETPOLLER_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/MovablePtr.hpp>
|
||||
#include <Nazara/Network/AbstractSocket.hpp>
|
||||
#include <Nazara/Network/IpAddress.hpp>
|
||||
|
||||
@@ -19,7 +20,7 @@ namespace Nz
|
||||
{
|
||||
public:
|
||||
SocketPoller();
|
||||
inline SocketPoller(SocketPoller&& socketPoller);
|
||||
SocketPoller(SocketPoller&&) noexcept = default;
|
||||
~SocketPoller();
|
||||
|
||||
void Clear();
|
||||
@@ -33,10 +34,10 @@ namespace Nz
|
||||
|
||||
bool Wait(int msTimeout);
|
||||
|
||||
inline SocketPoller& operator=(SocketPoller&& socketPoller);
|
||||
SocketPoller& operator=(SocketPoller&&) noexcept = default;
|
||||
|
||||
private:
|
||||
SocketPollerImpl* m_impl;
|
||||
MovablePtr<SocketPollerImpl> m_impl;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -8,30 +8,6 @@
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
/*!
|
||||
* \brief Constructs a SocketPoller object with another one by move semantic
|
||||
*
|
||||
* \param socketPoller SocketPoller to move into this
|
||||
*/
|
||||
inline SocketPoller::SocketPoller(SocketPoller&& socketPoller) :
|
||||
m_impl(socketPoller.m_impl)
|
||||
{
|
||||
socketPoller.m_impl = nullptr;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Moves the SocketPoller into this
|
||||
* \return A reference to this
|
||||
*
|
||||
* \param socketPoller SocketPoller to move in this
|
||||
*/
|
||||
inline SocketPoller& SocketPoller::operator=(SocketPoller&& socketPoller)
|
||||
{
|
||||
m_impl = socketPoller.m_impl;
|
||||
socketPoller.m_impl = nullptr;
|
||||
|
||||
return *this;
|
||||
}
|
||||
}
|
||||
|
||||
#include <Nazara/Network/DebugOff.hpp>
|
||||
|
||||
Reference in New Issue
Block a user