⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unixtime.hpp

📁 gps源代码
💻 HPP
字号:
#pragma ident "$Id: UnixTime.hpp 316 2006-11-28 22:17:17Z snelsen $"#ifndef GPSTK_UNIXTIME_HPP#define GPSTK_UNIXTIME_HPP//============================================================================////  This file is part of GPSTk, the GPS Toolkit.////  The GPSTk is free software; you can redistribute it and/or modify//  it under the terms of the GNU Lesser General Public License as published//  by the Free Software Foundation; either version 2.1 of the License, or//  any later version.////  The GPSTk is distributed in the hope that it will be useful,//  but WITHOUT ANY WARRANTY; without even the implied warranty of//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the//  GNU Lesser General Public License for more details.////  You should have received a copy of the GNU Lesser General Public//  License along with GPSTk; if not, write to the Free Software Foundation,//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA//  //  Copyright 2004, The University of Texas at Austin////============================================================================#include "TimeTag.hpp"#ifdef _MSC_VER// timeval is defined in winsock.h, which we don't want to include// because it breaks lots of this codestruct timeval {  long    tv_sec;         /* seconds */  long    tv_usec;        /* and microseconds */};#else#include <sys/time.h>     // for struct timeval#endifnamespace gpstk{      /**       * This class encapsulates the "Unix Timeval" time representation.       */   class UnixTime : public TimeTag   {   public:         /**          * @defgroup utbo UnixTime Basic Operations          * Default and Copy Constructors, Assignment Operator and Destructor.          */         //@{         /**          * Default Constructor.          * All elements are initialized to zero.          */      UnixTime( int sec = 0,                 int usec = 0 )         throw()      {         tv.tv_sec = sec;  tv.tv_usec = usec;                       }         /** struct timeval Constructor.          * Sets time according to the given struct timeval.          */      UnixTime( struct timeval t )         throw()      {         tv.tv_sec = t.tv_sec;  tv.tv_usec = t.tv_usec;      }               /**           * Copy Constructor.          * @param right a reference to the UnixTime object to copy          */      UnixTime( const UnixTime& right )         throw()            : tv( right.tv )      {}               /**          * Alternate Copy Constructor.          * Takes a const TimeTag reference and copies its contents via          * conversion to CommonTime.          * @param right a const reference to the BasicTime object to copy          * @throw InvalidRequest on over-/under-flow          */      UnixTime( const TimeTag& right )         throw( gpstk::InvalidRequest )      {          convertFromCommonTime( right.convertToCommonTime() );       }               /**           * Alternate Copy Constructor.          * Takes a const CommonTime reference and copies its contents via          * the convertFromCommonTime method.          * @param right a const reference to the CommonTime object to copy          * @throw InvalidRequest on over-/under-flow          */      UnixTime( const CommonTime& right )         throw( InvalidRequest )      {         convertFromCommonTime( right );      }         /**           * Assignment Operator.          * @param right a const reference to the UnixTime to copy          * @return a reference to this UnixTime          */      UnixTime& operator=( const UnixTime& right )         throw();               /// Virtual Destructor.      virtual ~UnixTime()         throw()      {}         //@}         // The following functions are required by TimeTag.      virtual CommonTime convertToCommonTime() const;      virtual void convertFromCommonTime( const CommonTime& ct ) ;         /// This function formats this time to a string.  The exceptions          /// thrown would only be due to problems parsing the fmt string.      virtual std::string printf( const std::string& fmt ) const         throw( gpstk::StringUtils::StringException );         /**          * Set this object using the information provided in \a info.          * @param info the IdToValue object to which this object shall be set.          * @return true if this object was successfully set using the           *  data in \a info, false if not.          */      virtual bool setFromInfo( const IdToValue& info )         throw();               /// Return a string containing the characters that this class         /// understands when printing times.      virtual std::string getPrintChars() const         throw()      {          return "Uu";      }         /// Return a string containing the default format to use in printing.      virtual std::string getDefaultFormat() const         throw()      {         return "%U %u";      }      virtual bool isValid() const         throw();      virtual void reset()         throw();         /**          * @defgroup utco UnixTime Comparison Operators          * All comparison operators have a parameter "right" which corresponds          *  to the UnixTime object to the right of the symbol.          * All comparison operators are const and return true on success          *  and false on failure.          */         //@{      virtual bool operator==( const UnixTime& right ) const         throw();      virtual bool operator!=( const UnixTime& right ) const         throw();      virtual bool operator<( const UnixTime& right ) const         throw();      virtual bool operator>( const UnixTime& right ) const         throw();      virtual bool operator<=( const UnixTime& right ) const         throw();      virtual bool operator>=( const UnixTime& right ) const         throw();         //@}      struct timeval tv;   };} // namespace#endif // GPSTK_UNIXTIME_HPP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -