[Lemon-commits] [lemon_svn] alpar: r1936 - hugo/trunk/lemon

Lemon SVN svn at lemon.cs.elte.hu
Mon Nov 6 20:48:55 CET 2006


Author: alpar
Date: Thu Jun  9 11:46:34 2005
New Revision: 1936

Modified:
   hugo/trunk/lemon/maps.h

Log:
Trivial doc fixes

Modified: hugo/trunk/lemon/maps.h
==============================================================================
--- hugo/trunk/lemon/maps.h	(original)
+++ hugo/trunk/lemon/maps.h	Thu Jun  9 11:46:34 2005
@@ -146,9 +146,13 @@
     typedef typename parent::value_type PairType;
 
   public:
+    ///\e
     typedef K Key;
+    ///\e
     typedef T Value;
+    ///\e
     typedef T& Reference;
+    ///\e
     typedef const T& ConstReference;
 
 
@@ -226,7 +230,9 @@
 
     typedef True NeedCopy;
 
+    ///\e
     typedef typename M::Key Key;
+    ///\e
     typedef T Value;
 
     ///Constructor
@@ -271,7 +277,9 @@
 
     typedef True NeedCopy;
 
+    ///\e
     typedef typename M1::Key Key;
+    ///\e
     typedef typename M1::Value Value;
 
     ///Constructor
@@ -318,7 +326,9 @@
   public:
 
     typedef True NeedCopy;
+    ///\e
     typedef typename M::Key Key;
+    ///\e
     typedef typename M::Value Value;
 
     ///Constructor
@@ -356,7 +366,9 @@
   public:
 
     typedef True NeedCopy;
+    ///\e
     typedef typename M1::Key Key;
+    ///\e
     typedef typename M1::Value Value;
 
     ///Constructor
@@ -394,7 +406,9 @@
   public:
 
     typedef True NeedCopy;
+    ///\e
     typedef typename M1::Key Key;
+    ///\e
     typedef typename M1::Value Value;
 
     ///Constructor
@@ -438,7 +452,9 @@
   public:
 
     typedef True NeedCopy;
+    ///\e
     typedef typename M::Key Key;
+    ///\e
     typedef typename M::Value Value;
 
     ///Constructor
@@ -476,7 +492,9 @@
   public:
 
     typedef True NeedCopy;
+    ///\e
     typedef typename M1::Key Key;
+    ///\e
     typedef typename M1::Value Value;
 
     ///Constructor
@@ -522,7 +540,9 @@
   public:
 
     typedef True NeedCopy;
+    ///\e
     typedef typename M2::Key Key;
+    ///\e
     typedef typename M1::Value Value;
 
     ///Constructor
@@ -575,7 +595,9 @@
   public:
 
     typedef True NeedCopy;
+    ///\e
     typedef typename M1::Key Key;
+    ///\e
     typedef V Value;
 
     ///Constructor
@@ -624,7 +646,9 @@
   public:
 
     typedef True NeedCopy;
+    ///\e
     typedef typename M::Key Key;
+    ///\e
     typedef typename M::Value Value;
 
     ///Constructor
@@ -676,7 +700,9 @@
   public:
 
     typedef True NeedCopy;
+    ///\e
     typedef typename M::Key Key;
+    ///\e
     typedef typename M::Value Value;
 
     ///Constructor
@@ -717,7 +743,9 @@
   public:
 
     typedef True NeedCopy;
+    ///\e
     typedef K Key;
+    ///\e
     typedef V Value;
 
     ///Constructor
@@ -756,9 +784,13 @@
   public:
 
     typedef True NeedCopy;
+    ///\e
     typedef typename M::Key argument_type;
+    ///\e
     typedef typename M::Value result_type;
+    ///\e
     typedef typename M::Key Key;
+    ///\e
     typedef typename M::Value Value;
 
     ///Constructor
@@ -806,7 +838,9 @@
   public:
 
     typedef True NeedCopy;
+    ///\e
     typedef typename M1::Key Key;
+    ///\e
     typedef typename M1::Value Value;
 
     ///Constructor
@@ -831,9 +865,59 @@
     return ForkMap<M1,M2>(m1,m2);
   }
 
-  /// @}
+
   
-}
+  /* ************* BOOL MAPS ******************* */
+  
+  ///Logical 'not' of a map
+  
+  ///This bool \ref concept::ReadMap "read only map" returns the 
+  ///logical negation of
+  ///value returned by the
+  ///given map. Its \c Key and will be inherited from \c M,
+  ///its Value is <tt>bool</tt>.
+
+  template<class M> 
+  class NotMap
+  {
+    typename SmartConstReference<M>::Type m;
+  public:
+
+    typedef True NeedCopy;
+    ///\e
+    typedef typename M::Key Key;
+    ///\e
+    typedef bool Value;
+
+    ///Constructor
+
+    ///\e
+    ///
+    NotMap(const M &_m) : m(_m) {};
+    Value operator[](Key k) const {return !m[k];}
+  };
+  
+  ///Returns a \ref NotMap class
+  
+  ///This function just returns a \ref NotMap class.
+  ///\relates NotMap
+  template<class M> 
+  inline NotMap<M> notMap(const M &m) 
+  {
+    return NotMap<M>(m);
+  }
+
+
+
 
 
+
+
+
+
+
+
+  /// @}
+}
+
 #endif // LEMON_MAPS_H



More information about the Lemon-commits mailing list