Suggest to use ScopedVector instead, it's better than std::vector<linked_ptr<PermissionGroup> >.