00001 #ifndef STATIC_CONTAINER_LIST_HASH_H 00002 00003 #define STATIC_CONTAINER_LIST_HASH_H 00004 00005 #include "static_container/hash.h" 00006 #include "static_container/list.h" 00007 00008 namespace static_container { 00010 template < typename Key, typename Value, size_type MaxSize, typename KeyEqual = std::equal_to< Key > > 00011 class list_hash : public hash< Key, Value, list< std::pair< Key, Value >, MaxSize >, KeyEqual > { 00012 public: 00013 typedef hash< Key, Value, list< std::pair< Key, Value >, MaxSize >, KeyEqual > parent; 00014 00015 typedef typename parent::value_type value_type; 00016 typedef typename parent::reference reference; 00017 typedef typename parent::const_reference const_reference; 00018 typedef typename parent::iterator iterator; 00019 typedef typename parent::const_iterator const_iterator; 00020 typedef typename parent::size_type size_type; 00021 00022 list_hash( key_equal equal = KeyEqual() ) : parent( equal ) {} 00023 }; 00024 } 00025 00026 #endif