[complement-svn] SF.net SVN: complement: [1695] trunk/complement/explore/include/janus/vtime .h
Status: Pre-Alpha
Brought to you by:
complement
From: <com...@us...> - 2007-08-17 16:13:14
|
Revision: 1695 http://complement.svn.sourceforge.net/complement/?rev=1695&view=rev Author: complement Date: 2007-08-17 09:13:09 -0700 (Fri, 17 Aug 2007) Log Message: ----------- dancing with std::tr1::hashtable from libstdc++ team Modified Paths: -------------- trunk/complement/explore/include/janus/vtime.h Modified: trunk/complement/explore/include/janus/vtime.h =================================================================== --- trunk/complement/explore/include/janus/vtime.h 2007-08-17 15:24:30 UTC (rev 1694) +++ trunk/complement/explore/include/janus/vtime.h 2007-08-17 16:13:09 UTC (rev 1695) @@ -41,15 +41,19 @@ } // namespace janus -#if defined(__USE_STLPORT_HASH) || defined(__USE_STLPORT_TR1) +#if defined(__USE_STLPORT_HASH) || defined(__USE_STLPORT_TR1) || defined(__USE_STD_TR1) # define __HASH_NAMESPACE std #endif -#if defined(__USE_STD_HASH) || defined(__USE_STD_TR1) +#if defined(__USE_STD_HASH) # define __HASH_NAMESPACE __gnu_cxx #endif namespace __HASH_NAMESPACE { +#ifdef __USE_STD_TR1 +namespace tr1 { +#endif + template <> struct hash<janus::oid_type> { @@ -57,6 +61,10 @@ { return __x.addr; } }; +#ifdef __USE_STD_TR1 +} +#endif + } // namespace __HASH_NAMESPACE #undef __HASH_NAMESPACE @@ -132,9 +140,15 @@ vtime& operator +=( const vtime_type::value_type& ); - vtime_type::data_type& operator[]( const vtime_type::key_type& k ) +#ifdef __USE_STD_TR1 + typedef vtime_type::value_type data_type; +#else + typedef vtime_type::data_type data_type; +#endif + + data_type& operator[]( const vtime_type::key_type& k ) { return vt[k]; } - const vtime_type::data_type& operator[]( const vtime_type::key_type& k ) const + const data_type& operator[]( const vtime_type::key_type& k ) const { return vt[k]; } @@ -181,9 +195,15 @@ gvtime& operator +=( const gvtime_type::value_type& ); gvtime& operator +=( const gvtime& ); - gvtime_type::data_type& operator[]( const gvtime_type::key_type k ) +#ifdef __USE_STD_TR1 + typedef gvtime_type::value_type data_type; +#else + typedef gvtime_type::data_type data_type; +#endif + + data_type& operator[]( const gvtime_type::key_type k ) { return gvt[k]; } - const gvtime_type::data_type& operator[]( const gvtime_type::key_type k ) const + const data_type& operator[]( const gvtime_type::key_type k ) const { return gvt[k]; } mutable gvtime_type gvt; @@ -282,7 +302,13 @@ void sync( group_type, const oid_type&, const gvtime_type& ); #ifdef __FIT_EXAM - const gvtime_type::data_type& operator[]( const gvtime_type::key_type k ) const +#ifdef __USE_STD_TR1 + typedef gvtime_type::value_type data_type; +#else + typedef gvtime_type::data_type data_type; +#endif + + const data_type& operator[]( const gvtime_type::key_type k ) const { return vt[k]; } #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |