Possible name clashing fix in uavcan::ReceivedDataStructure<>

This commit is contained in:
Pavel Kirienko 2014-08-11 13:32:52 +04:00
parent da62126ca2
commit e2e358bb06

View File

@ -32,26 +32,26 @@ namespace uavcan
template <typename DataType_>
class UAVCAN_EXPORT ReceivedDataStructure : public DataType_
{
const IncomingTransfer* transfer_;
const IncomingTransfer* _transfer_; ///< Such weird name is necessary to avoid clashing with DataType fields
template <typename Ret, Ret(IncomingTransfer::*Fun) () const>
Ret safeget() const
{
if (!transfer_)
if (_transfer_ == NULL)
{
UAVCAN_ASSERT(0);
return Ret();
}
return (transfer_->*Fun)();
return (_transfer_->*Fun)();
}
protected:
ReceivedDataStructure() : transfer_(NULL) { }
ReceivedDataStructure() : _transfer_(NULL) { }
void setTransfer(const IncomingTransfer* transfer)
void setTransfer(const IncomingTransfer* arg_transfer)
{
UAVCAN_ASSERT(transfer);
transfer_ = transfer;
UAVCAN_ASSERT(arg_transfer != NULL);
_transfer_ = arg_transfer;
}
public: