571 572 _set->appendAll(p->get_impl()); 573 } 574 575 PerfDataList::~PerfDataList() { 576 577 delete _set; 578 579 } 580 581 bool PerfDataList::by_name(void* name, PerfData* pd) { 582 583 if (pd == NULL) 584 return false; 585 586 return strcmp((const char*)name, pd->name()) == 0; 587 } 588 589 PerfData* PerfDataList::find_by_name(const char* name) { 590 591 int i = _set->find((void*)name, PerfDataList::by_name); 592 593 if (i >= 0 && i <= _set->length()) 594 return _set->at(i); 595 else 596 return NULL; 597 } 598 599 PerfDataList* PerfDataList::clone() { 600 601 PerfDataList* copy = new PerfDataList(this); 602 603 assert(copy != NULL, "just checking"); 604 605 return copy; 606 } | 571 572 _set->appendAll(p->get_impl()); 573 } 574 575 PerfDataList::~PerfDataList() { 576 577 delete _set; 578 579 } 580 581 bool PerfDataList::by_name(void* name, PerfData* pd) { 582 583 if (pd == NULL) 584 return false; 585 586 return strcmp((const char*)name, pd->name()) == 0; 587 } 588 589 PerfData* PerfDataList::find_by_name(const char* name) { 590 591 // if add_item hasn't been called the list won't be initialized 592 if (this == NULL) 593 return NULL; 594 595 int i = _set->find((void*)name, PerfDataList::by_name); 596 597 if (i >= 0 && i <= _set->length()) 598 return _set->at(i); 599 else 600 return NULL; 601 } 602 603 PerfDataList* PerfDataList::clone() { 604 605 PerfDataList* copy = new PerfDataList(this); 606 607 assert(copy != NULL, "just checking"); 608 609 return copy; 610 } |