Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 9th, 2012  |  syntax: None  |  size: 0.60 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. How Can I specialize a std map for multiple key types?
  2. template<class ValueT>
  3. FancyKeyMap
  4.     : public std::map<FancyKey,ValueT, FancyKey::Less>
  5. {
  6.      ...
  7. public:
  8.      inline iterator find(FancyKeyArg key)
  9.      {
  10.          return(std::map<FancyKey,ValueT,
  11.                 FancyKey::Less>::find(FancyKeyArg.makeKeyRef()));
  12.      }  
  13. };
  14.        
  15. std::map<FancyKey,ValueT> fancymap;
  16.        
  17. FancyKeyMap<ValueT> fancyMap;
  18.        
  19. namespace std {
  20.  
  21. template<class ValT, class CompareT=FancyKey::Less,
  22.          class AllocT=allocator<pair<const FancyKey,ValT> > >
  23.     class map<FancyKey, ValT, CompareT, AllocT>
  24. {
  25.      ....
  26. };
  27.  
  28. }