boost::depth_first_search(myGraph, boost::visitor(myVisitor).root_vertex(myVertex));
This is simply an example of using the named parameter version of the call to depth_first_search(). See Named Parameters. I found that even if you do specify a vertex other than the root of the graph to start from, the algorithm will still visit all of the vertices in the graph. It will just start from the one you specify.
To visit only those vertices reachable from a specified vertex you need to use the depth_first_visit algorithm. This requires a color map to be specified. Here's a color map that worked for me.
using Graph = boost::adjacency_list;
using IndexMap = boost::property_map::const_type;
IndexMap indexMap = boost::get(boost::vertex_index, m_graph);
using ColorMap = boost::iterator_property_map;
std::vector color_vec(num_vertices(m_graph));
ColorMap colorMap(&color_vec.front(), indexMap);