No need to port it, just see Laurent DeSoras’ HIIR C++ code which is referenced in the wiki for the OS toolkit. Note that it only implements the polyphase filters, but you can implement filters with different numbers of coefficients to save on cycles. The triangular & power series filters are pretty trivial.
There’s a few tricks to setting up the HIIR stuff with JUCE audio plugins, so I’ve written myself a wrapper class to make things easier. It lets me set it up with an arbitrary oversampling factor and uses a nice sharp filter for the first upsampling stage and last downsampling stage (it uses cheaper filters for the other stages). The wrapper takes care of the number of stages and sizes all the buffers dynamically when I call its prepare() method. When block processing audio, I just call my upsample() & downsample() methods.
I’ve chosen an implementation which suits my needs and don’t have much time to build a more generic solution as a module - but I’m quite willing to assist and provide a copy of my code to anyone seriously looking at this.