Throwing VertexAlreadyExistsExcepttion and VertexDoesNotExistExcepttion instead of returning false.
TToStr to create meaningful exception what messages.
init list ctors; no more exceptions, adding missing vertices inseat and returning empty list on non-existing vertices
rewriting for_each loops to range-for loops where at possible parallel version threads would access the same variable.
std::vector iterators get invalidated at grow
switching to unordered_map