Hi i got this snippet of code after working through a problem wiht a member of the server in , i wanted to apply it to my struct PlayerList, which contains sharedptr of a class Player, which has a getV2 method, how do i make this code act on those values, or do i need to conver the list to a struct directly? ```c++ bool BlobPool::areLinked(PlayerList a, PlayerList b){ // Calculating the two average points auto avg1 = std::accumulate>(a.begin(), a.end(), v2(0,0)) / a.size(); auto avg2 = std::accumulate>(b.begin(), b.end(), v2(0,0)) / b.size(); //Vector connecting two average points and normalize it to calculate dot product. v2 line=avg2-avg1; line = line.normalize(); // Line starts at avg1 to avg2 first we find the vector thats furthest along that line in a auto tmpmax2 = *std::ranges::max_element(a, {}, [&](auto pt){return v2::dotProduct(pt-avg1, line);},); // flip the line and swap the origin to and find the furthest point for b auto tmpmax1 = *std::ranges::max_element(b, {}, [&](auto pt){return v2::dotProduct(pt-avg2, -line);},); // TODO return correct if. return (tmpmax2-tmpmax1).norm(); },```
i implemented all the operators for the Player class, but i dont know how to make the function act on the dereferenced ones