Строго говоря, нет возможности сделать бесплатную функцию приватной в C ++ - любой клиент, который может видеть сигнатуру функции, может вызвать ее.
Вместо этого вы можете сделать doSomethingOnHost
закрытым статическим членом.функция некоторого класса:
class my_class
{
private:
static void doSomethingOnHost(); // only my_class or friends of my_class may use this function
};