fork(1) download
  1. #ifndef MyClassH
  2. #define MyClassH
  3.  
  4. #include <algorithm>
  5.  
  6. namespace A {
  7. namespace B {
  8. namespace C {
  9.  
  10. class MyClass
  11. {
  12. double Value1_ = 0.0;
  13. double Value2_ = 0.0;
  14. public:
  15. void swap( MyClass& other ) noexcept
  16. {
  17. std::swap( Value1_, other.Value1_ );
  18. std::swap( Value2_, other.Value2_ );
  19. }
  20. };
  21.  
  22. } // namespace C
  23. } // namespace B
  24. } // namespace A
  25.  
  26. namespace std
  27. {
  28. template<> void swap( A::B::C::MyClass& lhs, A::B::C::MyClass& rhs ) noexcept { lhs.swap( rhs ); }
  29. }
  30. #endif
  31.  
  32. int main()
  33. {
  34. A::B::C::MyClass mc1, mc2;
  35. std::swap( mc1, mc2 );
  36. }
Success #stdin #stdout 0.01s 5436KB
stdin
Standard input is empty
stdout
Standard output is empty