equal
  deleted
  inserted
  replaced
  
    
    
|    144     typedef std::map<K,T,Compare> parent; |    144     typedef std::map<K,T,Compare> parent; | 
|    145     T v; |    145     T v; | 
|    146     typedef typename parent::value_type PairType; |    146     typedef typename parent::value_type PairType; | 
|    147  |    147  | 
|    148   public: |    148   public: | 
|         |    149     ///\e | 
|    149     typedef K Key; |    150     typedef K Key; | 
|         |    151     ///\e | 
|    150     typedef T Value; |    152     typedef T Value; | 
|         |    153     ///\e | 
|    151     typedef T& Reference; |    154     typedef T& Reference; | 
|         |    155     ///\e | 
|    152     typedef const T& ConstReference; |    156     typedef const T& ConstReference; | 
|    153  |    157  | 
|    154  |    158  | 
|    155     StdMap() : v() {} |    159     StdMap() : v() {} | 
|    156     /// Constructor with specified default value |    160     /// Constructor with specified default value | 
|    224     typename SmartConstReference<M>::Type m; |    228     typename SmartConstReference<M>::Type m; | 
|    225   public: |    229   public: | 
|    226  |    230  | 
|    227     typedef True NeedCopy; |    231     typedef True NeedCopy; | 
|    228  |    232  | 
|         |    233     ///\e | 
|    229     typedef typename M::Key Key; |    234     typedef typename M::Key Key; | 
|         |    235     ///\e | 
|    230     typedef T Value; |    236     typedef T Value; | 
|    231  |    237  | 
|    232     ///Constructor |    238     ///Constructor | 
|    233  |    239  | 
|    234     ///Constructor |    240     ///Constructor | 
|    269  |    275  | 
|    270   public: |    276   public: | 
|    271  |    277  | 
|    272     typedef True NeedCopy; |    278     typedef True NeedCopy; | 
|    273  |    279  | 
|         |    280     ///\e | 
|    274     typedef typename M1::Key Key; |    281     typedef typename M1::Key Key; | 
|         |    282     ///\e | 
|    275     typedef typename M1::Value Value; |    283     typedef typename M1::Value Value; | 
|    276  |    284  | 
|    277     ///Constructor |    285     ///Constructor | 
|    278  |    286  | 
|    279     ///\e |    287     ///\e | 
|    316     typename SmartConstReference<M>::Type m; |    324     typename SmartConstReference<M>::Type m; | 
|    317     typename M::Value v; |    325     typename M::Value v; | 
|    318   public: |    326   public: | 
|    319  |    327  | 
|    320     typedef True NeedCopy; |    328     typedef True NeedCopy; | 
|         |    329     ///\e | 
|    321     typedef typename M::Key Key; |    330     typedef typename M::Key Key; | 
|         |    331     ///\e | 
|    322     typedef typename M::Value Value; |    332     typedef typename M::Value Value; | 
|    323  |    333  | 
|    324     ///Constructor |    334     ///Constructor | 
|    325  |    335  | 
|    326     ///Constructor |    336     ///Constructor | 
|    354     typename SmartConstReference<M1>::Type m1; |    364     typename SmartConstReference<M1>::Type m1; | 
|    355     typename SmartConstReference<M2>::Type m2; |    365     typename SmartConstReference<M2>::Type m2; | 
|    356   public: |    366   public: | 
|    357  |    367  | 
|    358     typedef True NeedCopy; |    368     typedef True NeedCopy; | 
|         |    369     ///\e | 
|    359     typedef typename M1::Key Key; |    370     typedef typename M1::Key Key; | 
|         |    371     ///\e | 
|    360     typedef typename M1::Value Value; |    372     typedef typename M1::Value Value; | 
|    361  |    373  | 
|    362     ///Constructor |    374     ///Constructor | 
|    363  |    375  | 
|    364     ///\e |    376     ///\e | 
|    392     typename SmartConstReference<M1>::Type m1; |    404     typename SmartConstReference<M1>::Type m1; | 
|    393     typename SmartConstReference<M2>::Type m2; |    405     typename SmartConstReference<M2>::Type m2; | 
|    394   public: |    406   public: | 
|    395  |    407  | 
|    396     typedef True NeedCopy; |    408     typedef True NeedCopy; | 
|         |    409     ///\e | 
|    397     typedef typename M1::Key Key; |    410     typedef typename M1::Key Key; | 
|         |    411     ///\e | 
|    398     typedef typename M1::Value Value; |    412     typedef typename M1::Value Value; | 
|    399  |    413  | 
|    400     ///Constructor |    414     ///Constructor | 
|    401  |    415  | 
|    402     ///\e |    416     ///\e | 
|    436     typename SmartConstReference<M>::Type m; |    450     typename SmartConstReference<M>::Type m; | 
|    437     typename M::Value v; |    451     typename M::Value v; | 
|    438   public: |    452   public: | 
|    439  |    453  | 
|    440     typedef True NeedCopy; |    454     typedef True NeedCopy; | 
|         |    455     ///\e | 
|    441     typedef typename M::Key Key; |    456     typedef typename M::Key Key; | 
|         |    457     ///\e | 
|    442     typedef typename M::Value Value; |    458     typedef typename M::Value Value; | 
|    443  |    459  | 
|    444     ///Constructor |    460     ///Constructor | 
|    445  |    461  | 
|    446     ///Constructor |    462     ///Constructor | 
|    474     typename SmartConstReference<M1>::Type m1; |    490     typename SmartConstReference<M1>::Type m1; | 
|    475     typename SmartConstReference<M2>::Type m2; |    491     typename SmartConstReference<M2>::Type m2; | 
|    476   public: |    492   public: | 
|    477  |    493  | 
|    478     typedef True NeedCopy; |    494     typedef True NeedCopy; | 
|         |    495     ///\e | 
|    479     typedef typename M1::Key Key; |    496     typedef typename M1::Key Key; | 
|         |    497     ///\e | 
|    480     typedef typename M1::Value Value; |    498     typedef typename M1::Value Value; | 
|    481  |    499  | 
|    482     ///Constructor |    500     ///Constructor | 
|    483  |    501  | 
|    484     ///\e |    502     ///\e | 
|    520     typename SmartConstReference<M1>::Type m1; |    538     typename SmartConstReference<M1>::Type m1; | 
|    521     typename SmartConstReference<M2>::Type m2; |    539     typename SmartConstReference<M2>::Type m2; | 
|    522   public: |    540   public: | 
|    523  |    541  | 
|    524     typedef True NeedCopy; |    542     typedef True NeedCopy; | 
|         |    543     ///\e | 
|    525     typedef typename M2::Key Key; |    544     typedef typename M2::Key Key; | 
|         |    545     ///\e | 
|    526     typedef typename M1::Value Value; |    546     typedef typename M1::Value Value; | 
|    527  |    547  | 
|    528     ///Constructor |    548     ///Constructor | 
|    529  |    549  | 
|    530     ///\e |    550     ///\e | 
|    573     typename SmartConstReference<M2>::Type m2; |    593     typename SmartConstReference<M2>::Type m2; | 
|    574     F f; |    594     F f; | 
|    575   public: |    595   public: | 
|    576  |    596  | 
|    577     typedef True NeedCopy; |    597     typedef True NeedCopy; | 
|         |    598     ///\e | 
|    578     typedef typename M1::Key Key; |    599     typedef typename M1::Key Key; | 
|         |    600     ///\e | 
|    579     typedef V Value; |    601     typedef V Value; | 
|    580  |    602  | 
|    581     ///Constructor |    603     ///Constructor | 
|    582  |    604  | 
|    583     ///\e |    605     ///\e | 
|    622   { |    644   { | 
|    623     typename SmartConstReference<M>::Type m; |    645     typename SmartConstReference<M>::Type m; | 
|    624   public: |    646   public: | 
|    625  |    647  | 
|    626     typedef True NeedCopy; |    648     typedef True NeedCopy; | 
|         |    649     ///\e | 
|    627     typedef typename M::Key Key; |    650     typedef typename M::Key Key; | 
|         |    651     ///\e | 
|    628     typedef typename M::Value Value; |    652     typedef typename M::Value Value; | 
|    629  |    653  | 
|    630     ///Constructor |    654     ///Constructor | 
|    631  |    655  | 
|    632     ///\e |    656     ///\e | 
|    674   { |    698   { | 
|    675     typename SmartConstReference<M>::Type m; |    699     typename SmartConstReference<M>::Type m; | 
|    676   public: |    700   public: | 
|    677  |    701  | 
|    678     typedef True NeedCopy; |    702     typedef True NeedCopy; | 
|         |    703     ///\e | 
|    679     typedef typename M::Key Key; |    704     typedef typename M::Key Key; | 
|         |    705     ///\e | 
|    680     typedef typename M::Value Value; |    706     typedef typename M::Value Value; | 
|    681  |    707  | 
|    682     ///Constructor |    708     ///Constructor | 
|    683  |    709  | 
|    684     ///\e |    710     ///\e | 
|    715   { |    741   { | 
|    716     const F &f; |    742     const F &f; | 
|    717   public: |    743   public: | 
|    718  |    744  | 
|    719     typedef True NeedCopy; |    745     typedef True NeedCopy; | 
|         |    746     ///\e | 
|    720     typedef K Key; |    747     typedef K Key; | 
|         |    748     ///\e | 
|    721     typedef V Value; |    749     typedef V Value; | 
|    722  |    750  | 
|    723     ///Constructor |    751     ///Constructor | 
|    724  |    752  | 
|    725     ///\e |    753     ///\e | 
|    754   { |    782   { | 
|    755     typename SmartConstReference<M>::Type m; |    783     typename SmartConstReference<M>::Type m; | 
|    756   public: |    784   public: | 
|    757  |    785  | 
|    758     typedef True NeedCopy; |    786     typedef True NeedCopy; | 
|         |    787     ///\e | 
|    759     typedef typename M::Key argument_type; |    788     typedef typename M::Key argument_type; | 
|         |    789     ///\e | 
|    760     typedef typename M::Value result_type; |    790     typedef typename M::Value result_type; | 
|         |    791     ///\e | 
|    761     typedef typename M::Key Key; |    792     typedef typename M::Key Key; | 
|         |    793     ///\e | 
|    762     typedef typename M::Value Value; |    794     typedef typename M::Value Value; | 
|    763  |    795  | 
|    764     ///Constructor |    796     ///Constructor | 
|    765  |    797  | 
|    766     ///\e |    798     ///\e | 
|    804     typename SmartConstReference<M1>::Type m1; |    836     typename SmartConstReference<M1>::Type m1; | 
|    805     typename SmartConstReference<M2>::Type m2; |    837     typename SmartConstReference<M2>::Type m2; | 
|    806   public: |    838   public: | 
|    807  |    839  | 
|    808     typedef True NeedCopy; |    840     typedef True NeedCopy; | 
|         |    841     ///\e | 
|    809     typedef typename M1::Key Key; |    842     typedef typename M1::Key Key; | 
|         |    843     ///\e | 
|    810     typedef typename M1::Value Value; |    844     typedef typename M1::Value Value; | 
|    811  |    845  | 
|    812     ///Constructor |    846     ///Constructor | 
|    813  |    847  | 
|    814     ///\e |    848     ///\e | 
|    829   inline ForkMap<M1,M2> forkMap(const M1 &m1,const M2 &m2)  |    863   inline ForkMap<M1,M2> forkMap(const M1 &m1,const M2 &m2)  | 
|    830   { |    864   { | 
|    831     return ForkMap<M1,M2>(m1,m2); |    865     return ForkMap<M1,M2>(m1,m2); | 
|    832   } |    866   } | 
|    833  |    867  | 
|         |    868  | 
|         |    869    | 
|         |    870   /* ************* BOOL MAPS ******************* */ | 
|         |    871    | 
|         |    872   ///Logical 'not' of a map | 
|         |    873    | 
|         |    874   ///This bool \ref concept::ReadMap "read only map" returns the  | 
|         |    875   ///logical negation of | 
|         |    876   ///value returned by the | 
|         |    877   ///given map. Its \c Key and will be inherited from \c M, | 
|         |    878   ///its Value is <tt>bool</tt>. | 
|         |    879  | 
|         |    880   template<class M>  | 
|         |    881   class NotMap | 
|         |    882   { | 
|         |    883     typename SmartConstReference<M>::Type m; | 
|         |    884   public: | 
|         |    885  | 
|         |    886     typedef True NeedCopy; | 
|         |    887     ///\e | 
|         |    888     typedef typename M::Key Key; | 
|         |    889     ///\e | 
|         |    890     typedef bool Value; | 
|         |    891  | 
|         |    892     ///Constructor | 
|         |    893  | 
|         |    894     ///\e | 
|         |    895     /// | 
|         |    896     NotMap(const M &_m) : m(_m) {}; | 
|         |    897     Value operator[](Key k) const {return !m[k];} | 
|         |    898   }; | 
|         |    899    | 
|         |    900   ///Returns a \ref NotMap class | 
|         |    901    | 
|         |    902   ///This function just returns a \ref NotMap class. | 
|         |    903   ///\relates NotMap | 
|         |    904   template<class M>  | 
|         |    905   inline NotMap<M> notMap(const M &m)  | 
|         |    906   { | 
|         |    907     return NotMap<M>(m); | 
|         |    908   } | 
|         |    909  | 
|         |    910  | 
|         |    911  | 
|         |    912  | 
|         |    913  | 
|         |    914  | 
|         |    915  | 
|         |    916  | 
|         |    917  | 
|         |    918  | 
|         |    919  | 
|    834   /// @} |    920   /// @} | 
|    835    |         | 
|    836 } |    921 } | 
|    837  |    922  | 
|    838  |         | 
|    839 #endif // LEMON_MAPS_H |    923 #endif // LEMON_MAPS_H |