# SoftBank Robotics documentation What's new in NAOqi 2.8?

# qi::Signature

## Summary

Global Classes

- class qi::Signature

  Functions (class qi::Signature)

  qi::Signature::annotation

  qi::Signature::type

  qi::Signature::isConvertibleTo

  qi::Signature::hasChildren

  qi::Signature::Signature

  qi::Signature::toString

  qi::Signature::children

  qi::Signature::toData

  qi::Signature::toPrettySignature

  qi::Signature::isValid

  qi::Signature::fromType

Global Functions

makeTupleSignature

## Reference

### qi::Signature Class Reference

#### Introduction

`More...`

#### Enumerations

enum `Type`

  Name | Value | Brief
  --- | --- | ---
  `Type_None` | _ |
  `Type_Bool` | b |
  `Type_Int8` | c |
  `Type_UInt8` | C |
  `Type_Void` | v |
  `Type_Int16` | w |
  `Type_UInt16` | W |
  `Type_Int32` | i |
  `Type_UInt32` | I |
  `Type_Int64` | l |
  `Type_UInt64` | L |
  `Type_Float` | f |
  `Type_Double` | d |
  `Type_String` | s |
  `Type_List` | [ |
  `Type_List_End` | ] |
  `Type_Map` | { |
  `Type_Map_End` | } |
  `Type_Tuple` | ( |
  `Type_Tuple_End` | ) |
  `Type_Dynamic` | m |
  `Type_Raw` | r |
  `Type_Pointer` | * |
  `Type_Object` | o |
  `Type_VarArgs` | # |
  `Type_KwArgs` | ~ |
  `Type_Optional` | + |
  `Type_Unknown` | X |

#### Public Functions

``Signature``()
``Signature``(const char* signature)
``Signature``(const std::string& signature)
bool ``isValid``() const
bool ``hasChildren``() const
const SignatureVector& ``children``() const
Type ``type``() const
std::string ``annotation``() const
AnyValue ``toData``() const
std::string ``toPrettySignature``() const
const std::string& ``toString``() const
float ``isConvertibleTo``(const Signature& b) const

#### Public Static Functions

Signature ``fromType``(Type t)

#### Detailed Description

#### Function Documentation

static Signature `qi::Signature::``fromType`(Type t)

`qi::Signature::``Signature`()

`qi::Signature::``Signature`(const char* signature)

`qi::Signature::``Signature`(const std::string& signature)

bool `qi::Signature::``isValid`()`const`

bool `qi::Signature::``hasChildren`()`const`

const SignatureVector& `qi::Signature::``children`()`const`

Type `qi::Signature::``type`()`const`

std::string `qi::Signature::``annotation`()`const`

AnyValue `qi::Signature::``toData`()`const`

  Encode the signature in a plain struct, suitable for further serialization. [typeString, childrenList, annotationString ]

std::string `qi::Signature::``toPrettySignature`()`const`

const std::string& `qi::Signature::``toString`()`const`

float `qi::Signature::``isConvertibleTo`(const Signature& b)`const`

  Brief:

  Returns: | 0 if conversion is impossible, or a score in ]0,1] indicating the amount of type mismatch (the closer signatures are the bigger)

  Tell if arguments with this signature can be converted to b.

`signatureSplit`

`makeTupleSignature(const std::vector<qi::AnyReference>& vgv, bool resolveDynamic = false, const std::string &name = std::string(), const std::vector<std::string>& names)`

`makeTupleSignature(const std::vector<TypeInterface*>& vgv, const std::string &name = std::string(), const std::vector<std::string>& names)`

`makeTupleSignature`(const qi::Signature& element)

`makeListSignature`

`makeVarArgsSignature`

`makeKwArgsSignature`

`makeMapSignature`

Glossary Site map Index Support Contact Legal Notices