Made copy constructors and copy assignment operators private for classes that should be noncopyable.

This commit is contained in:
Takatoshi Kondo 2014-11-23 20:42:38 +09:00
parent 0de0b434b3
commit dab725624e
9 changed files with 53 additions and 5 deletions

View File

@ -194,6 +194,9 @@ private:
static void object_delete(void* obj);
void* allocate_expand(size_t size);
private:
zone(const zone&);
zone& operator=(const zone&);
};
inline zone::zone(size_t chunk_size) /* throw() */ :m_chunk_size(chunk_size), m_chunk_list(m_chunk_size)
@ -266,7 +269,10 @@ inline void zone::clear()
inline void zone::swap(zone& o)
{
std::swap(*this, o);
using std::swap;
swap(m_chunk_size, o.m_chunk_size);
swap(m_chunk_list, o.m_chunk_list);
swap(m_finalizer_array, o.m_finalizer_array);
}
template <typename T>

View File

@ -239,6 +239,9 @@ private:
static void object_delete(void* obj);
void* allocate_expand(size_t size);
private:
zone(const zone&);
zone& operator=(const zone&);
};
inline zone::zone(size_t chunk_size) /* throw() */ :m_chunk_size(chunk_size), m_chunk_list(m_chunk_size)
@ -311,7 +314,10 @@ inline void zone::clear()
inline void zone::swap(zone& o)
{
std::swap(*this, o);
using std::swap;
swap(m_chunk_size, o.m_chunk_size);
swap(m_chunk_list, o.m_chunk_list);
swap(m_finalizer_array, o.m_finalizer_array);
}
template <typename T>

View File

@ -224,11 +224,11 @@ public:
zone(zone&&) = default;
zone& operator=(zone&&) = default;
zone(const zone&) = delete;
zone& operator=(const zone&) = delete;
private:
void undo_allocate(size_t size);
zone(const zone&);
zone& operator=(const zone&);
template <typename T>
static void object_destruct(void* obj);

View File

@ -44,9 +44,14 @@ public:
return m_file;
}
#if defined(MSGPACK_USE_CPP03)
private:
fbuffer(const fbuffer&);
fbuffer& operator= (const fbuffer&);
fbuffer& operator=(const fbuffer&);
#else // defined(MSGPACK_USE_CPP03)
fbuffer(const fbuffer&) = delete;
fbuffer& operator=(const fbuffer&) = delete;
#endif // defined(MSGPACK_USE_CPP03)
private:
FILE* m_file;

View File

@ -115,7 +115,14 @@ private:
private:
Stream& m_stream;
#if defined(MSGPACK_USE_CPP03)
private:
packer(const packer&);
packer& operator=(const packer&);
#else // defined(MSGPACK_USE_CPP03)
packer(const packer&) = delete;
packer& operator=(const packer&) = delete;
#endif // defined(MSGPACK_USE_CPP03)
packer();
};

View File

@ -112,8 +112,15 @@ private:
m_alloc = nsize;
}
#if defined(MSGPACK_USE_CPP03)
private:
sbuffer(const sbuffer&);
sbuffer& operator=(const sbuffer&);
#else // defined(MSGPACK_USE_CPP03)
sbuffer(const sbuffer&) = delete;
sbuffer& operator=(const sbuffer&) = delete;
#endif // defined(MSGPACK_USE_CPP03)
private:
size_t m_size;
char* m_data;

View File

@ -971,9 +971,14 @@ private:
std::size_t m_initial_buffer_size;
detail::context m_ctx;
#if defined(MSGPACK_USE_CPP03)
private:
unpacker(const unpacker&);
unpacker& operator=(const unpacker&);
#else // defined(MSGPACK_USE_CPP03)
unpacker(const unpacker&) = delete;
unpacker& operator=(const unpacker&) = delete;
#endif // defined(MSGPACK_USE_CPP03)
};
#if !defined(MSGPACK_USE_CPP03)

View File

@ -268,8 +268,14 @@ public:
m_tail = m_array;
}
#if defined(MSGPACK_USE_CPP03)
private:
vrefbuffer(const vrefbuffer&);
vrefbuffer& operator=(const vrefbuffer&);
#else // defined(MSGPACK_USE_CPP03)
vrefbuffer(const vrefbuffer&) = delete;
vrefbuffer& operator=(const vrefbuffer&) = delete;
#endif // defined(MSGPACK_USE_CPP03)
private:
iovec* m_tail;

View File

@ -149,8 +149,14 @@ private:
return true;
}
#if defined(MSGPACK_USE_CPP03)
private:
zbuffer(const zbuffer&);
zbuffer& operator=(const zbuffer&);
#else // defined(MSGPACK_USE_CPP03)
zbuffer(const zbuffer&) = delete;
zbuffer& operator=(const zbuffer&) = delete;
#endif // defined(MSGPACK_USE_CPP03)
private:
z_stream m_stream;