I can’t say that I created wrappers for Boost libraries on purpose, but I did it for my own template classes.
This is great if you remember that SWIG will wrap specific instances of templates using the directive %template.
As stated in the documentation above:
[...] ++ - runnable object-code, SWIG . , , SWIG (, vector<int>, array<double> ..). -, , vector<int>, . , , intvector.
intvector :
%template(intvector) vector<int>;