7 #ifndef _QI_SIGNATURE_HPP_
8 #define _QI_SIGNATURE_HPP_
16 #include <boost/shared_ptr.hpp>
19 # pragma warning( push )
20 # pragma warning( disable: 4251 )
27 class SignaturePrivate;
34 bool resolveDynamic =
false,
35 const std::string &name = std::string(),
36 const std::vector<std::string>& names = std::vector<std::string>());
38 const std::string &name = std::string(),
39 const std::vector<std::string>& names = std::vector<std::string>());
67 Signature(
const std::string &signature,
size_t begin,
size_t end);
68 friend class SignaturePrivate;
77 bool hasChildren()
const;
129 std::string annotation()
const;
136 std::string toPrettySignature()
const;
137 const std::string& toString()
const;
143 float isConvertibleTo(
const Signature& b)
const;
148 boost::shared_ptr<SignaturePrivate>
_p;
155 {
return !(lhs == rhs); }
163 # pragma warning( pop )
166 #endif // _QITYPE_SIGNATURE_HPP_
dll import/export and compiler message
char * signature_to_json(const char *sig)
bool operator==(const Signature &lhs, const Signature &rhs)
qi::Signature makeListSignature(const qi::Signature &element)
std::vector< std::string > signatureSplit(const std::string &fullSignature)
boost::shared_ptr< SignaturePrivate > _p
qi::Signature makeTupleSignature(const std::vector< qi::AnyReference > &vgv, bool resolveDynamic=false, const std::string &name=std::string(), const std::vector< std::string > &names=std::vector< std::string >())
qi::Signature makeMapSignature(const qi::Signature &key, const qi::Signature &value)
bool operator!=(const Signature &lhs, const Signature &rhs)
std::vector< Signature > SignatureVector
qi::Signature makeKwArgsSignature(const qi::Signature &element)
qi::Signature makeVarArgsSignature(const qi::Signature &element)