fork(2) download
  1. #include <tuple>
  2. #include <utility>
  3.  
  4. template< typename... DataMembers >
  5. class SwapMethodProvider
  6. {
  7. public:
  8.  
  9. inline void Swap( SwapMethodProvider& other );
  10.  
  11. private:
  12.  
  13. std::tuple< DataMembers... > member_dataMembers;
  14.  
  15. };
  16.  
  17. template< typename... DataMembers >
  18. inline void SwapMethodProvider< DataMembers... >::Swap( SwapMethodProvider& other )
  19. {
  20. // Swap between the tuples that contain the data members
  21. std::swap( member_dataMembers, other.member_dataMembers );
  22. }
  23.  
  24. class ExtraSauce : public SwapMethodProvider< int, double >
  25. {};
  26.  
  27. class EvenMoreExtraSauce : public ExtraSauce, public SwapMethodProvider< std::string >
  28. {};
  29.  
  30. int main(){}
Success #stdin #stdout 0s 15232KB
stdin
Standard input is empty
stdout
Standard output is empty