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

int main (void)
{
    //Defineste o lista de intregi si
    //rezerva memorie pentru cinci elemente.
    list<int> l(5);
    //Pentru accesul la elementele
    //containerului se pot utiliza iteratori.
    //Defineste un iterator initializat cu valoarea
    //corespunzatoare primului element din lista.
    list<int>::iterator first(l.begin());
    //Defineste un iterator "past the last" initializat cu valoarea
    //corespunzatoare elementului de dupa ultimul element din lista.
    list<int>::iterator last(l.end());
    //Incarcarea in lista a unor valori de la tastatura.
    cout << "Introduceti cinci valori intregi de la tastatura." << endl;
    while (first != last)
        cin >> *first++;

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

    //Iteratorul first nu mai este valid.
    //El are valoarea past the last pentru lista.
    first = l.begin();
    //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;
}
