00001 // 00002 // The Austria library is copyright (c) Gianni Mariani 2004. 00003 // 00004 // Grant Of License. Grants to LICENSEE the non-exclusive right to use the Austria 00005 // library subject to the terms of the LGPL. 00006 // 00007 // A copy of the license is available in this directory or one may be found at this URL: 00008 // http://www.gnu.org/copyleft/lesser.txt 00009 // 00015 #ifndef x_at_types_h_x 00016 #define x_at_types_h_x 1 00017 00018 #include "at_exports.h" 00019 00020 #ifndef AT_NO_STRING 00021 #include <string> 00022 typedef std::string AT_String; 00023 #endif 00024 00025 // Austria namespace 00026 namespace at 00027 { 00028 00029 typedef short Int16; 00030 typedef unsigned short Uint16; 00031 typedef int Int32; 00032 typedef unsigned int Uint32; 00033 typedef long long Int64; 00034 typedef unsigned long long Uint64; 00035 00036 typedef float Real32; 00037 typedef double Real64; 00038 00039 typedef unsigned int PtrDiff; 00040 00041 00042 // ======== IType ================================================== 00048 template < typename w_type, typename w_init_type, w_init_type w_val > 00049 class IType 00050 { 00051 public: 00052 00053 w_type m_value; 00054 00055 inline IType() 00056 : m_value( w_val ) 00057 { 00058 } 00059 00060 inline operator w_type & () 00061 { 00062 return m_value; 00063 } 00064 00065 inline operator const w_type & () const 00066 { 00067 return m_value; 00068 } 00069 00070 inline w_type & operator = ( const w_type & i_value ) 00071 { 00072 m_value = i_value; 00073 00074 return m_value; 00075 } 00076 00077 }; 00078 00079 00080 00081 // ======== TimeStamp ============================================== 00087 class AUSTRIA_EXPORT TimeStamp 00088 { 00089 public: 00090 00096 Int64 m_time; 00097 00098 }; 00099 00100 class AUSTRIA_EXPORT TimeInterval 00101 { 00102 public: 00103 00109 Int64 m_time; 00110 00111 enum { 00112 PerSec = 10000000, 00113 PerMilliSec = 10000, 00114 PerMicroSec = 10 00115 }; 00116 00117 // ======== MilliSecs ============================================= 00124 inline Int64 MilliSecs() const 00125 { 00126 return m_time / PerMilliSec; 00127 } 00128 00129 }; 00130 00131 }; // namespace 00132 00133 #endif // x_at_types_h_x 00134 00135
Generated for Austria by
and
MakeXS at Sun Oct 24 17:35:34 PDT 2004