fork(1) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template <typename T>
  5. class DoubleBuffer {
  6. public:
  7. using value_type = T;
  8. using reference = T&;
  9. using const_reference = T const &;
  10. using const_type = const typename T::type;
  11. using pointer = T*;
  12. //...
  13. };
  14.  
  15. template <typename T>
  16. struct Dummy {
  17. using type = T;
  18. };
  19.  
  20. int main() {
  21. Dummy<int> dummy;
  22. DoubleBuffer<Dummy<int>>::value_type vt = dummy;
  23. DoubleBuffer<Dummy<int>>::reference ref = dummy;
  24. DoubleBuffer<Dummy<int>>::const_reference cref = dummy;
  25. DoubleBuffer<Dummy<int>>::const_type ct = 12345;
  26. DoubleBuffer<Dummy<int>>::pointer p = &dummy;
  27.  
  28. return 0;
  29. }
Success #stdin #stdout 0s 4528KB
stdin
Standard input is empty
stdout
Standard output is empty