src/work/deba/pac_map_factory.h
changeset 1365 c280de819a73
parent 1364 ee5959aa4410
child 1366 d00b85f8be45
     1.1 --- a/src/work/deba/pac_map_factory.h	Sun Apr 17 18:57:22 2005 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,73 +0,0 @@
     1.4 -#ifndef PAC_MAP_FACTORY_H
     1.5 -#define PAC_MAP_FACTORY_H
     1.6 -
     1.7 -#include "map_base.h"
     1.8 -
     1.9 -/**
    1.10 -	Converter class to use the standard template
    1.11 -	libary's pair associative containers as a graph map.
    1.12 -*/
    1.13 -
    1.14 -namespace lemon {
    1.15 -	
    1.16 -	template <typename G, typename K, typename KIt, template <typename, typename> class PAC>
    1.17 -	class PacMapFactory {
    1.18 -	
    1.19 -	
    1.20 -	public:
    1.21 -		
    1.22 -		typedef G Graph;
    1.23 -		typedef K Key;
    1.24 -		typedef KIt KeyIt;
    1.25 -		
    1.26 -		template <typename V> 
    1.27 -		class Map : public MapBase<G, K, KIt> {
    1.28 -		public:
    1.29 -			typedef V Value;
    1.30 -	
    1.31 -			Map() {}
    1.32 -			
    1.33 -			Map(Graph& g, MapRegistry<G, K, KIt>& r) 
    1.34 -				: MapBase<G, K, KIt>(g, r) {
    1.35 -				init();
    1.36 -			}
    1.37 -				
    1.38 -			virtual ~Map() {
    1.39 -				destroy();
    1.40 -			}
    1.41 -	
    1.42 -	
    1.43 -			V& operator[](const K& key) {
    1.44 -				return container.find(key)->second;
    1.45 -			} 
    1.46 -		
    1.47 -			const V& operator[](const K& key) const {
    1.48 -				return container.find(key)->second;
    1.49 -			}
    1.50 -	
    1.51 -			const V& get(const K& key) const {
    1.52 -				return container.find(key)->second;
    1.53 -			} 
    1.54 -		
    1.55 -			void set(const K& key, const V& value) {
    1.56 -				container.find(key)->second = value;
    1.57 -			}
    1.58 -		
    1.59 -			void add(const K& key) {
    1.60 -				container.insert(key);
    1.61 -			}
    1.62 -		
    1.63 -			void erase(const K& key) {
    1.64 -				container.erase(key);
    1.65 -			}
    1.66 -	
    1.67 -		private:
    1.68 -			typedef PAC<K, V> Container;
    1.69 -		
    1.70 -			Container container;
    1.71 -		};
    1.72 -		
    1.73 -	};
    1.74 -}
    1.75 -
    1.76 -#endif
    1.77 \ No newline at end of file