#include <iostream>
#include <functional>
#include <initializer_list>

extern "C" void foo( std::initializer_list<int> init_lst, std::function< void(int) > fn )
{ for( const auto& i : init_lst ) fn(i) ; }

int main()
{
    foo( { 0, 1, 2, 3, 4 }, [] ( int i ) { std::cout << i << ' ' ; } ) ;
}
