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

📄 wireless_comm_signal.hpp

📁 RFID reader 语 tag 模拟器
💻 HPP
字号:
 #ifndef WIRELESS_COMM_SIGNAL_H #define WIRELESS_COMM_SIGNAL_H #include <boost/shared_ptr.hpp> #include "signal.hpp" #include "packet.hpp" class SimTime; class WirelessCommSignal : public Signal {    friend ostream& operator<< (ostream& s, const WirelessCommSignal& rhs); public:    typedef boost::shared_ptr<WirelessCommSignal> WirelessCommSignalPtr;    static inline WirelessCommSignalPtr create(       const Location& location, double dbStrength,       double wavelength, double transmitterGain,       PacketPtr packet);    static inline WirelessCommSignalPtr create(       const WirelessCommSignal& rhs);    inline PacketPtr getPacketPtr() const;    inline double getWavelength() const;    inline double getTransmitterGain() const;    SimTime getDuration() const;    inline void setChannelId(t_uint channelId);    inline t_uint getChannelId() const; protected:    WirelessCommSignal(const Location& location, double dbStrength,       double wavelength, double transmitterGain,       PacketPtr packet);    WirelessCommSignal(const WirelessCommSignal& rhs);    virtual SignalPtr clone() const; private:    static const t_uint m_DEFAULT_CHANNEL_ID = 0;    PacketPtr m_packetPtr;    double m_wavelength;    double m_transmitterGain;    t_uint m_channelId;    WirelessCommSignal& operator= (const WirelessCommSignal& rhs); }; typedef boost::shared_ptr<WirelessCommSignal> WirelessCommSignalPtr; typedef boost::shared_ptr<WirelessCommSignal const>    ConstWirelessCommSignalPtr; // Inline Functions inline WirelessCommSignalPtr WirelessCommSignal::create(    const Location& location, double dbStrength,    double wavelength, double transmitterGain,    PacketPtr packet) {    WirelessCommSignalPtr p(new WirelessCommSignal(location,       dbStrength, wavelength, transmitterGain, packet));    return p; } inline WirelessCommSignalPtr WirelessCommSignal::create(    const WirelessCommSignal& rhs) {    WirelessCommSignalPtr p =       boost::dynamic_pointer_cast<WirelessCommSignal>(rhs.clone());    // If the shared_ptr is empty, then the cast failed.    assert(p.get() != 0);    return p; } inline PacketPtr WirelessCommSignal::getPacketPtr() const {    return m_packetPtr; } inline double WirelessCommSignal::getWavelength() const {    return m_wavelength; } inline double WirelessCommSignal::getTransmitterGain() const {    return m_transmitterGain; } inline void WirelessCommSignal::setChannelId(t_uint channelId) {    m_channelId = channelId; } inline t_uint WirelessCommSignal::getChannelId() const {    return m_channelId; } // Overloaded Operators inline ostream& operator<< (ostream& s, const WirelessCommSignal& rhs) {    return s << "Wireless signal state (" <<       static_cast<Signal>(rhs) << "), packet=(" <<       *(rhs.m_packetPtr) << ")"; } // The assignment operator is now disabled via a private modifier. /* inline WirelessCommSignal& WirelessCommSignal::operator=    (const WirelessCommSignal& rhs) {    if(this == &rhs)       return *this;    Signal::operator=(rhs);    m_packetPtr = Packet::create(*rhs.m_packetPtr);    return *this; } */ #endif // WIRELESS_COMM_SIGNAL_H

⌨️ 快捷键说明

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