CrossFramework Library
|
00001 00006 #if defined(XBASE_INCLUDED_TIMEPOD_HPP) 00007 #else 00008 #define XBASE_INCLUDED_TIMEPOD_HPP 00009 00010 //------------------------------------------------------------ 00011 #include <XBase/BuiltInTypes.hpp> 00012 #include <XBase/PODInheritClass.hpp> 00013 00014 //------------------------------------------------------------ 00015 namespace XBase { 00016 struct CalendarPOD; 00017 struct TimeSpanPOD; 00018 } 00019 00020 //------------------------------------------------------------ 00021 namespace XBase { 00023 00024 00032 struct TimePOD 00033 { 00039 static const TimePOD LocalTime(); 00040 00046 static const TimePOD UniversalTime(); 00047 00062 static const TimePOD FromDate( 00063 uint aYear 00064 , uint aMonth 00065 , uint aDayOfMonth 00066 , uint aHour 00067 , uint aMin 00068 , uint aSec 00069 , uint aMsec 00070 , uint aUsec 00071 ); 00072 00074 const CalendarPOD toCalendar()const; 00075 00081 const TimePOD add( const TimeSpanPOD& aTimeSpan )const; 00082 const TimePOD operator+( const TimeSpanPOD& aTimeSpan )const; 00083 00089 TimePOD& addAssign( const TimeSpanPOD& aTimeSpan ); 00090 TimePOD& operator+=( const TimeSpanPOD& aTimeSpan ); 00091 00097 const TimePOD sub( const TimeSpanPOD& aTimeSpan )const; 00098 const TimePOD operator-( const TimeSpanPOD& aTimeSpan )const; 00099 00105 TimePOD& subAssign( const TimeSpanPOD& aTimeSpan ); 00106 TimePOD& operator-=( const TimeSpanPOD& aTimeSpan ); 00107 00109 s64 ticks()const; 00110 00111 // 値。直接アクセスすることは想定していない。 00112 // 実質使えるのは0 <= val <= S64::MaxValue()まで。 00113 s64 ticks_; 00114 }; 00115 00117 typedef PODInheritClass< TimePOD > Time; 00119 } 00120 //------------------------------------------------------------ 00121 #endif 00122 // EOF