If I were you I would use Theano, not Caffe.
Caffe is not programmed around a general-purpose matrix library so with Caffe you would be trying to use a screwdriver to open a beer basically.
If you definitively feel like using C++ look into MrShadow or any other GPU-based matrix libraries.
... or simply use Theano with Python.
I'm not a big fan of Python and Theano takes some time to master but it's extremely convenient.
Also there are one or two ELM libraries for Python you can use as a reference, that's a huge plus when you need to test your own implementation.
https://github.com/dclambert/Python-ELM
https://github.com/acba/elm
I haven't used them so I can't elaborate on their status but something is better than nothing.
You can also take a look at Keras and Lasagne, both are neural network libraries built on top of Theano. Just like Caffe, they will not help much with ELMs but they will get you started with Theano+nnets. Then all you have to do is create your own ELM layers.