Add a transition to this timetable at the specified datetime having the specified code. If datetime is already a transition point, replace the existing code with code. The addition of a transition, but not the replacement of the code of an existing transition, invalidates all iterators. The behavior is undefined unless 24 > datetime.hour(), datetime.date() is within the valid range of this timetable, and 0 <= code || k_UNSET_TRANSITION_CODE == code.