equal
  deleted
  inserted
  replaced
  
    
    
   362   ///\ingroup maps  | 
   362   ///\ingroup maps  | 
   363   ///  | 
   363   ///  | 
   364   template<class M>  | 
   364   template<class M>  | 
   365   class XMap   | 
   365   class XMap   | 
   366   { | 
   366   { | 
   367     typename SmartReference<M>::Type _map;  | 
   367     M& _map;  | 
   368   public:  | 
   368   public:  | 
   369     typedef True NeedCopy;  | 
         | 
   370   | 
   369   | 
   371     typedef typename M::Value::Value Value;  | 
   370     typedef typename M::Value::Value Value;  | 
   372     typedef typename M::Key Key;  | 
   371     typedef typename M::Key Key;  | 
   373     ///\e  | 
   372     ///\e  | 
   374     XMap(typename SmartParameter<M>::Type map) : _map(map) {} | 
   373     XMap(M& map) : _map(map) {} | 
   375     Value operator[](Key k) const {return _map[k].x;} | 
   374     Value operator[](Key k) const {return _map[k].x;} | 
   376     void set(Key k,Value v) {_map.set(k,typename M::Value(v,_map[k].y));} | 
   375     void set(Key k,Value v) {_map.set(k,typename M::Value(v,_map[k].y));} | 
   377   };  | 
   376   };  | 
   378       | 
   377       | 
   379   ///Returns an \ref XMap class  | 
   378   ///Returns an \ref XMap class  | 
   399   ///\ingroup maps  | 
   398   ///\ingroup maps  | 
   400   ///  | 
   399   ///  | 
   401   template<class M>  | 
   400   template<class M>  | 
   402   class ConstXMap   | 
   401   class ConstXMap   | 
   403   { | 
   402   { | 
   404     typename SmartConstReference<M>::Type _map;  | 
   403     const M& _map;  | 
   405   public:  | 
   404   public:  | 
   406     typedef True NeedCopy;  | 
         | 
   407   | 
   405   | 
   408     typedef typename M::Value::Value Value;  | 
   406     typedef typename M::Value::Value Value;  | 
   409     typedef typename M::Key Key;  | 
   407     typedef typename M::Key Key;  | 
   410     ///\e  | 
   408     ///\e  | 
   411     ConstXMap(const M &map) : _map(map) {} | 
   409     ConstXMap(const M &map) : _map(map) {} | 
   429   ///\ingroup maps  | 
   427   ///\ingroup maps  | 
   430   ///  | 
   428   ///  | 
   431   template<class M>  | 
   429   template<class M>  | 
   432   class YMap   | 
   430   class YMap   | 
   433   { | 
   431   { | 
   434     typename SmartReference<M>::Type _map;  | 
   432     M& _map;  | 
   435   public:  | 
   433   public:  | 
   436     typedef True NeedCopy;  | 
         | 
   437   | 
   434   | 
   438     typedef typename M::Value::Value Value;  | 
   435     typedef typename M::Value::Value Value;  | 
   439     typedef typename M::Key Key;  | 
   436     typedef typename M::Key Key;  | 
   440     ///\e  | 
   437     ///\e  | 
   441     YMap(typename SmartParameter<M>::Type map) : _map(map) {} | 
   438     YMap(M& map) : _map(map) {} | 
   442     Value operator[](Key k) const {return _map[k].y;} | 
   439     Value operator[](Key k) const {return _map[k].y;} | 
   443     void set(Key k,Value v) {_map.set(k,typename M::Value(_map[k].x,v));} | 
   440     void set(Key k,Value v) {_map.set(k,typename M::Value(_map[k].x,v));} | 
   444   };  | 
   441   };  | 
   445   | 
   442   | 
   446   ///Returns an \ref YMap class  | 
   443   ///Returns an \ref YMap class  | 
   466   ///\ingroup maps  | 
   463   ///\ingroup maps  | 
   467   ///  | 
   464   ///  | 
   468   template<class M>  | 
   465   template<class M>  | 
   469   class ConstYMap   | 
   466   class ConstYMap   | 
   470   { | 
   467   { | 
   471     typename SmartConstReference<M>::Type _map;  | 
   468     const M& _map;  | 
   472   public:  | 
   469   public:  | 
   473     typedef True NeedCopy;  | 
         | 
   474   | 
   470   | 
   475     typedef typename M::Value::Value Value;  | 
   471     typedef typename M::Value::Value Value;  | 
   476     typedef typename M::Key Key;  | 
   472     typedef typename M::Key Key;  | 
   477     ///\e  | 
   473     ///\e  | 
   478     ConstYMap(const M &map) : _map(map) {} | 
   474     ConstYMap(const M &map) : _map(map) {} | 
   498   ///\ingroup maps  | 
   494   ///\ingroup maps  | 
   499   ///  | 
   495   ///  | 
   500   template<class M>  | 
   496   template<class M>  | 
   501   class NormSquareMap   | 
   497   class NormSquareMap   | 
   502   { | 
   498   { | 
   503     typename SmartConstReference<M>::Type _map;  | 
   499     const M& _map;  | 
   504   public:  | 
   500   public:  | 
   505     typedef True NeedCopy;  | 
         | 
   506   | 
   501   | 
   507     typedef typename M::Value::Value Value;  | 
   502     typedef typename M::Value::Value Value;  | 
   508     typedef typename M::Key Key;  | 
   503     typedef typename M::Key Key;  | 
   509     ///\e  | 
   504     ///\e  | 
   510     NormSquareMap(const M &map) : _map(map) {} | 
   505     NormSquareMap(const M &map) : _map(map) {} |