![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: logicalTimeImplFloat.cxx,v $ $Revision: 1.4 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifdef DtIFSPEC1516E 00010 00011 #include "rtiMsConfig.h" 00012 #include <RTI/time/HLAinteger64Interval.h> 00013 00014 #if VMS 00015 #include <limits> 00016 #define MAXINT64 numeric_limits<Integer64>::max() 00017 #else 00018 #define MAXINT64 9223372036854775807LL 00019 #endif 00020 00021 #define INT64_POSITIVE_INFINITY (MAXINT64) 00022 #define INT64_EPSILON (1) 00023 00024 namespace rti1516e 00025 { 00026 class DT_DLL_LRC HLAinteger64IntervalImpl 00027 { 00028 public: 00029 00031 HLAinteger64IntervalImpl(); 00032 HLAinteger64IntervalImpl(Integer64 const & value); 00033 HLAinteger64IntervalImpl(HLAinteger64IntervalImpl const & value); 00034 00036 virtual ~HLAinteger64IntervalImpl (); 00037 00039 virtual void setZero (); 00040 virtual bool isZero () const; 00041 virtual void setEpsilon (); 00042 virtual bool isEpsilon () const; 00043 00045 virtual rti1516e::HLAinteger64IntervalImpl& operator= (Integer64 value); 00046 virtual rti1516e::HLAinteger64IntervalImpl& operator= (const rti1516e::HLAinteger64IntervalImpl& value); 00047 00049 virtual rti1516e::HLAinteger64IntervalImpl& operator+= (Integer64 addend) 00050 throw (rti1516e::IllegalTimeArithmetic); 00051 00052 virtual rti1516e::HLAinteger64IntervalImpl& operator-= (Integer64 subtrahend) 00053 throw (rti1516e::IllegalTimeArithmetic); 00054 00055 virtual void setToDifference (Integer64 minuend, Integer64 subtrahend) 00056 throw (rti1516e::IllegalTimeArithmetic); 00057 00059 virtual Integer64 getInterval () const; 00060 virtual void setInterval (Integer64 value); 00061 00062 protected: 00063 00064 Integer64 myInterval; 00065 static const Integer64 theZero; 00066 static const Integer64 theEpsilon; 00067 static const Integer64 thePositiveInfinity; 00068 }; 00069 } 00070 00071 #endif // DtIFSPEC1516E