diff --git a/lemon/bits/default_map.h b/lemon/bits/default_map.h --- a/lemon/bits/default_map.h +++ b/lemon/bits/default_map.h @@ -19,6 +19,7 @@ #ifndef LEMON_BITS_DEFAULT_MAP_H #define LEMON_BITS_DEFAULT_MAP_H +#include #include #include //#include @@ -96,7 +97,7 @@ }; -#if defined __GNUC__ && !defined __STRICT_ANSI__ +#if defined LEMON_HAVE_LONG_LONG // long long template @@ -152,15 +153,16 @@ template class DefaultMap : public DefaultMapSelector<_Graph, _Item, _Value>::Map { + typedef typename DefaultMapSelector<_Graph, _Item, _Value>::Map Parent; + public: - typedef typename DefaultMapSelector<_Graph, _Item, _Value>::Map Parent; typedef DefaultMap<_Graph, _Item, _Value> Map; - - typedef typename Parent::Graph Graph; + + typedef typename Parent::GraphType GraphType; typedef typename Parent::Value Value; - explicit DefaultMap(const Graph& graph) : Parent(graph) {} - DefaultMap(const Graph& graph, const Value& value) + explicit DefaultMap(const GraphType& graph) : Parent(graph) {} + DefaultMap(const GraphType& graph, const Value& value) : Parent(graph, value) {} DefaultMap& operator=(const DefaultMap& cmap) {