12#include <dbus-cxx/dbus-cxx-config.h>
23#ifndef DBUSCXX_MESSAGEAPPENDITERATOR_H
24#define DBUSCXX_MESSAGEAPPENDITERATOR_H
62 operator bool()
const;
80 template<
typename ... T>
83 std::apply( [
this](
auto&& ...arg )
mutable {
84 ( *
this << ... << arg );
102 for(
size_t i = 0; i < v.size(); i++ ) {
115 template <
typename Key,
typename Data>
118 typename std::map<Key, Data>::const_iterator it;
121 for( it = dictionary.begin(); it != dictionary.end(); it++ ) {
133 template <
typename... T>
139 std::apply( [subiter](
auto&& ...arg )
mutable {
140 ( *subiter << ... << arg );
Insertion iterator allow values to be appended to a message.
Definition: messageappenditerator.h:38
MessageAppendIterator & operator<<(const MultipleReturn< T... > &v)
Definition: messageappenditerator.h:81
MessageAppendIterator & operator<<(const std::tuple< T... > &tup)
Definition: messageappenditerator.h:134
MessageAppendIterator(ContainerType container=ContainerType::None)
Definition: messageappenditerator.cpp:44
void invalidate()
Invalidates the iterator.
Definition: messageappenditerator.cpp:78
const Message * message() const
Returns a pointer to the message associated with this iterator or NULL if no message is associated.
std::shared_ptr< priv_data > m_priv
Definition: messageappenditerator.h:158
~MessageAppendIterator()
Definition: messageappenditerator.cpp:74
MessageAppendIterator & operator<<(const bool &v)
Definition: messageappenditerator.cpp:94
MessageAppendIterator & operator<<(const std::map< Key, Data > &dictionary)
Definition: messageappenditerator.h:116
MessageAppendIterator & operator<<(const std::vector< T > &v)
Definition: messageappenditerator.h:92
bool is_valid() const
True if this is a valid iterator.
Definition: messageappenditerator.cpp:83
bool close_container()
Definition: messageappenditerator.cpp:394
MessageAppendIterator * sub_iterator()
Definition: messageappenditerator.cpp:431
bool open_container(ContainerType t, const std::string &contained_signature)
Definition: messageappenditerator.cpp:344
This class represents a basic DBus message and also serves as a base class for the specialized messag...
Definition: message.h:45
Definition: multiplereturn.h:29
std::tuple< Ts... > m_data
Definition: multiplereturn.h:31
Represents a DBus Path.
Definition: path.h:21
Represents a DBus signature.
Definition: signature.h:78
A Variant is a type-safe union for DBus operations.
Definition: variant.h:42
Definition: signature.h:210
Global DBus namespace, where everything happens.
Definition: callmessage.cpp:18
ContainerType
Definition: enums.h:73
std::string signature_multiple_return_data(const DBus::MultipleReturn< T_arg... > &)
Definition: signature.h:240
std::string signature_dict_data(const std::map< Key, Data > &)
Definition: signature.h:193
DataType type(const uint8_t &)
Definition: types.h:139
std::string signature(const std::tuple< T... > &)