// -------------------------------------------------------------------------------------------------------------------- Object Member::Assign(Object self, const Object& rhs) const { ASSERT(self.IsValid()); ASSERT(rhs.TypeInfo()->Implements(self.TypeInfo())); const Type::MemberList& members = self.TypeInfo()->Members(); for(Type::MemberList::const_iterator i = members.begin(); i < members.end(); ++i) { self.At(*i) = rhs.At(*i); } return self; }