If I have a start iterator and an end iterator pointing to structs defined as:

```
struct point {
int x;
int y;
};

```

, and I want to go from the start iterator to the end iterator (inclusive), and one by one append the x values from the struct to a vector, how would I do this?

My issue is that with a standard for loop like:

```
for (auto it = start_iterator; it != end_iterator; ++it)

```

the end iterator will not be included, though I'm happy to use stl algorithms/libaries as well.