Apollo 10.0
自动驾驶开放平台
apollo::cyber::base::Connection< Args > 模板类 参考

#include <signal.h>

apollo::cyber::base::Connection< Args > 的协作图:

Public 类型

using SlotPtr = std::shared_ptr< Slot< Args... > >
 
using SignalPtr = Signal< Args... > *
 

Public 成员函数

 Connection ()
 
 Connection (const SlotPtr &slot, const SignalPtr &signal)
 
virtual ~Connection ()
 
Connectionoperator= (const Connection &another)
 
bool HasSlot (const SlotPtr &slot) const
 
bool IsConnected () const
 
bool Disconnect ()
 

详细描述

template<typename... Args>
class apollo::cyber::base::Connection< Args >

在文件 signal.h118 行定义.

成员类型定义说明

◆ SignalPtr

template<typename... Args>
using apollo::cyber::base::Connection< Args >::SignalPtr = Signal<Args...>*

在文件 signal.h121 行定义.

◆ SlotPtr

template<typename... Args>
using apollo::cyber::base::Connection< Args >::SlotPtr = std::shared_ptr<Slot<Args...> >

在文件 signal.h120 行定义.

构造及析构函数说明

◆ Connection() [1/2]

template<typename... Args>
apollo::cyber::base::Connection< Args >::Connection ( )
inline

在文件 signal.h123 行定义.

123: slot_(nullptr), signal_(nullptr) {}

◆ Connection() [2/2]

template<typename... Args>
apollo::cyber::base::Connection< Args >::Connection ( const SlotPtr slot,
const SignalPtr signal 
)
inline

在文件 signal.h124 行定义.

125 : slot_(slot), signal_(signal) {}

◆ ~Connection()

template<typename... Args>
virtual apollo::cyber::base::Connection< Args >::~Connection ( )
inlinevirtual

在文件 signal.h126 行定义.

126 {
127 slot_ = nullptr;
128 signal_ = nullptr;
129 }

成员函数说明

◆ Disconnect()

template<typename... Args>
bool apollo::cyber::base::Connection< Args >::Disconnect ( )
inline

在文件 signal.h153 行定义.

153 {
154 if (signal_ && slot_) {
155 return signal_->Disconnect(*this);
156 }
157 return false;
158 }
bool Disconnect(const ConnectionType &conn)
Definition signal.h:75

◆ HasSlot()

template<typename... Args>
bool apollo::cyber::base::Connection< Args >::HasSlot ( const SlotPtr slot) const
inline

在文件 signal.h139 行定义.

139 {
140 if (slot != nullptr && slot_ != nullptr) {
141 return slot_.get() == slot.get();
142 }
143 return false;
144 }

◆ IsConnected()

template<typename... Args>
bool apollo::cyber::base::Connection< Args >::IsConnected ( ) const
inline

在文件 signal.h146 行定义.

146 {
147 if (slot_) {
148 return slot_->connected();
149 }
150 return false;
151 }

◆ operator=()

template<typename... Args>
Connection & apollo::cyber::base::Connection< Args >::operator= ( const Connection< Args > &  another)
inline

在文件 signal.h131 行定义.

131 {
132 if (this != &another) {
133 this->slot_ = another.slot_;
134 this->signal_ = another.signal_;
135 }
136 return *this;
137 }

该类的文档由以下文件生成: