#ifndef BU_LIST_HASH_H #define BU_LIST_HASH_H #include "bu/hash.h" #include "bu/list.h" namespace Bu { template, typename valuealloc = std::allocator >, typename challoc = std::allocator > class ListHash : public Hash, sizecalc, keyalloc, valuealloc, challoc> { typedef Hash, sizecalc, keyalloc, valuealloc, challoc> ParentType; public: ListHash() { } ListHash( const ListHash &src ) : ParentType( src ) { } virtual ~ListHash() { } ListHash &operator=( const ListHash &src ) { *dynamic_cast(this) = dynamic_cast(src); } virtual void insert( const key &k, const value &v ) { if( !has( k ) ) { ParentType::insert( k, List() ); } get( k ).append( v ); } private: }; }; #endif