Hi - since my C++ is a bit rusty, I'll give you a pseudocode representation of the snippet:
for each face in faces
do
if "face is not a blank line"
then
for i = 1 to length(face)
do
v = face[i]
if v is not in coords // coords is a hashtable
then
coords.add_item(key=v, value=index)
index += 1
verts.append(v)
fi
face[i] = coords.get_item(key=v)
end for
fi
end for
I think that should be it. Hope it helps. Meh, just saw the date on this post - but now I have already typed it, so might as well submit :P