title: Why does SWIG fail to parse a template / struct?
body: <p>I am trying to wrap a .h file using SWIG with the following really simple interface file:</p>
  
  <pre><code>%module example
  %{
  /* Includes the header in the wrapper code */
  #include "../pointmatcher/PointMatcher.h"
  %}
  
  /* Parse the header file to generate wrappers */
  %include "../pointmatcher/PointMatcher.h"
  </code></pre>
  
  <p>The wrapping attempt fails with the following error:</p>
  
  <pre><code>C:\Data\Projects\lpm-source\libpointmatcher-swig\wrapper&gt;C:\Data\Downloads\swigw
  in-3.0.5\swig.exe -csharp -cpperraswarn example.i
  ..\pointmatcher\PointMatcher.h(61) : Warning 205: CPP #error ""You need libnabo
  version 1.0.6 or greater"".
  ..\pointmatcher\PointMatcher.h(130) : Error: Syntax error in input(1).
  </code></pre>
  
  <p>The line in question is:</p>
  
  <pre><code>template&lt;typename T&gt;
  struct PointMatcher  &lt;-- this line
  {
  </code></pre>
  
  <p>from this file: <a href="https://github.com/ethz-asl/libpointmatcher/blob/master/pointmatcher/PointMatcher.h#L130" rel="nofollow">https://github.com/ethz-asl/libpointmatcher/blob/master/pointmatcher/PointMatcher.h#L130</a></p>
  
  <p>Why is the SWIG parsing failing here?</p>