1 // PR c++/44778 2 3 enum Healpix_Ordering_Scheme { RING, NEST }; 4 5 class Healpix_Base 6 { 7 protected: 8 Healpix_Ordering_Scheme scheme_; 9 int nest2ring (int pix) const; 10 int ring2nest (int pix) const; 11 12 typedef int (Healpix_Base::*swapfunc)(int pix) const; 13 }; 14 15 template<typename T> class Healpix_Map: public Healpix_Base 16 { 17 public: Import_nograde(const Healpix_Map<T> & orig)18 void Import_nograde (const Healpix_Map<T> &orig) 19 { 20 swapfunc swapper = (scheme_ == NEST) ? 21 &Healpix_Map::ring2nest : &Healpix_Map::nest2ring; 22 } 23 }; 24 main()25int main() 26 { 27 Healpix_Map<double> a,b; 28 a.Import_nograde(b); 29 } 30