TestStrategy
template<class TestStrategy>
typedef typename TestStrategy::EntryStrategy EntryStrategy;
typedef typename TestStrategy::Key Key;
typedef typename TestStrategy::Value Value;
typedef typename TestStrategy::TestClass TestClass;
typedef typename TestStrategy::MyMap MyMap;
struct Strategy : public TestStrategy<Map, PairTestBase<Key, Value>::EntryStrategy, CS> {};
: public TestStrategy<ImplicitKeyTestMap, ImplicitKeyTestEntryStrategy, CompareStrategy> {};
typedef TestStrategy<IntStrategy, Ascending> IntAscTestStrategy;
typedef TestStrategy<IntStrategy, Descending> IntDescTestStrategy;
typedef TestStrategy<StringStrategy, Ascending> StringAscTestStrategy;
typedef TestStrategy<StringStrategy, Descending> StringDescTestStrategy;
template<typename TestStrategy>
typedef typename TestStrategy::ValueStrategy ValueStrategy;
typedef typename TestStrategy::Value Value;
typedef typename TestStrategy::TestClass TestClass;
typedef TestStrategy<IntStrategy> IntTestStrategy;
typedef TestStrategy<StringStrategy> StringTestStrategy;
template<typename TestStrategy>
typedef typename TestStrategy::ValueStrategy ValueStrategy;
typedef typename TestStrategy::Value Value;
typedef typename TestStrategy::TestClass TestClass;