fork(1) download
  1. #include <iostream>
  2. #include<complex>
  3. #include<map>
  4. #include<unordered_map>
  5. #include<array>
  6.  
  7. template<typename T> struct less{};
  8.  
  9. template<typename T>
  10. struct less<std::complex<T> >
  11. {
  12. bool operator()(std::complex<T> const& a, std::complex<T> const& b)
  13. {
  14. return std::array<T,2>{a.real(),a.imag()} < std::array<T,2>{b.real(),b.imag()};
  15. }
  16. };
  17.  
  18. int main()
  19. {
  20. std::map<std::complex<double>, int, less<std::complex<double> > > m;
  21.  
  22. m[std::complex<double>(1.0,0.0)]=1;
  23. m[std::complex<double>(0.0,1.0)]=2;
  24. m[{0.5,0.5}]=3;
  25.  
  26. return 0;
  27. }
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
Standard output is empty