iterator end();
    Each collection class contains an iterator. The iterater is provided to allow you sequencially move through the contents of the collection. They behave in the same way as stl iterators. Also see begin and iterator

end() returns the iterator that is at the end of the collection (after the last entry in the collection).
It is not posible to to reterve an object from this iterator as, it is at the position after the last element in the collection


for (CAttribute::iterator itr = spParentElement->GetAttributes()->begin();
	 itr != spParentElement->GetAttributes()->end();
	CAttributePtr spAttr = (*itr);

	std::string strName = spAttr->GetName();