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>());
68 Signature(
const std::string &signature,
size_t begin,
size_t end);
69 friend class SignaturePrivate;
78 bool hasChildren()
const;
132 std::string annotation()
const;
139 std::string toPrettySignature()
const;
140 const std::string& toString()
const;
146 float isConvertibleTo(
const Signature& b)
const;
151 boost::shared_ptr<SignaturePrivate>
_p;
158 {
return !(lhs == rhs); }
166 # pragma warning( pop )
169 #endif // _QITYPE_SIGNATURE_HPP_
qi::Signature makeOptionalSignature(const qi::Signature &value)
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)