Template Class NonCopiableData

Class Documentation

template<class T>
class NonCopiableData

A wrapper for a piece of data of type T which should not be copied or moved by default operator =().

Useful for instance to hold a std::mutex or alike within a class or structure with other regular data fields for which the default operator =() is desired.

Public Functions

NonCopiableData() = default
~NonCopiableData() = default
inline NonCopiableData &operator=(const T &value)
inline NonCopiableData(T &&value)
inline NonCopiableData(const T &value)
inline T &operator*()
inline const T &operator*() const
inline T *operator->()
inline const T *operator->() const
inline NonCopiableData(const NonCopiableData&)
inline NonCopiableData &operator=(const NonCopiableData&)
inline NonCopiableData(NonCopiableData&&)
inline NonCopiableData &operator=(NonCopiableData&&)

Public Members

T data