00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef TOOL_MICROSECONDS_STAMP_HXX_
00023 # define TOOL_MICROSECONDS_STAMP_HXX_
00024
00025 # include "microseconds_stamp.hh"
00026
00027 namespace tool
00028 {
00029
00030 template <class T>
00031 microseconds_stamp<T>::
00032 microseconds_stamp(const tool::microseconds& microseconds,
00033 const T& super):
00034 T (super),
00035 microseconds_ (microseconds)
00036 {
00037 }
00038
00039 template <class T>
00040 template <class U>
00041 microseconds_stamp<T>::microseconds_stamp(const microseconds_stamp<U>& msst):
00042 T (msst),
00043 microseconds_ (msst.microseconds())
00044 {
00045 }
00046
00047 template <class T>
00048 const tool::microseconds&
00049 microseconds_stamp<T>::microseconds() const
00050 {
00051 return microseconds_;
00052 }
00053
00054 template <class T>
00055 tool::microseconds&
00056 microseconds_stamp<T>::microseconds()
00057 {
00058 return microseconds_;
00059 }
00060
00061 template <class T>
00062 bool
00063 microseconds_stamp<T>::operator == (const microseconds_stamp& rhs) const
00064 {
00065 return T::operator == (rhs);
00066 }
00067
00068 template <class T>
00069 bool
00070 microseconds_stamp<T>::operator != (const microseconds_stamp& rhs) const
00071 {
00072 return T::operator != (rhs);
00073 }
00074
00075 }
00076
00077 WP_HASH_NAMESPACE_BEGIN
00078
00079 template <class T>
00080 size_t
00081 hash< tool::microseconds_stamp<T> >::
00082 operator () (const tool::microseconds_stamp<T>& s) const
00083 {
00084 return hash<T>::operator () (s);
00085 }
00086
00087 WP_HASH_NAMESPACE_END
00088
00089 #endif // TOOL_MICROSECONDS_STAMP_HXX_