<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi,<br>
<br>
I am trying to wrap a templated scoped type (in my case
std::set&lt;T&gt;::iterator) using SIP 4.10.0. However I have not yet
managed to find a solution which solves this case nicely.<br>
<br>
According to the SIP reference templates must be of the form template
::= scoped-name &lt; type-list &gt; which does not fit here.<br>
<br>
I have tried to wrap the std::set&lt;T&gt; declaration using a typedef,
i.e.:<br>
<br>
typedef std::set&lt;T&gt; myset<br>
typedef myset::iterator mysetiterator<br>
<br>
but this resulted in a myset is undefined error message.<br>
<br>
Hence my current approach is to typedef the iterator to a void * for
SIP and mapping it to the real type inside a %ModuleHeaderCode:<br>
<br>
%ModuleHeaderCode<br>
typedef std::set&lt;MyType&gt;::iterator MyTypeSetIterator;<br>
%End<br>
<br>
typedef void * MyTypeSetIterator;<br>
<br>
<br>
Unfortunately this requires a patched SIP binary as the generated
source files refer to the type by void * (I am not using the
/NoTypeName/ annotation) rather than the name specified by the typedef.<br>
<br>
I have attached the patch file against SIP which works around the issue
described above. However I would be very grateful if anyone knows how
to solve this issue in a nicer way.<br>
<br>
Thanks in advance,<br>
<br>
Philip Lorenz<br>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span
 class="Apple-style-span"
 style="font-family: sans-serif; font-size: 16px;"></span></span>
</body>
</html>