Version: 2.9.4
Public Member Functions
wxSortedArrayString Class Reference

#include </home/zeitlin/src/wx/github/interface/wx/arrstr.h>

Inheritance diagram for wxSortedArrayString:

Detailed Description

wxSortedArrayString is an efficient container for storing wxString objects which always keeps the string in alphabetical order.

wxSortedArrayString uses binary search in its wxArrayString::Index() function (instead of linear search for wxArrayString::Index()) which makes it much more efficient if you add strings to the array rarely (because, of course, you have to pay for Index() efficiency by having Add() be slower) but search for them often. Several methods should not be used with sorted array (basically, all those which break the order of items) which is mentioned in their description.

Todo:
what about STL? who does it integrates?

Library:  wxBase
Category:  Containers
参照:
wxArray, wxString, wxString Overview

Public Member Functions

 wxSortedArrayString (const wxArrayString &array)
 Conversion constructor.
size_t Add (const wxString &str, size_t copies=1)
int Index (const wxString &sz, bool bCase=true, bool bFromEnd=false) const
void Insert (const wxString &str, size_t nIndex, size_t copies=1)
void Sort (bool reverseOrder=false)
void Sort (CompareFunction compareFunction)

List of all members.


Constructor & Destructor Documentation

wxSortedArrayString::wxSortedArrayString ( const wxArrayString array)

Conversion constructor.

Constructs a sorted array with the same contents as the (possibly unsorted) "array" argument.


Member Function Documentation

size_t wxSortedArrayString::Add ( const wxString str,
size_t  copies = 1 
)

Appends the given number of copies of the new item str to the array and returns the index of the first new item in the array.

参照:
Insert()
Warning:
For sorted arrays, the index of the inserted item will not be, in general, equal to GetCount() - 1 because the item is inserted at the correct position to keep the array sorted and not appended.

Reimplemented from wxArrayString.

int wxSortedArrayString::Index ( const wxString sz,
bool  bCase = true,
bool  bFromEnd = false 
) const

Search the element in the array, starting from the beginning if bFromEnd is false or from end otherwise.

If bCase, comparison is case sensitive (default), otherwise the case is ignored.

This function uses linear search for wxArrayString. Returns index of the first item matched or wxNOT_FOUND if there is no match.

This function uses binary search for wxSortedArrayString, but it ignores the bCase and bFromEnd parameters.

Reimplemented from wxArrayString.

void wxSortedArrayString::Insert ( const wxString str,
size_t  nIndex,
size_t  copies = 1 
)
Warning:
This function should not be used with sorted arrays because it could break the order of items and, for example, subsequent calls to Index() would then not work!
In STL mode, Insert is private and simply invokes wxFAIL_MSG.
void wxSortedArrayString::Sort ( bool  reverseOrder = false)
Warning:
This function should not be used with sorted array because it could break the order of items and, for example, subsequent calls to Index() would then not work! Also, sorting a wxSortedArrayString doesn't make sense because its elements are always already sorted.
In STL mode, Sort is private and simply invokes wxFAIL_MSG.

Reimplemented from wxArrayString.

void wxSortedArrayString::Sort ( CompareFunction  compareFunction)
Warning:
This function should not be used with sorted array because it could break the order of items and, for example, subsequent calls to Index() would then not work! Also, sorting a wxSortedArrayString doesn't make sense because its elements are always already sorted.
In STL mode, Sort is private and simply invokes wxFAIL_MSG.

Reimplemented from wxArrayString.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines