qi::Signature

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_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