Simple traversal of a container object or a range of its elements (including modification of those elements unless a codice_24 is used) can be done using iterators alone. But container types may also provide methods like codice_26 or codice_27 that modify the structure of the container itself; these are methods of the container class, but in addition require one or more iterator values to specify the desired operation. While it is possible to have multiple iterators pointing into the same container simultaneously, structure-modifying operations may invalidate certain iterator values (the standard specifies for each case whether this may be so); using an invalidated iterator is an error that will lead to undefined behavior, and such errors need not be signaled by the run time system.