diff --git a/libuavcan/include/uavcan/dynamic_memory.hpp b/libuavcan/include/uavcan/dynamic_memory.hpp index 7ead5bf584..9ef7322a38 100644 --- a/libuavcan/include/uavcan/dynamic_memory.hpp +++ b/libuavcan/include/uavcan/dynamic_memory.hpp @@ -74,10 +74,10 @@ public: PoolAllocator(); - virtual void* allocate(std::size_t size); - virtual void deallocate(const void* ptr); + virtual void* allocate(std::size_t size) override; + virtual void deallocate(const void* ptr) override; - virtual uint16_t getBlockCapacity() const { return NumBlocks; } + virtual uint16_t getBlockCapacity() const override { return NumBlocks; } /** * Return the number of blocks that are currently allocated/unallocated. @@ -124,10 +124,10 @@ public: UAVCAN_ASSERT(max_blocks_ > 0); } - virtual void* allocate(std::size_t size); - virtual void deallocate(const void* ptr); + virtual void* allocate(std::size_t size) override; + virtual void deallocate(const void* ptr) override; - virtual uint16_t getBlockCapacity() const; + virtual uint16_t getBlockCapacity() const override; }; // ---------------------------------------------------------------------------- diff --git a/libuavcan/include/uavcan/helpers/heap_based_pool_allocator.hpp b/libuavcan/include/uavcan/helpers/heap_based_pool_allocator.hpp index 7a0851cd56..42d4a35950 100644 --- a/libuavcan/include/uavcan/helpers/heap_based_pool_allocator.hpp +++ b/libuavcan/include/uavcan/helpers/heap_based_pool_allocator.hpp @@ -97,7 +97,7 @@ public: * Takes a block from the reserve, unless it's empty. * In the latter case, allocates a new block in the heap. */ - virtual void* allocate(std::size_t size) + virtual void* allocate(std::size_t size) override { if (size > BlockSize) { @@ -140,7 +140,7 @@ public: * Puts the block back to reserve. * The block will not be free()d automatically; see @ref shrink(). */ - virtual void deallocate(const void* ptr) + virtual void deallocate(const void* ptr) override { if (ptr != UAVCAN_NULLPTR) { @@ -158,7 +158,7 @@ public: /** * The soft limit. */ - virtual uint16_t getBlockCapacity() const { return capacity_soft_limit_; } + virtual uint16_t getBlockCapacity() const override { return capacity_soft_limit_; } /** * The hard limit. diff --git a/libuavcan/include/uavcan/node/generic_subscriber.hpp b/libuavcan/include/uavcan/node/generic_subscriber.hpp index 8d58027cb0..ef0cb877bf 100644 --- a/libuavcan/include/uavcan/node/generic_subscriber.hpp +++ b/libuavcan/include/uavcan/node/generic_subscriber.hpp @@ -134,7 +134,7 @@ class UAVCAN_EXPORT GenericSubscriber : public GenericSubscriberBase { SelfType& obj_; - void handleIncomingTransfer(IncomingTransfer& transfer) + void handleIncomingTransfer(IncomingTransfer& transfer) override { obj_.handleIncomingTransfer(transfer); } diff --git a/libuavcan/include/uavcan/node/node.hpp b/libuavcan/include/uavcan/node/node.hpp index 3f34d27593..b19b246824 100644 --- a/libuavcan/include/uavcan/node/node.hpp +++ b/libuavcan/include/uavcan/node/node.hpp @@ -64,7 +64,7 @@ class UAVCAN_EXPORT Node : public INode } protected: - virtual void registerInternalFailure(const char* msg) + virtual void registerInternalFailure(const char* msg) override { internal_failure_cnt_++; UAVCAN_TRACE("Node", "Internal failure: %s", msg); @@ -112,10 +112,10 @@ public: commonInit(); } - virtual typename RemoveReference::Type& getAllocator() { return pool_allocator_; } + virtual typename RemoveReference::Type& getAllocator() override { return pool_allocator_; } - virtual Scheduler& getScheduler() { return scheduler_; } - virtual const Scheduler& getScheduler() const { return scheduler_; } + virtual Scheduler& getScheduler() override { return scheduler_; } + virtual const Scheduler& getScheduler() const override { return scheduler_; } int spin(MonotonicTime deadline) { diff --git a/libuavcan/include/uavcan/node/service_client.hpp b/libuavcan/include/uavcan/node/service_client.hpp index a8cd7b45ca..d5e3c47d49 100644 --- a/libuavcan/include/uavcan/node/service_client.hpp +++ b/libuavcan/include/uavcan/node/service_client.hpp @@ -126,7 +126,7 @@ protected: const ServiceCallID id_; bool timed_out_; - virtual void handleDeadline(MonotonicTime); + virtual void handleDeadline(MonotonicTime) override; public: CallState(INode& node, ServiceClientBase& owner, ServiceCallID call_id) @@ -262,13 +262,13 @@ private: PublisherType publisher_; Callback callback_; - virtual bool shouldAcceptFrame(const RxFrame& frame) const; // Called from the transfer listener + virtual bool shouldAcceptFrame(const RxFrame& frame) const override; // Called from the transfer listener void invokeCallback(ServiceCallResultType& result); - virtual void handleReceivedDataStruct(ReceivedDataStructure& response); + virtual void handleReceivedDataStruct(ReceivedDataStructure& response) override; - virtual void handleDeadline(MonotonicTime); + virtual void handleDeadline(MonotonicTime) override; int addCallState(ServiceCallID call_id); diff --git a/libuavcan/include/uavcan/node/service_server.hpp b/libuavcan/include/uavcan/node/service_server.hpp index 5b40ad8836..574aaabf19 100644 --- a/libuavcan/include/uavcan/node/service_server.hpp +++ b/libuavcan/include/uavcan/node/service_server.hpp @@ -104,7 +104,7 @@ private: Callback callback_; uint32_t response_failure_count_; - virtual void handleReceivedDataStruct(ReceivedDataStructure& request) + virtual void handleReceivedDataStruct(ReceivedDataStructure& request) override { UAVCAN_ASSERT(request.getTransferType() == TransferTypeServiceRequest); diff --git a/libuavcan/include/uavcan/node/subscriber.hpp b/libuavcan/include/uavcan/node/subscriber.hpp index 1ee4c09888..a28a9f037e 100644 --- a/libuavcan/include/uavcan/node/subscriber.hpp +++ b/libuavcan/include/uavcan/node/subscriber.hpp @@ -53,7 +53,7 @@ private: Callback callback_; - virtual void handleReceivedDataStruct(ReceivedDataStructure& msg) + virtual void handleReceivedDataStruct(ReceivedDataStructure& msg) override { if (coerceOrFallback(callback_, true)) { diff --git a/libuavcan/include/uavcan/node/timer.hpp b/libuavcan/include/uavcan/node/timer.hpp index 7e03031d85..3973146ff3 100644 --- a/libuavcan/include/uavcan/node/timer.hpp +++ b/libuavcan/include/uavcan/node/timer.hpp @@ -47,7 +47,7 @@ class UAVCAN_EXPORT TimerBase : private DeadlineHandler { MonotonicDuration period_; - virtual void handleDeadline(MonotonicTime current); + virtual void handleDeadline(MonotonicTime current) override; public: using DeadlineHandler::stop; diff --git a/libuavcan/include/uavcan/protocol/dynamic_node_id_client.hpp b/libuavcan/include/uavcan/protocol/dynamic_node_id_client.hpp index f63b121e7d..31e2c16a3d 100644 --- a/libuavcan/include/uavcan/protocol/dynamic_node_id_client.hpp +++ b/libuavcan/include/uavcan/protocol/dynamic_node_id_client.hpp @@ -58,7 +58,7 @@ class UAVCAN_EXPORT DynamicNodeIDClient : private TimerBase void restartTimer(const Mode mode); - virtual void handleTimerEvent(const TimerEvent&); + virtual void handleTimerEvent(const TimerEvent&) override; void handleAllocation(const ReceivedDataStructure& msg); diff --git a/libuavcan/include/uavcan/protocol/dynamic_node_id_server/centralized/server.hpp b/libuavcan/include/uavcan/protocol/dynamic_node_id_server/centralized/server.hpp index 207afa4bca..fea436bfb7 100644 --- a/libuavcan/include/uavcan/protocol/dynamic_node_id_server/centralized/server.hpp +++ b/libuavcan/include/uavcan/protocol/dynamic_node_id_server/centralized/server.hpp @@ -50,12 +50,12 @@ class Server : public AbstractServer /* * Methods of IAllocationRequestHandler */ - virtual bool canPublishFollowupAllocationResponse() const + virtual bool canPublishFollowupAllocationResponse() const override { return true; // Because there's only one Centralized server in the system } - virtual void handleAllocationRequest(const UniqueID& unique_id, const NodeID preferred_node_id) + virtual void handleAllocationRequest(const UniqueID& unique_id, const NodeID preferred_node_id) override { const NodeID existing_node_id = storage_.getNodeIDForUniqueID(unique_id); if (existing_node_id.isValid()) @@ -90,17 +90,17 @@ class Server : public AbstractServer /* * Methods of INodeDiscoveryHandler */ - virtual bool canDiscoverNewNodes() const + virtual bool canDiscoverNewNodes() const override { return true; // Because there's only one Centralized server in the system } - virtual NodeAwareness checkNodeAwareness(NodeID node_id) const + virtual NodeAwareness checkNodeAwareness(NodeID node_id) const override { return storage_.isNodeIDOccupied(node_id) ? NodeAwarenessKnownAndCommitted : NodeAwarenessUnknown; } - virtual void handleNewNodeDiscovery(const UniqueID* unique_id_or_null, NodeID node_id) + virtual void handleNewNodeDiscovery(const UniqueID* unique_id_or_null, NodeID node_id) override { if (storage_.isNodeIDOccupied(node_id)) { diff --git a/libuavcan/include/uavcan/protocol/dynamic_node_id_server/node_discoverer.hpp b/libuavcan/include/uavcan/protocol/dynamic_node_id_server/node_discoverer.hpp index 2eb96f36fa..958328ba60 100644 --- a/libuavcan/include/uavcan/protocol/dynamic_node_id_server/node_discoverer.hpp +++ b/libuavcan/include/uavcan/protocol/dynamic_node_id_server/node_discoverer.hpp @@ -233,7 +233,7 @@ class NodeDiscoverer : TimerBase } } - void handleTimerEvent(const TimerEvent&) + void handleTimerEvent(const TimerEvent&) override { if (get_node_info_client_.hasPendingCalls()) { diff --git a/libuavcan/include/uavcan/protocol/node_status_provider.hpp b/libuavcan/include/uavcan/protocol/node_status_provider.hpp index 6206e76687..b39319f080 100644 --- a/libuavcan/include/uavcan/protocol/node_status_provider.hpp +++ b/libuavcan/include/uavcan/protocol/node_status_provider.hpp @@ -69,7 +69,7 @@ class UAVCAN_EXPORT NodeStatusProvider : private TimerBase int publish(); - virtual void handleTimerEvent(const TimerEvent&); + virtual void handleTimerEvent(const TimerEvent&) override; void handleGetNodeInfoRequest(const protocol::GetNodeInfo::Request&, protocol::GetNodeInfo::Response& rsp); public: diff --git a/libuavcan/include/uavcan/transport/transfer_buffer.hpp b/libuavcan/include/uavcan/transport/transfer_buffer.hpp index d4e05fac2f..8d7bb873dc 100644 --- a/libuavcan/include/uavcan/transport/transfer_buffer.hpp +++ b/libuavcan/include/uavcan/transport/transfer_buffer.hpp @@ -32,8 +32,8 @@ public: max_write_pos_(0) { } - virtual int read(unsigned offset, uint8_t* data, unsigned len) const; - virtual int write(unsigned offset, const uint8_t* data, unsigned len); + virtual int read(unsigned offset, uint8_t* data, unsigned len) const override; + virtual int write(unsigned offset, const uint8_t* data, unsigned len) override; void reset(); @@ -138,8 +138,8 @@ public: static TransferBufferManagerEntry* instantiate(IPoolAllocator& allocator, uint16_t max_size); static void destroy(TransferBufferManagerEntry*& obj, IPoolAllocator& allocator); - virtual int read(unsigned offset, uint8_t* data, unsigned len) const; - virtual int write(unsigned offset, const uint8_t* data, unsigned len); + virtual int read(unsigned offset, uint8_t* data, unsigned len) const override; + virtual int write(unsigned offset, const uint8_t* data, unsigned len) override; void reset(const TransferBufferManagerKey& key = TransferBufferManagerKey()); diff --git a/libuavcan/include/uavcan/transport/transfer_listener.hpp b/libuavcan/include/uavcan/transport/transfer_listener.hpp index d384e6ea7d..4ccf36a72f 100644 --- a/libuavcan/include/uavcan/transport/transfer_listener.hpp +++ b/libuavcan/include/uavcan/transport/transfer_listener.hpp @@ -32,7 +32,7 @@ class UAVCAN_EXPORT IncomingTransfer : public ITransferBuffer uint8_t iface_index_; /// That's a no-op, asserts in debug builds - virtual int write(unsigned offset, const uint8_t* data, unsigned len); + virtual int write(unsigned offset, const uint8_t* data, unsigned len) override; protected: IncomingTransfer(MonotonicTime ts_mono, UtcTime ts_utc, TransferPriority transfer_priority, @@ -76,8 +76,8 @@ class UAVCAN_EXPORT SingleFrameIncomingTransfer : public IncomingTransfer const uint8_t payload_len_; public: explicit SingleFrameIncomingTransfer(const RxFrame& frm); - virtual int read(unsigned offset, uint8_t* data, unsigned len) const; - virtual bool isAnonymousTransfer() const; + virtual int read(unsigned offset, uint8_t* data, unsigned len) const override; + virtual bool isAnonymousTransfer() const override; }; /** @@ -89,8 +89,8 @@ class UAVCAN_EXPORT MultiFrameIncomingTransfer : public IncomingTransfer, Noncop public: MultiFrameIncomingTransfer(MonotonicTime ts_mono, UtcTime ts_utc, const RxFrame& last_frame, TransferBufferAccessor& tba); - virtual int read(unsigned offset, uint8_t* data, unsigned len) const; - virtual void release() { buf_acc_.remove(); } + virtual int read(unsigned offset, uint8_t* data, unsigned len) const override; + virtual void release() override { buf_acc_.remove(); } }; /** @@ -174,7 +174,7 @@ class UAVCAN_EXPORT TransferListenerWithFilter : public TransferListener { const ITransferAcceptanceFilter* filter_; - virtual void handleFrame(const RxFrame& frame); + virtual void handleFrame(const RxFrame& frame) override; public: TransferListenerWithFilter(TransferPerfCounter& perf, const DataTypeDescriptor& data_type,