timestamp_pos.hpp
Go to the documentation of this file.
00001 
00008 /*****************************************************************************
00009 ** Ifdefs
00010 *****************************************************************************/
00011 
00012 #ifndef ECL_TIME_STAMP_POS_HPP_
00013 #define ECL_TIME_STAMP_POS_HPP_
00014 
00015 /*****************************************************************************
00016 ** Platform Check
00017 *****************************************************************************/
00018 
00019 #include <ecl/config.hpp>
00020 #if defined(ECL_IS_POSIX)
00021 #define ECL_HAS_TIMESTAMP
00022 
00023 /*****************************************************************************
00024 ** Includes
00025 *****************************************************************************/
00026 
00027 #include <time.h>
00028 #include <ecl/config/macros.hpp>
00029 #include <ecl/config/portable_types.hpp>
00030 #include <ecl/exceptions/macros.hpp>
00031 #include <ecl/exceptions/standard_exception.hpp>
00032 #include "timestamp_base.hpp"
00033 
00034 /*****************************************************************************
00035 ** Namespaces
00036 *****************************************************************************/
00037 
00038 namespace ecl {
00039 
00040 /*****************************************************************************
00041 ** Interface [Time]
00042 *****************************************************************************/
00043 
00090 class ecl_time_PUBLIC TimeStamp : public TimeStampBase {
00091 public:
00092         /*********************
00093         ** Constructors
00094         **********************/
00104         TimeStamp() ecl_debug_throw_decl(StandardException);
00115         TimeStamp (const double& decimal_time_value) ecl_assert_throw_decl(StandardException);
00126         TimeStamp (const time_t &seconds, const long &nanoseconds) ecl_assert_throw_decl(StandardException);
00136         TimeStamp (const TimeStampBase& base);
00137 
00138         virtual ~TimeStamp() {}
00139 
00140         /******************************************
00141         ** Stamps
00142         *******************************************/
00143         using TimeStampBase::stamp;
00150         const TimeStamp& stamp() ecl_debug_throw_decl(StandardException);
00151 #if defined(ECL_HAS_RT_TIMERS)
00152 
00159         static TimeStamp realtime_now() ecl_debug_throw_decl(StandardException);
00160 #endif
00161 };
00162 
00163 
00164 
00165 }; // namespace ecl
00166 
00167 #ifdef ECL_HAS_EXCEPTIONS
00168 namespace ecl {
00169 namespace time {
00170 
00177 ecl::StandardException throwTimeStampException(const char*loc);
00178 
00179 } // namespace time
00180 }; // namespace ecl
00181 
00182 #endif /* ECL_HAS_EXCEPTIONS */
00183 
00184 
00185 #endif /* ECL_IS_POSIX */
00186 #endif /* ECL_TIME_STAMP_POS_HPP_ */


ecl_time
Author(s): Daniel Stonier
autogenerated on Thu Jun 6 2019 21:17:29