//Include implmentrea containerului vector din STL
#include "vector.h"
#include <iostream.h>

int main (void)
{
    //Defineste un vector de intregi si
    //rezerva memorie pentru cinci elemente.
    vector<int> v(5);

    //Plaseaza o serie de valori arbitrare in vector ...
    for (int i = 0; i < 5; i++)
        v[i] = 2*i;

    cout << "Cele cinci valori din vector sunt:" << endl;
    //Tipareste valorile la iesirea standard.
    for (i = 0; i < 5; i++)
        cout << v[i] << "  ";
    cout << endl;

    //Pentru accesul la elementele containerului se pot utiliza iteratori.
    //Defineste un iterator initializat cu valoarea
    //corespunzatoare primului element din vector.
    vector<int>::iterator first(v.begin());
    //Defineste un iterator "past the last" initializat cu valoarea
    //corespunzatoare elementului de dupa ultimul element din vector.
    vector<int>::iterator last(v.end());

    cout << "Cele cinci valori din vector sunt:" << endl;

    //Cat timp first nu a ajuns la last...
    //Mai intai iteratorul este dereferentiat, apoi este incrementat
    while (first != last)
        cout << *first++ << "  ";
    cout << endl;
    return 1;
}
