List C++ Tutorial

#include 
#include 
using namespace std;
void PrintListContents (const list & listInput);
bool SortPredicate_Descending (const int& lsh, const int& rsh);
int main ()
{
    std::list  listIntegers;
    // Insert elements at the beginning...
    listIntegers.push_front (4);
    listIntegers.push_front (3);
    listIntegers.push_front (2);
    listIntegers.push_front (-1);
    listIntegers.push_front (0);
    listIntegers.push_back (-5);
    cout << "Initial contents of the list are - " << endl;
    PrintListContents (listIntegers);
    listIntegers.sort ();
    cout << "Order of elements after sort():" << endl;
    PrintListContents (listIntegers);
    listIntegers.sort (SortPredicate_Descending);
    cout << "Order of elements after sort() with a predicate:" << endl;
    PrintListContents (listIntegers);
    return 0;
}
void PrintListContents (const list & listInput){
    if (listInput.size () > 0){
        std::list ::const_iterator i;
        for ( i = listInput.begin (); i != listInput.end (); ++ i )
            cout << *i << endl;
    }
    else
        cout << "List is empty!" << endl;
}
bool SortPredicate_Descending (const int& lsh, const int& rsh)
{
    return (rsh < lsh);
}