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

📄 datastatus.hpp

📁 gps源代码
💻 HPP
字号:
#pragma ident "$Id: DataStatus.hpp 647 2007-06-25 03:34:09Z ocibu $"/** * @file DataStatus.hpp * gpstk::DataStatus - This class is intended to provide an interface    similiar to the iostream status bits (good, eof, bad, & fail) for   the data.  This is to support 'soft' errors such as a format or crc error.  *///lgpl-license START//lgpl-license END#ifndef DATASTATUS_HPP#define DATASTATUS_HPP#include <iostream>namespace gpstk{   class DataStatus   {      std::ios_base::iostate state;   public:      DataStatus() : state(std::ios_base::goodbit) {};      /// Note that the goodbit isn't really a bit, it is just the lack      /// of any bits being set.      bool good() const       {return rdstate() == std::ios_base::goodbit;}      std::ios_base::iostate rdstate() const      {return state;}      void clear(std::ios_base::iostate s = std::ios_base::goodbit)      {state=s;}      void setstate(std::ios_base::iostate s)      {clear(rdstate() | s);}      void clearstate(std::ios_base::iostate s)      {state &= ~s;}      bool operator()() const      {return good();}      operator void*() const       {return good() ? const_cast<DataStatus*>(this) : 0;}   };   /// Define additional/other bits are the data requires   static const std::ios_base::iostate crcbit = std::ios_base::iostate(0x01);   static const std::ios_base::iostate fmtbit = std::ios_base::iostate(0x02);   static const std::ios_base::iostate lenbit = std::ios_base::iostate(0x04);   static const std::ios_base::iostate parbit = std::ios_base::iostate(0x08);   class CRCDataStatus : public DataStatus   {   public:      bool crcerr() const {return (rdstate() & crcbit) != 0;}      bool fmterr() const {return (rdstate() & fmtbit) != 0;}      bool lenerr() const {return (rdstate() & lenbit) != 0;}      bool parerr() const {return (rdstate() & parbit) != 0;}   };} // namespace gpstk#endif // DATASTATUS_HPP

⌨️ 快捷键说明

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