on main help sign in
Add size function to TypeRepMap
eccca6cvrom911
src/Data/TypeRep/Map.hs+4
@@ -6,6 +6,7 @@ module Data.TypeRep.Map
6 , empty
6 , empty
7 , insert
7 , insert
8 , lookup
8 , lookup
9+ , size
9 ) where
10 ) where
10
11
11import Prelude hiding (lookup)
12import Prelude hiding (lookup)
@@ -38,3 +39,6 @@ insert val = TypeRepMap . LMap.insert (typeOf val) (unsafeCoerce val) . unMap
38-- Nothing
39-- Nothing
39lookup :: forall a . Typeable a => TypeRepMap -> Maybe a
40lookup :: forall a . Typeable a => TypeRepMap -> Maybe a
40lookup = fmap unsafeCoerce . LMap.lookup (typeRep (Proxy :: Proxy a)) . unMap
41lookup = fmap unsafeCoerce . LMap.lookup (typeRep (Proxy :: Proxy a)) . unMap
42+
43+size :: TypeRepMap -> Int
44+size = LMap.size . unMap