8 #ifndef DBUSCXX_VARIANTAPPENDITERATOR_H
9 #define DBUSCXX_VARIANTAPPENDITERATOR_H
64 template <
typename Key,
typename Data>
67 typename std::map<Key, Data>::const_iterator it;
70 for( it = dictionary.begin(); it != dictionary.end(); it++ ) {
82 template <
typename... T>
88 std::apply( [subiter](
auto&& ...arg )
mutable {
89 ( *subiter << ... << arg );
Represents a DBus Path.
Definition: path.h:21
Represents a DBus signature.
Definition: signature.h:74
A Variant is a type-safe union for DBus operations.
Definition: variant.h:42
Used to append a single, complete value to a Variant.
Definition: variantappenditerator.h:28
bool open_container(ContainerType t, const std::string &contained_signature)
Definition: variantappenditerator.cpp:171
VariantAppendIterator(Variant *variant, ContainerType t)
Definition: variantappenditerator.cpp:40
bool close_container()
Definition: variantappenditerator.cpp:190
~VariantAppendIterator()
Definition: variantappenditerator.cpp:46
std::shared_ptr< priv_data > m_priv
Definition: variantappenditerator.h:105
VariantAppendIterator & operator<<(const std::map< Key, Data > &dictionary)
Definition: variantappenditerator.h:65
VariantAppendIterator & operator<<(const std::tuple< T... > &tup)
Definition: variantappenditerator.h:83
VariantAppendIterator & operator<<(const std::vector< T > &v)
Definition: variantappenditerator.h:51
VariantAppendIterator & operator<<(const bool &v)
Definition: variantappenditerator.cpp:50
VariantAppendIterator * sub_iterator()
Definition: variantappenditerator.cpp:226
Global DBus namespace, where everything happens.
Definition: callmessage.cpp:18
ContainerType
Definition: enums.h:73
std::string signature_dict_data(const std::map< Key, Data > &)
Definition: signature.h:183
std::string signature(const std::tuple< T... > &)