<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi, </div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
 I am struggling to write the sip file for a header file which contains a constructor with a std::shared_ptr</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="margin:0px;caret-color:rgb(0, 0, 0)">Attachment(std::shared_ptr<QRTImpl::AttachmentImpl> impl, QObject* parent);</span>
<div style="margin:0px;caret-color:rgb(0, 0, 0)"><br>
</div>
<div style="margin:0px;caret-color:rgb(0, 0, 0)"><br>
</div>
<div style="margin:0px;caret-color:rgb(0, 0, 0)"><br>
</div>
<div style="margin:0px;caret-color:rgb(0, 0, 0)"><br>
</div>
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
This is what I tried :</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
 Attachment(SIP_PYCALLABLE m_impl,QObject* parent = 0)[(std::shared_ptr<QRTImpl::AttachmentImpl>,QObject*)];
<div>     %MethodCode </div>
<div><br>
</div>
<div>    // Make sure the callable doesn't get garbage collected, this is needed because refcount for a1 is 0
</div>
<div>    // and the creation function pointer is passed to the metadata and it needs to be kept in memory.
</div>
<div>    Py_INCREF( a0 ); </div>
<div><br>
</div>
<div>    Py_BEGIN_ALLOW_THREADS </div>
<div><br>
</div>
<div>    auto m_impl = [a0]() -> QRTImpl::AttachmentImpl * </div>
<div>    { </div>
<div>      QRTImpl::AttachmentImpl  *result = nullptr; </div>
<div>      SIP_BLOCK_THREADS </div>
<div>      PyObject *s = sipCallMethod( NULL, a0, NULL ); </div>
<div>      int state; </div>
<div>      int sipIsError = 0; </div>
<div>      result = reinterpret_cast<<span style="background: var(--white);">QRT_Impl::AttachmentImpl* >( sipForceConvertToType( s, sipTypeQRTImpl_AttachmentImpl, NULL, SIP_NOT_NONE, &state, &sipIsError ) );</span></div>
<div>      SIP_UNBLOCK_THREADS </div>
<div>      return result; </div>
<div>    }; </div>
<div><br>
</div>
<div><br>
</div>
<div>  sipCpp = new sipA_B_Attachment(m_impl,a1)</div>
<div><br>
</div>
<div>    Py_END_ALLOW_THREADS </div>
<div><br>
</div>
    %End <br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
But I get the error</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<p style="margin:0.0px 0.0px 0.0px 0.0px;font:11.0px Menlo;color:#000000"><span style="font-variant-ligatures:no-common-ligatures">note: candidate constructor not viable: no known conversion from '(lambda at /Users/sum10122/pythonBindingsEnv/sip/sip/.../Data_Attachment.sip:50:19)'
 to 'std::shared_ptr<QRTImpl::AttachmentImpl>' for 1st argument</span></p>
<p style="margin:0.0px 0.0px 0.0px 0.0px;font:11.0px Menlo;color:#000000"><span style="font-variant-ligatures:no-common-ligatures"><br>
</span></p>
<p style="margin:0.0px 0.0px 0.0px 0.0px;font:11.0px Menlo;color:#000000">I will really appreciate if someone can help me on this</p>
<p style="margin:0.0px 0.0px 0.0px 0.0px;font:11.0px Menlo;color:#000000"><br>
</p>
<p style="margin:0.0px 0.0px 0.0px 0.0px;font:11.0px Menlo;color:#000000">Thank You,</p>
<p style="margin:0.0px 0.0px 0.0px 0.0px;font:11.0px Menlo;color:#000000">Suman</p>
<br>
</div>
</body>
</html>