No, this is not defined.
The standard only indicates that whenever you call a.clear(), it will be resolved as a.erase(q1,q2), and it will simply indicate that it erases it erases all elements in the range [q1,q2), but does not determine the order in which it will do it.