Mapping a textual method name to a function
std::call_once is an interesting tool, but there are alternatives built into the language: namely, you can use the Immediately-Invoked Function Expression (IIFE) borrowed straight from JavaScript and made usable thanks to C++11 lambda functions.

Here is how you can use it to initialize handlerMap:

std::unordered_map&lt;
    Glib::ustring,
    std::function&lt;void(Minecraftd1*, const Glib::RefPtr&lt;Gio::DBus::MethodInvocation&gt;&amp;)&gt;
&gt; handlerMap = []{
    using namespace std::placeholders;
    std::unordered_map&lt;
        Glib::ustring,
        std::function&lt;void(Minecraftd1*, const Glib::RefPtr&lt;Gio::DBus::MethodInvocation&gt;&amp;)&gt;
    &gt; initMap;
    initMap.emplace("SaveAll", std::bind(&amp;Minecraftd1::handleSimpleCommand, _1, _2, "save-all"));
    initMap.emplace("Stop", std::bind(&amp;Minecraftd1::handleSimpleCommand, _1, _2, "stop"));
    return initMap;
}();


Agreed, it looks a bit messy with the big std::unordered_map type, but you could probably create a type alias to get rid of the syntactic mess. Even if you dont typedef the whole thing, I guess that exposing the type of std::function&lt;void(Minecraftd1*, const Glib::RefPtr&lt;Gio::DBus::MethodInvocation&gt;&amp;)&gt; could be an interesting idea.

Alterntively, there is even better than IIFE: in your can, you can use initializer lists to achieve what you're trying to do:

std::unordered_map&lt;
    Glib::ustring,
    std::function&lt;void(Minecraftd1*, const Glib::RefPtr&lt;Gio::DBus::MethodInvocation&gt;&amp;)&gt;
&gt; handlerMap = {
    { "SaveAll", std::bind(&amp;Minecraftd1::handleSimpleCommand, std::placeholders::_1, std::placeholders::_2, "save-all") },
    { "Stop",    std::bind(&amp;Minecraftd1::handleSimpleCommand, std::placeholders::_1, std::placeholders::_2, "stop") }
};


But it means that you have to explicitly write std::placeholders:: everywhere if you don't want using std::placeholders; to leak into the outer namespace. In other words, you have to choose which solutions seems to best convey your idea while not bearing too much syntactic noise.