src/core/object.cc
changeset 2938 621b23d5be5b
parent 2937 fc048c358357
child 2972 d76553495b91
equal deleted inserted replaced
2937:fc048c358357 2938:621b23d5be5b
    43 {}
    43 {}
    44 
    44 
    45 bool 
    45 bool 
    46 Object::AggregateIterator::HasNext (void) const
    46 Object::AggregateIterator::HasNext (void) const
    47 {
    47 {
    48   if (m_current == 0 && m_first != 0)
       
    49     {
       
    50       return true;
       
    51     }
       
    52   if (m_current != 0 && m_current->m_next != PeekPointer (m_first))
    48   if (m_current != 0 && m_current->m_next != PeekPointer (m_first))
    53     {
    49     {
    54       return true;
    50       return true;
    55     }
    51     }
    56   return false;
    52   return false;
    57 }
    53 }
    58 Ptr<const Object> 
    54 Ptr<const Object> 
    59 Object::AggregateIterator::Next (void)
    55 Object::AggregateIterator::Next (void)
    60 {
    56 {
    61   if (m_current == 0)
    57   m_current = m_current->m_next;
    62     {
       
    63       m_current = m_first;
       
    64     }
       
    65   else
       
    66     {
       
    67       m_current = m_current->m_next;
       
    68     }
       
    69   return m_current;
    58   return m_current;
    70 }
    59 }
    71 Object::AggregateIterator::AggregateIterator (Ptr<const Object> first)
    60 Object::AggregateIterator::AggregateIterator (Ptr<const Object> first)
    72   : m_first (first),
    61   : m_first (first),
    73     m_current (0)
    62     m_current (first)
    74 {}
    63 {}
    75 
    64 
    76 
    65 
    77 TypeId 
    66 TypeId 
    78 Object::GetInstanceTypeId (void) const
    67 Object::GetInstanceTypeId (void) const