From 266e95127b72fb5fd312ced9f0c6a9286d3538a4 Mon Sep 17 00:00:00 2001 From: Pavel Kirienko Date: Thu, 10 Apr 2014 11:50:14 +0400 Subject: [PATCH] Removed sstream in OTR --- .../include/uavcan/marshal/scalar_codec.hpp | 1 - .../transport/outgoing_transfer_registry.hpp | 15 ++++--------- .../uc_outgoing_transfer_registry.cpp | 22 +++++++++++++++++++ 3 files changed, 26 insertions(+), 12 deletions(-) create mode 100644 libuavcan/src/transport/uc_outgoing_transfer_registry.cpp diff --git a/libuavcan/include/uavcan/marshal/scalar_codec.hpp b/libuavcan/include/uavcan/marshal/scalar_codec.hpp index 990cf5fa0d..8df53da8b3 100644 --- a/libuavcan/include/uavcan/marshal/scalar_codec.hpp +++ b/libuavcan/include/uavcan/marshal/scalar_codec.hpp @@ -6,7 +6,6 @@ #include #include -#include #include #include #include diff --git a/libuavcan/include/uavcan/transport/outgoing_transfer_registry.hpp b/libuavcan/include/uavcan/transport/outgoing_transfer_registry.hpp index 1bee6db283..cd4360ce47 100644 --- a/libuavcan/include/uavcan/transport/outgoing_transfer_registry.hpp +++ b/libuavcan/include/uavcan/transport/outgoing_transfer_registry.hpp @@ -5,7 +5,7 @@ #pragma once #include -#include +#include #include #include #include @@ -34,8 +34,8 @@ public: , destination_node_id_(destination_node_id) { assert((transfer_type == TransferTypeMessageBroadcast) == destination_node_id.isBroadcast()); - - /* Service response transfers must use the same Transfer ID as matching service request transfer, + /* + * Service response transfers must use the same Transfer ID as matching service request transfer, * so this registry is not applicable for service response transfers at all. */ assert(transfer_type != TransferTypeServiceResponse); @@ -52,14 +52,7 @@ public: (destination_node_id_ == rhs.destination_node_id_); } - std::string toString() const - { - std::ostringstream os; - os << "dtid=" << int(data_type_id_.get()) - << " tt=" << int(transfer_type_) - << " dnid=" << int(destination_node_id_.get()); - return os.str(); - } + std::string toString() const; }; UAVCAN_PACKED_END diff --git a/libuavcan/src/transport/uc_outgoing_transfer_registry.cpp b/libuavcan/src/transport/uc_outgoing_transfer_registry.cpp new file mode 100644 index 0000000000..5940579c51 --- /dev/null +++ b/libuavcan/src/transport/uc_outgoing_transfer_registry.cpp @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2014 Pavel Kirienko + */ + +#include +#include + +namespace uavcan +{ +/* + * OutgoingTransferRegistryKey + */ +std::string OutgoingTransferRegistryKey::toString() const +{ + using namespace std; + char buf[40]; + (void)snprintf(buf, sizeof(buf), "dtid=%u tt=%u dnid=%u", + int(data_type_id_.get()), int(transfer_type_), int(destination_node_id_.get())); + return std::string(buf); +} + +}