Haszowanie
Ostatnio zmodyfikowano 2014-06-19 18:59
Monika90 |
» 2014-06-19 18:59:56 czy daloby sie wyeliminowac przypadek gdyby ktos chcial sobie uzyc jednoczesnie dwoch roznych typow ? |
chodzi ci o taki przypadek? HashSet < int, Method1 < std::string >> set1;
Można, sposobów jest wiele, tytułem eksperymentu możesz spróbować takiego: #include <string>
template < class Method > class HashSet { public: typedef typename Method::value_type value_type; void insert( const value_type & ); void remove( const value_type & ); bool search( const value_type & ) const; private: Method m_; };
struct Method1Int { typedef int value_type; int operator ()( value_type ) const { } };
struct Method1String { typedef std::string value_type; int operator ()( const value_type & str ) const { } };
struct Method2Int { typedef int value_type; int operator ()( value_type ) const { } };
struct Method2String { typedef std::string value_type; int operator ()( const value_type & str ) const { } };
int main() { HashSet < Method1Int > set1; HashSet < Method2Int > set2; HashSet < Method1String > set3; HashSet < Method2String > set4; }
|
|
1 « 2 » |