1// PR c++/44778 2 3enum Healpix_Ordering_Scheme { RING, NEST }; 4 5class 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 15template<typename T> class Healpix_Map: public Healpix_Base 16 { 17 public: 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 25int main() 26 { 27 Healpix_Map<double> a,b; 28 a.Import_nograde(b); 29 } 30