template <typename T>
class DoubleBuffer {
public:
using value_type = T;
using reference = T&;
using const_reference = T const &;
using const_type = const typename T::type;
using pointer = T*;
//...
};
Live Demo
Или:
template <typename T>
class DoubleBuffer {
public:
using value_type = T;
using reference = T&;
using const_reference = T const &;
using const_type = const T;
using pointer = T*;
//...
};
Live Demo
В зависимости от того, что T
на самом деле - struct
/ class
с определенным вложенным type
или автономный тип.