void EventsList::InsertEvents(const EventsList & otherEvents, size_t begin, size_t end, size_t position) { if (begin >= otherEvents.size()) return; if (end < begin) return; if (end >= otherEvents.size()) end = otherEvents.size()-1; for (std::size_t insertPos = 0;insertPos <= (end-begin);insertPos++) { if (position != (size_t)-1 && position+insertPos < events.size()) events.insert(events.begin()+position+insertPos, CloneRememberingOriginalEvent(otherEvents.events[begin+insertPos])); else events.push_back(CloneRememberingOriginalEvent(otherEvents.events[begin+insertPos])); } }
void EventsListSerialization::SerializeEventsTo(const EventsList & list, SerializerElement & events) { events.ConsiderAsArrayOf("event"); for ( unsigned int j = 0;j < list.size();j++ ) { const gd::BaseEvent & event = list.GetEvent(j); SerializerElement & eventElem = events.AddChild("event"); eventElem.SetAttribute( "disabled", event.IsDisabled()); eventElem.SetAttribute( "folded", event.folded); eventElem.AddChild("type").SetValue(event.GetType()); event.SerializeTo(eventElem); } }