void body::insertPartAfter(ref <bodyPart> afterPart, ref <bodyPart> part) { initNewPart(part); const std::vector <ref <bodyPart> >::iterator it = std::find (m_parts.begin(), m_parts.end(), afterPart); if (it == m_parts.end()) throw exceptions::no_such_part(); m_parts.insert(it + 1, part); }
void body::insertPartBefore(shared_ptr <bodyPart> beforePart, shared_ptr <bodyPart> part) { initNewPart(part); const std::vector <shared_ptr <bodyPart> >::iterator it = std::find (m_parts.begin(), m_parts.end(), beforePart); if (it == m_parts.end()) throw exceptions::no_such_part(); m_parts.insert(it, part); }
void body::insertPartAfter(const int pos, ref <bodyPart> part) { initNewPart(part); m_parts.insert(m_parts.begin() + pos + 1, part); }
void body::insertPartBefore(const int pos, ref <bodyPart> part) { initNewPart(part); m_parts.insert(m_parts.begin() + pos, part); }
void body::appendPart(ref <bodyPart> part) { initNewPart(part); m_parts.push_back(part); }
void body::insertPartAfter(const size_t pos, shared_ptr <bodyPart> part) { initNewPart(part); m_parts.insert(m_parts.begin() + pos + 1, part); }
void body::appendPart(shared_ptr <bodyPart> part) { initNewPart(part); m_parts.push_back(part); }