I've been trying to figure out how to get a list of all message names in the generated pool with the C++ API. It looks like I can use FindAllMessageNames if I have a pointer to the DescriptorDatabase, but I can't find a way to get access to that. The documentation describes DescriptorPool::internal_generated_database() (which I probably shouldn't use anyway), but that doesn't appear to exist in my 3.12.4 version.
Is there a way to get this list? If not in C++, is there a way in Python?