#include <tuple>
#include <set>
struct pointsSet {
double p1;
double p2;
double p3;
};
bool operator<(const pointsSet& lhs, const pointsSet& rhs)
{
return std::tie(lhs.p1, lhs.p2, lhs.p3) < std::tie(rhs.p1, rhs.p2, rhs.p3);
}
void foo()
{
std::set<pointsSet> setBoundaryPoints;
double p[3] = {1,2,3};
pointsSet pt = {p[0], p[1], p[2]};
setBoundaryPoints.insert(pt);
}
int main()
{
foo();
}
I2luY2x1ZGUgPHR1cGxlPgojaW5jbHVkZSA8c2V0PgoKc3RydWN0IHBvaW50c1NldCB7Cglkb3VibGUgcDE7Cglkb3VibGUgcDI7Cglkb3VibGUgcDM7Cn07Cgpib29sIG9wZXJhdG9yPChjb25zdCBwb2ludHNTZXQmIGxocywgY29uc3QgcG9pbnRzU2V0JiByaHMpCnsKICAgIHJldHVybiBzdGQ6OnRpZShsaHMucDEsIGxocy5wMiwgbGhzLnAzKSA8IHN0ZDo6dGllKHJocy5wMSwgcmhzLnAyLCByaHMucDMpOwp9Cgp2b2lkIGZvbygpCnsKICAgIHN0ZDo6c2V0PHBvaW50c1NldD4gc2V0Qm91bmRhcnlQb2ludHM7CgogICAgZG91YmxlIHBbM10gPSB7MSwyLDN9OwogICAgcG9pbnRzU2V0IHB0ID0ge3BbMF0sIHBbMV0sIHBbMl19OwogICAgc2V0Qm91bmRhcnlQb2ludHMuaW5zZXJ0KHB0KTsKCn0KCmludCBtYWluKCkKewogICAgZm9vKCk7Cn0=