Is there any build-in methods to list all the selected verts/edges/faces in a mesh?

I know I can use a loop to check and count them out, but is there any faster way?


Update: I find a shorthand for this, even thought I think a build-in function for this would be better. And as I mentioned in another thread, I think having to exit edit mode is ridiculous.


bpy.ops.object.mode_set(mode="OBJECT")
self.report({"INFO"}, "%s" % [i for i in list(context.object.data.vertices) if i.select])
self.report({"INFO"}, "%s" % [i for i in list(context.object.data.edges) if i.select])
self.report({"INFO"}, "%s" % [i for i in list(context.object.data.faces) if i.select])
bpy.ops.object.mode_set(mode="EDIT")

I am not positive about being able to get all the selected vertices, but maybe if we make a thread that allows user to post many of the annoyances that blender API has, someone could make a big class that resolves these issues therefore making them a function instead.