aboutsummaryrefslogtreecommitdiffstats
path: root/doc/codesnippets/doc/src/snippets/code/doc_src_q3valuelist.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/codesnippets/doc/src/snippets/code/doc_src_q3valuelist.qdoc')
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_q3valuelist.qdoc95
1 files changed, 95 insertions, 0 deletions
diff --git a/doc/codesnippets/doc/src/snippets/code/doc_src_q3valuelist.qdoc b/doc/codesnippets/doc/src/snippets/code/doc_src_q3valuelist.qdoc
new file mode 100644
index 000000000..5a6d564ab
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/code/doc_src_q3valuelist.qdoc
@@ -0,0 +1,95 @@
+//! [0]
+class Employee
+{
+public:
+ Employee(): sn(0) {}
+ Employee( const QString& forename, const QString& surname, int salary )
+ : fn(forename), sn(surname), sal(salary)
+ {}
+
+ QString forename() const { return fn; }
+ QString surname() const { return sn; }
+ int salary() const { return sal; }
+ void setSalary( int salary ) { sal = salary; }
+
+private:
+ QString fn;
+ QString sn;
+ int sal;
+};
+
+typedef Q3ValueList<Employee> EmployeeList;
+EmployeeList list;
+
+list.append( Employee("John", "Doe", 50000) );
+list.append( Employee("Jane", "Williams", 80000) );
+list.append( Employee("Tom", "Jones", 60000) );
+
+Employee mary( "Mary", "Hawthorne", 90000 );
+list.append( mary );
+mary.setSalary( 100000 );
+
+EmployeeList::iterator it;
+for ( it = list.begin(); it != list.end(); ++it )
+ cout << (*it).surname().latin1() << ", " <<
+ (*it).forename().latin1() << " earns " <<
+ (*it).salary() << endl;
+
+// Output:
+// Doe, John earns 50000
+// Williams, Jane earns 80000
+// Hawthorne, Mary earns 90000
+// Jones, Tom earns 60000
+//! [0]
+
+
+//! [1]
+Q3ValueList<int> list;
+list.append( 1 );
+list.append( 2 );
+list.append( 3 );
+...
+if ( !list.empty() ) {
+ // OK, modify the first item
+ int& i = list.first();
+ i = 18;
+}
+...
+Q3ValueList<double> dlist;
+double d = dlist.last(); // undefined
+//! [1]
+
+
+//! [2]
+Q3ValueList<int> l;
+...
+Q3ValueList<int>::iterator it = l.end();
+--it;
+if ( it != end() )
+ // ...
+//! [2]
+
+
+//! [3]
+Q3ValueList<int> l;
+...
+Q3ValueList<int>::iterator it = l.end();
+--it;
+if ( it != end() )
+ // ...
+//! [3]
+
+
+//! [4]
+EmployeeList::iterator it;
+for ( it = list.begin(); it != list.end(); ++it )
+ cout << (*it).surname().latin1() << ", " <<
+ (*it).forename().latin1() << " earns " <<
+ (*it).salary() << endl;
+
+// Output:
+// Doe, John earns 50000
+// Williams, Jane earns 80000
+// Hawthorne, Mary earns 90000
+// Jones, Tom earns 60000
+//! [4]