Qt 4.8
|
#include <qlistwidget_p.h>
Public Functions | |
QListWidgetItem * | at (int row) const |
void | clear () |
QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const |
Returns the data stored under the given role for the item referred to by the index. More... | |
bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) |
Reimplemented Function More... | |
void | ensureSorted (int column, Qt::SortOrder order, int start, int end) |
Qt::ItemFlags | flags (const QModelIndex &index) const |
Returns the item flags for the given index. More... | |
QModelIndex | index (QListWidgetItem *item) const |
QModelIndex | index (int row, int column=0, const QModelIndex &parent=QModelIndex()) const |
Returns the index of the data in row and column with parent. More... | |
void | insert (int row, QListWidgetItem *item) |
void | insert (int row, const QStringList &items) |
bool | insertRows (int row, int count=1, const QModelIndex &parent=QModelIndex()) |
On models that support this, inserts count rows into the model before the given row. More... | |
QMimeData * | internalMimeData () const |
void | itemChanged (QListWidgetItem *item) |
QMap< int, QVariant > | itemData (const QModelIndex &index) const |
Returns a map with values for all predefined roles in the model for the item at the given index. More... | |
QMimeData * | mimeData (const QModelIndexList &indexes) const |
Returns an object that contains serialized items of data corresponding to the list of indexes specified. More... | |
QStringList | mimeTypes () const |
Returns a list of MIME types that can be used to describe a list of model indexes. More... | |
void | move (int srcRow, int dstRow) |
QListModel (QListWidget *parent) | |
void | remove (QListWidgetItem *item) |
bool | removeRows (int row, int count=1, const QModelIndex &parent=QModelIndex()) |
On models that support this, removes count rows starting with the given row under parent parent from the model. More... | |
int | rowCount (const QModelIndex &parent=QModelIndex()) const |
Returns the number of rows under the given parent. More... | |
bool | setData (const QModelIndex &index, const QVariant &value, int role) |
Sets the role data for the item at index to value. More... | |
void | sort (int column, Qt::SortOrder order) |
Sorts the model by column in the given order. More... | |
Qt::DropActions | supportedDropActions () const |
Returns the drop actions supported by this model. More... | |
QListWidgetItem * | take (int row) |
~QListModel () | |
Public Functions inherited from QAbstractListModel | |
QAbstractListModel (QObject *parent=0) | |
Constructs an abstract list model with the given parent. More... | |
~QAbstractListModel () | |
Destroys the abstract list model. More... | |
Public Functions inherited from QAbstractItemModel | |
virtual QModelIndex | buddy (const QModelIndex &index) const |
Returns a model index for the buddy of the item represented by index. More... | |
virtual bool | canFetchMore (const QModelIndex &parent) const |
Returns true if there is more data available for parent; otherwise returns false. More... | |
virtual void | fetchMore (const QModelIndex &parent) |
Fetches any available data for the items with the parent specified by the parent index. More... | |
bool | hasIndex (int row, int column, const QModelIndex &parent=QModelIndex()) const |
Returns true if the model returns a valid QModelIndex for row and column with parent, otherwise returns false. More... | |
virtual QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const |
Returns the data for the given role and section in the header with the specified orientation. More... | |
bool | insertColumn (int column, const QModelIndex &parent=QModelIndex()) |
Inserts a single column before the given column in the child items of the parent specified. More... | |
virtual bool | insertColumns (int column, int count, const QModelIndex &parent=QModelIndex()) |
On models that support this, inserts count new columns into the model before the given column. More... | |
bool | insertRow (int row, const QModelIndex &parent=QModelIndex()) |
Inserts a single row before the given row in the child items of the parent specified. More... | |
virtual QModelIndexList | match (const QModelIndex &start, int role, const QVariant &value, int hits=1, Qt::MatchFlags flags=Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap)) const |
Returns a list of indexes for the items in the column of the start index where data stored under the given role matches the specified value. More... | |
QAbstractItemModel (QObject *parent=0) | |
Constructs an abstract item model with the given parent. More... | |
bool | removeColumn (int column, const QModelIndex &parent=QModelIndex()) |
Removes the given column from the child items of the parent specified. More... | |
virtual bool | removeColumns (int column, int count, const QModelIndex &parent=QModelIndex()) |
On models that support this, removes count columns starting with the given column under parent parent from the model. More... | |
bool | removeRow (int row, const QModelIndex &parent=QModelIndex()) |
Removes the given row from the child items of the parent specified. More... | |
const QHash< int, QByteArray > & | roleNames () const |
Returns the model's role names. More... | |
virtual bool | setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role=Qt::EditRole) |
Sets the data for the given role and section in the header with the specified orientation to the value supplied. More... | |
virtual bool | setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles) |
Sets the role data for the item at index to the associated value in roles, for every Qt::ItemDataRole. More... | |
void | setSupportedDragActions (Qt::DropActions) |
Sets the supported drag actions for the items in the model. More... | |
QModelIndex | sibling (int row, int column, const QModelIndex &idx) const |
Returns the sibling at row and column for the item at index, or an invalid QModelIndex if there is no sibling at that location. More... | |
virtual QSize | span (const QModelIndex &index) const |
Returns the row and column span of the item represented by index. More... | |
Qt::DropActions | supportedDragActions () const |
Returns the actions supported by the data in this model. More... | |
virtual | ~QAbstractItemModel () |
Destroys the abstract item model. More... | |
Public Functions inherited from QObject | |
bool | blockSignals (bool b) |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More... | |
const QObjectList & | children () const |
Returns a list of child objects. More... | |
bool | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0) |
bool | disconnect (const QObject *receiver, const char *member=0) |
void | dumpObjectInfo () |
Dumps information about signal connections, etc. More... | |
void | dumpObjectTree () |
Dumps a tree of children to the debug output. More... | |
QList< QByteArray > | dynamicPropertyNames () const |
Returns the names of all properties that were dynamically added to the object using setProperty(). More... | |
virtual bool | event (QEvent *) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. More... | |
virtual bool | eventFilter (QObject *, QEvent *) |
Filters events if this object has been installed as an event filter for the watched object. More... | |
template<typename T > | |
T | findChild (const QString &aName=QString()) const |
Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More... | |
template<typename T > | |
QList< T > | findChildren (const QString &aName=QString()) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More... | |
template<typename T > | |
QList< T > | findChildren (const QRegExp &re) const |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More... | |
void | installEventFilter (QObject *) |
Installs an event filter filterObj on this object. More... | |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false. More... | |
void | killTimer (int id) |
Kills the timer with timer identifier, id. More... | |
virtual const QMetaObject * | metaObject () const |
Returns a pointer to the meta-object of this object. More... | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. More... | |
QString | objectName () const |
QObject * | parent () const |
Returns a pointer to the parent object. More... | |
QVariant | property (const char *name) const |
Returns the value of the object's name property. More... | |
Q_INVOKABLE | QObject (QObject *parent=0) |
Constructs an object with parent object parent. More... | |
void | removeEventFilter (QObject *) |
Removes an event filter object obj from this object. More... | |
void | setObjectName (const QString &name) |
void | setParent (QObject *) |
Makes the object a child of parent. More... | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. More... | |
void | setUserData (uint id, QObjectUserData *data) |
bool | signalsBlocked () const |
Returns true if signals are blocked; otherwise returns false. More... | |
int | startTimer (int interval) |
Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More... | |
QThread * | thread () const |
Returns the thread in which the object lives. More... | |
QObjectUserData * | userData (uint id) const |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. More... | |
Static Public Functions | |
static bool | itemGreaterThan (const QPair< QListWidgetItem *, int > &left, const QPair< QListWidgetItem *, int > &right) |
static bool | itemLessThan (const QPair< QListWidgetItem *, int > &left, const QPair< QListWidgetItem *, int > &right) |
static QList< QListWidgetItem * >::iterator | sortedInsertionIterator (const QList< QListWidgetItem *>::iterator &begin, const QList< QListWidgetItem *>::iterator &end, Qt::SortOrder order, QListWidgetItem *item) |
Static Public Functions inherited from QObject | |
static bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More... | |
static bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
Disconnects signal in object sender from method in object receiver. More... | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static uint | registerUserData () |
static QString | tr (const char *sourceText, const char *comment=0, int n=-1) |
static QString | trUtf8 (const char *sourceText, const char *comment=0, int n=-1) |
Properties | |
QModelIndexList | cachedIndexes |
QList< QListWidgetItem * > | items |
Additional Inherited Members | |
Public Slots inherited from QAbstractItemModel | |
virtual void | revert () |
Lets the model know that it should discard cached information. More... | |
virtual bool | submit () |
Lets the model know that it should submit cached information to permanent storage. More... | |
Public Slots inherited from QObject | |
void | deleteLater () |
Schedules this object for deletion. More... | |
Signals inherited from QAbstractItemModel | |
void | columnsAboutToBeInserted (const QModelIndex &parent, int first, int last) |
This signal is emitted just before columns are inserted into the model. More... | |
void | columnsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn) |
This signal is emitted just before columns are moved within the model. More... | |
void | columnsAboutToBeRemoved (const QModelIndex &parent, int first, int last) |
This signal is emitted just before columns are removed from the model. More... | |
void | columnsInserted (const QModelIndex &parent, int first, int last) |
This signal is emitted after columns have been inserted into the model. More... | |
void | columnsMoved (const QModelIndex &parent, int start, int end, const QModelIndex &destination, int column) |
This signal is emitted after columns have been moved within the model. More... | |
void | columnsRemoved (const QModelIndex &parent, int first, int last) |
This signal is emitted after columns have been removed from the model. More... | |
void | dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight) |
This signal is emitted whenever the data in an existing item changes. More... | |
void | headerDataChanged (Qt::Orientation orientation, int first, int last) |
This signal is emitted whenever a header is changed. More... | |
void | layoutAboutToBeChanged () |
This signal is emitted just before the layout of a model is changed. More... | |
void | layoutChanged () |
This signal is emitted whenever the layout of items exposed by the model has changed; for example, when the model has been sorted. More... | |
void | modelAboutToBeReset () |
This signal is emitted when reset() is called, before the model's internal state (e. More... | |
void | modelReset () |
This signal is emitted when reset() is called, after the model's internal state (e. More... | |
void | rowsAboutToBeInserted (const QModelIndex &parent, int first, int last) |
This signal is emitted just before rows are inserted into the model. More... | |
void | rowsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow) |
This signal is emitted just before rows are moved within the model. More... | |
void | rowsAboutToBeRemoved (const QModelIndex &parent, int first, int last) |
This signal is emitted just before rows are removed from the model. More... | |
void | rowsInserted (const QModelIndex &parent, int first, int last) |
This signal is emitted after rows have been inserted into the model. More... | |
void | rowsMoved (const QModelIndex &parent, int start, int end, const QModelIndex &destination, int row) |
This signal is emitted after rows have been moved within the model. More... | |
void | rowsRemoved (const QModelIndex &parent, int first, int last) |
This signal is emitted after rows have been removed from the model. More... | |
Signals inherited from QObject | |
void | destroyed (QObject *=0) |
This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More... | |
Static Public Variables inherited from QObject | |
static const QMetaObject | staticMetaObject |
This variable stores the meta-object for the class. More... | |
Protected Slots inherited from QAbstractItemModel | |
void | resetInternalData () |
This slot is called just after the internal data of a model is cleared while it is being reset. More... | |
Protected Functions inherited from QAbstractListModel | |
QAbstractListModel (QAbstractItemModelPrivate &dd, QObject *parent) | |
Constructs an abstract list model with dd and the given parent. More... | |
Protected Functions inherited from QAbstractItemModel | |
void | beginInsertColumns (const QModelIndex &parent, int first, int last) |
Begins a column insertion operation. More... | |
void | beginInsertRows (const QModelIndex &parent, int first, int last) |
Begins a row insertion operation. More... | |
bool | beginMoveColumns (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationColumn) |
Begins a column move operation. More... | |
bool | beginMoveRows (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationRow) |
Begins a row move operation. More... | |
void | beginRemoveColumns (const QModelIndex &parent, int first, int last) |
Begins a column removal operation. More... | |
void | beginRemoveRows (const QModelIndex &parent, int first, int last) |
Begins a row removal operation. More... | |
void | beginResetModel () |
Begins a model reset operation. More... | |
void | changePersistentIndex (const QModelIndex &from, const QModelIndex &to) |
Changes the QPersistentModelIndex that is equal to the given from model index to the given to model index. More... | |
void | changePersistentIndexList (const QModelIndexList &from, const QModelIndexList &to) |
Changes the QPersistentModelIndexes that is equal to the indexes in the given from model index list to the given to model index list. More... | |
QModelIndex | createIndex (int row, int column, void *data=0) const |
Creates a model index for the given row and column with the internal pointer ptr. More... | |
QModelIndex | createIndex (int row, int column, int id) const |
Use QModelIndex QAbstractItemModel::createIndex(int row, int column, quint32 id) instead. More... | |
QModelIndex | createIndex (int row, int column, quint32 id) const |
Creates a model index for the given row and column with the internal identifier, id. More... | |
bool | decodeData (int row, int column, const QModelIndex &parent, QDataStream &stream) |
void | encodeData (const QModelIndexList &indexes, QDataStream &stream) const |
void | endInsertColumns () |
Ends a column insertion operation. More... | |
void | endInsertRows () |
Ends a row insertion operation. More... | |
void | endMoveColumns () |
Ends a column move operation. More... | |
void | endMoveRows () |
Ends a row move operation. More... | |
void | endRemoveColumns () |
Ends a column removal operation. More... | |
void | endRemoveRows () |
Ends a row removal operation. More... | |
void | endResetModel () |
Completes a model reset operation. More... | |
QModelIndexList | persistentIndexList () const |
Returns the list of indexes stored as persistent indexes in the model. More... | |
QAbstractItemModel (QAbstractItemModelPrivate &dd, QObject *parent=0) | |
void | reset () |
Resets the model to its original state in any attached views. More... | |
void | setRoleNames (const QHash< int, QByteArray > &roleNames) |
Sets the model's role names to roleNames. More... | |
Protected Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *) |
This event handler can be reimplemented in a subclass to receive child events. More... | |
virtual void | connectNotify (const char *signal) |
This virtual function is called when something has been connected to signal in this object. More... | |
virtual void | customEvent (QEvent *) |
This event handler can be reimplemented in a subclass to receive custom events. More... | |
virtual void | disconnectNotify (const char *signal) |
This virtual function is called when something has been disconnected from signal in this object. More... | |
QObject (QObjectPrivate &dd, QObject *parent=0) | |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. More... | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More... | |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *) |
This event handler can be reimplemented in a subclass to receive timer events for the object. More... | |
Protected Variables inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Static Protected Variables inherited from QObject | |
static const QMetaObject | staticQtMetaObject |
Related Functions inherited from QObject | |
T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QRegExp ®Exp)() |
T * | qobject_cast (QObject *object) |
QObjectList | |
void * | qt_find_obj_child (QObject *parent, const char *type, const QString &name) |
Returns a pointer to the object named name that inherits type and with a given parent. More... | |
Definition at line 80 of file qlistwidget_p.h.
QListModel::QListModel | ( | QListWidget * | parent | ) |
Definition at line 66 of file qlistwidget.cpp.
QListModel::~QListModel | ( | ) |
Definition at line 71 of file qlistwidget.cpp.
QListWidgetItem * QListModel::at | ( | int | row | ) | const |
Definition at line 89 of file qlistwidget.cpp.
Referenced by mimeData().
void QListModel::clear | ( | ) |
Definition at line 76 of file qlistwidget.cpp.
Referenced by ~QListModel().
|
virtual |
Returns the data stored under the given role for the item referred to by the index.
Implements QAbstractItemModel.
Definition at line 217 of file qlistwidget.cpp.
|
virtual |
Reimplemented Function
Reimplemented from QAbstractListModel.
Definition at line 438 of file qlistwidget.cpp.
Referenced by QListWidget::addItems().
void QListModel::ensureSorted | ( | int | column, |
Qt::SortOrder | order, | ||
int | start, | ||
int | end | ||
) |
This function assumes that all items in the model except the items that are between (inclusive) start and end are sorted. With these assumptions, this function can ensure that the model is sorted in a much more efficient way than doing a naive 'sort everything'. (provided that the range is relatively small compared to the total number of items)
Definition at line 325 of file qlistwidget.cpp.
|
virtual |
Returns the item flags for the given index.
The base class implementation returns a combination of flags that enables the item (ItemIsEnabled
) and allows it to be selected (ItemIsSelectable
).
Reimplemented from QAbstractItemModel.
Definition at line 282 of file qlistwidget.cpp.
Referenced by QListWidget::addItems().
QModelIndex QListModel::index | ( | QListWidgetItem * | item | ) | const |
Definition at line 192 of file qlistwidget.cpp.
Referenced by itemChanged().
|
virtual |
Returns the index of the data in row and column with parent.
Reimplemented from QAbstractListModel.
Definition at line 210 of file qlistwidget.cpp.
void QListModel::insert | ( | int | row, |
QListWidgetItem * | item | ||
) |
Definition at line 107 of file qlistwidget.cpp.
Referenced by insert().
void QListModel::insert | ( | int | row, |
const QStringList & | items | ||
) |
Definition at line 131 of file qlistwidget.cpp.
|
virtual |
On models that support this, inserts count rows into the model before the given row.
Items in the new row will be children of the item represented by the parent model index.
If row is 0, the rows are prepended to any existing rows in the parent.
If row is rowCount(), the rows are appended to any existing rows in the parent.
If parent has no children, a single column with count rows is inserted.
Returns true if the rows were successfully inserted; otherwise returns false.
If you implement your own model, you can reimplement this function if you want to support insertions. Alternatively, you can provide your own API for altering the data. In either case, you will need to call beginInsertRows() and endInsertRows() to notify other components that the model has changed.
Reimplemented from QAbstractItemModel.
Definition at line 245 of file qlistwidget.cpp.
QMimeData * QListModel::internalMimeData | ( | ) | const |
Definition at line 419 of file qlistwidget.cpp.
void QListModel::itemChanged | ( | QListWidgetItem * | item | ) |
Definition at line 407 of file qlistwidget.cpp.
Referenced by QListWidget::addItems().
|
virtual |
Returns a map with values for all predefined roles in the model for the item at the given index.
Reimplement this function if you want to extend the default behavior of this function to include custom roles in the map.
Reimplemented from QAbstractItemModel.
Definition at line 232 of file qlistwidget.cpp.
|
static |
Definition at line 391 of file qlistwidget.cpp.
Referenced by ensureSorted(), and sort().
|
static |
Definition at line 385 of file qlistwidget.cpp.
Referenced by ensureSorted(), and sort().
|
virtual |
Returns an object that contains serialized items of data corresponding to the list of indexes specified.
The formats used to describe the encoded data is obtained from the mimeTypes() function.
If the list of indexes is empty, or there are no supported MIME types, 0 is returned rather than a serialized empty list.
Reimplemented from QAbstractItemModel.
Definition at line 424 of file qlistwidget.cpp.
Referenced by QListWidget::addItems().
|
virtual |
Returns a list of MIME types that can be used to describe a list of model indexes.
Reimplemented from QAbstractItemModel.
Definition at line 413 of file qlistwidget.cpp.
Referenced by QListWidget::addItems().
void QListModel::move | ( | int | srcRow, |
int | dstRow | ||
) |
Definition at line 172 of file qlistwidget.cpp.
void QListModel::remove | ( | QListWidgetItem * | item | ) |
Definition at line 94 of file qlistwidget.cpp.
|
virtual |
On models that support this, removes count rows starting with the given row under parent parent from the model.
Returns true if the rows were successfully removed; otherwise returns false.
The base class implementation does nothing and returns false.
If you implement your own model, you can reimplement this function if you want to support removing. Alternatively, you can provide your own API for altering the data.
Reimplemented from QAbstractItemModel.
Definition at line 265 of file qlistwidget.cpp.
|
virtual |
Returns the number of rows under the given parent.
When the parent is valid it means that rowCount is returning the number of children of parent.
Implements QAbstractItemModel.
Definition at line 187 of file qlistwidget.cpp.
Referenced by insertRows(), and removeRows().
|
virtual |
Sets the role data for the item at index to value.
Returns true if successful; otherwise returns false.
The dataChanged() signal should be emitted if the data was successfully set.
The base class implementation returns false. This function and data() must be reimplemented for editable models.
Reimplemented from QAbstractItemModel.
Definition at line 224 of file qlistwidget.cpp.
|
virtual |
Sorts the model by column in the given order.
The base class implementation does nothing.
Reimplemented from QAbstractItemModel.
Definition at line 289 of file qlistwidget.cpp.
|
static |
Definition at line 397 of file qlistwidget.cpp.
Referenced by ensureSorted(), and insert().
|
virtual |
Returns the drop actions supported by this model.
The default implementation returns Qt::CopyAction. Reimplement this function if you wish to support additional actions. You must also reimplement the dropMimeData() function to handle the additional operations.
Reimplemented from QAbstractItemModel.
Definition at line 451 of file qlistwidget.cpp.
Referenced by QListWidget::addItems().
QListWidgetItem * QListModel::take | ( | int | row | ) |
Definition at line 159 of file qlistwidget.cpp.
|
mutableprivate |
Definition at line 137 of file qlistwidget_p.h.
Referenced by internalMimeData(), and mimeData().
|
private |
Definition at line 134 of file qlistwidget_p.h.
Referenced by QListWidget::addItems(), at(), clear(), data(), dropMimeData(), ensureSorted(), flags(), index(), insert(), insertRows(), itemData(), move(), remove(), removeRows(), rowCount(), setData(), sort(), and take().