YARP
Yet Another Robot Platform
MessageStack.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2020 Istituto Italiano di Tecnologia (IIT)
3  * All rights reserved.
4  *
5  * This software may be modified and distributed under the terms of the
6  * BSD-3-Clause license. See the accompanying LICENSE file for details.
7  */
8 
9 #ifndef YARP_OS_MESSAGESTACK_H
10 #define YARP_OS_MESSAGESTACK_H
11 
12 #include <yarp/os/Portable.h>
13 
14 #include <string>
15 
16 namespace yarp {
17 namespace os {
18 
23 {
24 public:
31  explicit MessageStack(size_t max_threads = 0);
32 
33  MessageStack(const MessageStack&) = delete;
34  MessageStack(MessageStack&&) noexcept = delete;
35  MessageStack& operator=(const MessageStack&) = delete;
36  MessageStack& operator=(MessageStack&&) = delete;
37 
41  virtual ~MessageStack();
42 
46  void attach(PortReader& owner);
47 
55  void stack(PortWriter& msg, const std::string& tag = "");
56 
57 #ifndef DOXYGEN_SHOULD_SKIP_THIS
58 private:
59  class Private;
60  Private* mPriv;
61 #endif // DOXYGEN_SHOULD_SKIP_THIS
62 };
63 
64 } // namespace os
65 } // namespace yarp
66 
67 #endif // YARP_OS_MESSAGESTACK_H
yarp::os::MessageStack::Private
Definition: MessageStack.cpp:142
Portable.h
YARP_os_API
#define YARP_os_API
Definition: api.h:19
yarp::os::PortWriter
Interface implemented by all objects that can write themselves to the network, such as Bottle objects...
Definition: PortWriter.h:27
yarp::os::PortReader
Interface implemented by all objects that can read themselves from the network, such as Bottle object...
Definition: PortReader.h:28
yarp::os::MessageStack::MessageStack
MessageStack(const MessageStack &)=delete
yarp
The main, catch-all namespace for YARP.
Definition: environment.h:18
yarp::os::MessageStack::MessageStack
MessageStack(MessageStack &&) noexcept=delete
yarp::os::MessageStack
Maintain a stack of messages to send asynchronously.
Definition: MessageStack.h:23