signature.h File Reference
#include <stdint.h>
#include <dbus-cxx/path.h>
#include <dbus-cxx/signatureiterator.h>
#include <dbus-cxx/dbus-cxx-config.h>
#include <any>
#include <map>
#include <memory>
#include <ostream>
#include <string>
#include <vector>
#include <stack>
#include "enums.h"
Include dependency graph for signature.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DBus::priv::SignatureNode
 Represents a single entry in our graph of the signature. More...
 
class  DBus::Signature
 Represents a DBus signature. More...
 
class  DBus::priv::dbus_signature<>
 
class  DBus::priv::dbus_signature< arg1, argn... >
 

Namespaces

 DBus
 Global DBus namespace, where everything happens.
 
 DBus::priv
 Private namespace for internal dbux-cxx implementation.
 

Macros

#define DBUSCXX_TYPE_INVALID_AS_STRING   "\0"
 
#define DBUSCXX_TYPE_BYTE_AS_STRING   "y"
 
#define DBUSCXX_TYPE_BOOLEAN_AS_STRING   "b"
 
#define DBUSCXX_TYPE_INT16_AS_STRING   "n"
 
#define DBUSCXX_TYPE_UINT16_AS_STRING   "q"
 
#define DBUSCXX_TYPE_INT32_AS_STRING   "i"
 
#define DBUSCXX_TYPE_UINT32_AS_STRING   "u"
 
#define DBUSCXX_TYPE_INT64_AS_STRING   "x"
 
#define DBUSCXX_TYPE_UINT64_AS_STRING   "t"
 
#define DBUSCXX_TYPE_DOUBLE_AS_STRING   "d"
 
#define DBUSCXX_TYPE_STRING_AS_STRING   "s"
 
#define DBUSCXX_TYPE_SIGNATURE_AS_STRING   "g"
 
#define DBUSCXX_TYPE_OBJECT_PATH_AS_STRING   "o"
 
#define DBUSCXX_TYPE_VARIANT_AS_STRING   "v"
 
#define DBUSCXX_TYPE_UNIX_FD_AS_STRING   "h"
 
#define DBUSCXX_TYPE_ARRAY_AS_STRING   "a"
 
#define DBUSCXX_DICT_ENTRY_BEGIN_CHAR_AS_STRING   "{"
 
#define DBUSCXX_DICT_ENTRY_END_CHAR_AS_STRING   "}"
 
#define DBUSCXX_STRUCT_BEGIN_CHAR_AS_STRING   "("
 
#define DBUSCXX_STRUCT_END_CHAR_AS_STRING   ")"
 

Functions

template<typename... T>
std::string DBus::signature (const std::tuple< T... > &)
 
std::string DBus::signature (uint8_t)
 
std::string DBus::signature (bool)
 
std::string DBus::signature (int16_t)
 
std::string DBus::signature (uint16_t)
 
std::string DBus::signature (int32_t)
 
std::string DBus::signature (uint32_t)
 
std::string DBus::signature (int64_t)
 
std::string DBus::signature (uint64_t)
 
std::string DBus::signature (double)
 
std::string DBus::signature (std::string)
 
std::string DBus::signature (Signature)
 
std::string DBus::signature (Path)
 
std::string DBus::signature (const DBus::Variant &)
 
std::string DBus::signature (const std::shared_ptr< FileDescriptor >)
 
template<typename... T>
std::string DBus::signature (const DBus::MultipleReturn< T... > &)
 
template<typename T >
std::string DBus::signature (const std::vector< T > &)
 
template<typename Key , typename Data >
std::string DBus::signature (const std::map< Key, Data > &)
 
template<typename Key , typename Data >
std::string DBus::signature_dict_data (const std::map< Key, Data > &)
 
template<typename... T_arg>
std::string DBus::signature_multiple_return_data (const DBus::MultipleReturn< T_arg... > &)
 
template<typename... T_arg>
std::string DBus::signature (const std::tuple< T_arg... > &)
 
std::ostream & DBus::operator<< (std::ostream &sout, const DBus::Signature &sig)
 

Macro Definition Documentation

◆ DBUSCXX_DICT_ENTRY_BEGIN_CHAR_AS_STRING

#define DBUSCXX_DICT_ENTRY_BEGIN_CHAR_AS_STRING   "{"

◆ DBUSCXX_DICT_ENTRY_END_CHAR_AS_STRING

#define DBUSCXX_DICT_ENTRY_END_CHAR_AS_STRING   "}"

◆ DBUSCXX_STRUCT_BEGIN_CHAR_AS_STRING

#define DBUSCXX_STRUCT_BEGIN_CHAR_AS_STRING   "("

◆ DBUSCXX_STRUCT_END_CHAR_AS_STRING

#define DBUSCXX_STRUCT_END_CHAR_AS_STRING   ")"

◆ DBUSCXX_TYPE_ARRAY_AS_STRING

#define DBUSCXX_TYPE_ARRAY_AS_STRING   "a"

◆ DBUSCXX_TYPE_BOOLEAN_AS_STRING

#define DBUSCXX_TYPE_BOOLEAN_AS_STRING   "b"

◆ DBUSCXX_TYPE_BYTE_AS_STRING

#define DBUSCXX_TYPE_BYTE_AS_STRING   "y"

◆ DBUSCXX_TYPE_DOUBLE_AS_STRING

#define DBUSCXX_TYPE_DOUBLE_AS_STRING   "d"

◆ DBUSCXX_TYPE_INT16_AS_STRING

#define DBUSCXX_TYPE_INT16_AS_STRING   "n"

◆ DBUSCXX_TYPE_INT32_AS_STRING

#define DBUSCXX_TYPE_INT32_AS_STRING   "i"

◆ DBUSCXX_TYPE_INT64_AS_STRING

#define DBUSCXX_TYPE_INT64_AS_STRING   "x"

◆ DBUSCXX_TYPE_INVALID_AS_STRING

#define DBUSCXX_TYPE_INVALID_AS_STRING   "\0"

◆ DBUSCXX_TYPE_OBJECT_PATH_AS_STRING

#define DBUSCXX_TYPE_OBJECT_PATH_AS_STRING   "o"

◆ DBUSCXX_TYPE_SIGNATURE_AS_STRING

#define DBUSCXX_TYPE_SIGNATURE_AS_STRING   "g"

◆ DBUSCXX_TYPE_STRING_AS_STRING

#define DBUSCXX_TYPE_STRING_AS_STRING   "s"

◆ DBUSCXX_TYPE_UINT16_AS_STRING

#define DBUSCXX_TYPE_UINT16_AS_STRING   "q"

◆ DBUSCXX_TYPE_UINT32_AS_STRING

#define DBUSCXX_TYPE_UINT32_AS_STRING   "u"

◆ DBUSCXX_TYPE_UINT64_AS_STRING

#define DBUSCXX_TYPE_UINT64_AS_STRING   "t"

◆ DBUSCXX_TYPE_UNIX_FD_AS_STRING

#define DBUSCXX_TYPE_UNIX_FD_AS_STRING   "h"

◆ DBUSCXX_TYPE_VARIANT_AS_STRING

#define DBUSCXX_TYPE_VARIANT_AS_STRING   "v"