YARP
Yet Another Robot Platform
MessageStack.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5
6#ifndef YARP_OS_MESSAGESTACK_H
7#define YARP_OS_MESSAGESTACK_H
8
9#include <yarp/os/Portable.h>
10
11#include <string>
12
13namespace yarp::os {
14
19{
20public:
27 explicit MessageStack(size_t max_threads = 0);
28
29 MessageStack(const MessageStack&) = delete;
30 MessageStack(MessageStack&&) noexcept = delete;
31 MessageStack& operator=(const MessageStack&) = delete;
32 MessageStack& operator=(MessageStack&&) = delete;
33
37 virtual ~MessageStack();
38
42 void attach(PortReader& owner);
43
51 void stack(PortWriter& msg, const std::string& tag = "");
52
53#ifndef DOXYGEN_SHOULD_SKIP_THIS
54private:
55 class Private;
56 Private* mPriv;
57#endif // DOXYGEN_SHOULD_SKIP_THIS
58};
59
60} // namespace yarp::os
61
62#endif // YARP_OS_MESSAGESTACK_H
Maintain a stack of messages to send asynchronously.
Definition: MessageStack.h:19
MessageStack(MessageStack &&) noexcept=delete
MessageStack(const MessageStack &)=delete
Interface implemented by all objects that can read themselves from the network, such as Bottle object...
Definition: PortReader.h:24
Interface implemented by all objects that can write themselves to the network, such as Bottle objects...
Definition: PortWriter.h:23
STL namespace.
An interface to the operating system, including Port based communication.
#define YARP_os_API
Definition: api.h:18