set (STL/CLR)
A classe do modelo descreve um objeto que controla uma sequência de variar- comprimento de elementos que tenha acesso bidirecional. Você usa o contêiner set para gerenciar uma sequência de elementos como (quase) equilibrou a árvore ordenada de nós, cada um elemento armazenando.
Na descrição abaixo, GValue é o mesmo que GKey, que é por sua vez o mesmo que Key a menos que o último é um tipo de referência, nesse caso é Key^.
template<typename Key>
ref class set
: public
System::ICloneable,
System::Collections::IEnumerable,
System::Collections::ICollection,
System::Collections::Generic::IEnumerable<GValue>,
System::Collections::Generic::ICollection<GValue>,
System::Collections::Generic::IList<GValue>,
Microsoft::VisualC::StlClr::ITree<Gkey, GValue>
{ ..... };
Parâmetros
- Chave
O tipo de componente principal de um elemento na sequência controlada.
Membros
Definição de tipo |
Descrição |
---|---|
O tipo de um iterador de constante para a sequência controlada. |
|
O tipo de uma referência constante para um elemento. |
|
O tipo de um iterador invertido constante para a sequência controlada. |
|
O tipo de distância de possivelmente (assinado) entre dois elementos. |
|
O tipo de interface genérica para o contêiner. |
|
O tipo de um iterador para a interface genérica para o contêiner. |
|
O tipo de um iterador de cima para baixo para a interface genérica para o contêiner. |
|
O tipo de um elemento para a interface genérica para o contêiner. |
|
O tipo de um iterador para a sequência controlada. |
|
O delegado de ordenação para duas chaves. |
|
O tipo de uma chave classificação. |
|
O tipo de uma referência para um elemento. |
|
O tipo de um iterador de cima para baixo para a sequência controlada. |
|
O tipo de distância (não negativo) de entre dois elementos. |
|
O delegado de ordenação para dois valores do elemento. |
|
O tipo de um elemento. |
Função de membro |
Descrição |
---|---|
Designa o início da sequência controlada. |
|
Remove todos os elementos. |
|
Conta os elementos que correspondem a uma chave especificada. |
|
Testa se nenhum elemento estiver presente. |
|
Designa o término da sequência controlada. |
|
Encontra variam que corresponde a uma chave especificada. |
|
Remove os elementos nas posições especificadas. |
|
Localiza um elemento que corresponde a uma chave especificada. |
|
Adiciona os elementos. |
|
Copia o representante de ordenação para duas chaves. |
|
Localiza o início do intervalo que corresponde a uma chave especificada. |
|
Cria um objeto de valor. |
|
Designa o início da sequência controlada invertida. |
|
Designa o término da sequência controlada invertida. |
|
Cria um objeto contêiner. |
|
Conta o número de elementos. |
|
Alterna o conteúdo de dois contêineres. |
|
Copia a sequência controlada a uma nova matriz. |
|
Localiza de extremidade do intervalo que corresponde a uma chave especificada. |
|
Copia o representante de ordenação para dois valores do elemento. |
Operador |
Descrição |
---|---|
Substitui a sequência controlada. |
|
Determina se um objeto de set não é igual a outro objeto de set . |
|
Determina se um objeto de set é menor que outro objeto de set . |
|
Determina se um objeto de set é menor ou igual a outro objeto de set . |
|
Determina se um objeto de set é igual a outro objeto de set . |
|
Determina se um objeto de set é maior que outro objeto de set . |
|
Determina se um objeto de set é maior ou igual a outro objeto de set . |
Interfaces
Interface |
Descrição |
---|---|
Duplica um objeto. |
|
Sequência por meio dos elementos. |
|
Mantenha o grupo de elementos. |
|
Sequência por meio dos elementos digitados. |
|
Mantenha o grupo de elementos de tipo. |
|
ITreeKey<, valor> |
Mantenha o contêiner genérico. |
Comentários
O objeto aloca e libera armazenamento para a sequência que controla como nós individuais. Insere os elementos da (quase) equilibrou a árvore que mantém ordenado alterando os links entre nós, nunca copiar o conteúdo de um nó para outro. Isso significa que você pode inserir e remover os elementos livremente sem os outros elementos de perturbação.
O objeto classifica a sequência que controla chamando um objeto armazenado delegado do tipo set::key_compare (STL/CLR). Você pode especificar o objeto armazenado delegado quando você constrói o conjunto; se você não especificar um objeto de delegação, o padrão será a comparação operator<(key_type, key_type). Você acessa esse objeto armazenado chamando a função de membro set::key_comp (STL/CLR)().
Esse objeto de delegação restrita deve impor a ordenação fraco em chaves do tipo set::key_type (STL/CLR). Isso significa que, para algumas duas chaves X e Y:
key_comp()(X, Y) retorna o mesmo resultado booliano em cada chamada.
Se key_comp()(X, Y) é true, então key_comp()(Y, X) deve ser false.
Se key_comp()(X, Y) é true, então X seriam ordenado antes de Y.
Se !key_comp()(X, Y) && !key_comp()(Y, X) é true, então X e Y são ditos ter ordenação equivalente.
Para qualquer elemento X que preceder Y na sequência controlada, key_comp()(Y, X) será false. (Para o objeto padrão de delegação, as chaves nunca diminuem em valor.) Ao contrário da classe set (STL/CLR)do modelo, um objeto da classe set do modelo não exige que as chaves para todos os elementos são exclusivos. (Dois ou mais chaves podem ter ordenação equivalente.)
Cada elemento serve como um ey e um valor. A sequência é representada de forma a permitir que a pesquisa, inserir, e a remoção de um elemento com um número arbitrário de operações proporcionais ao logaritmo o número de elementos na sequência (hora logarítmicos). Além disso, inserindo um elemento não invalida iteradores, e removendo um elemento invalida apenas os iteradores que apontam no elemento removido.
Um conjunto da suporte aos iteradores bidirecionais, o que significa que você pode avançar para os elementos adjacentes um iterador dados que designa um elemento na sequência controlada. Um nó principal especial corresponde ao iterador retornado por set::end (STL/CLR)(). Você pode diminuir este iterador para alcançar o elemento o mais recente na sequência controlada, se houver. É possível incrementar um iterador ajustado para alcançar o nó principal, e comparará no igual a end(). Mas você não pode desreferenciar o iterador retornado por end().
Observe que você não pode se referir a um determinado elemento definir diretamente a posição numérica -- isso requer um iterador de acesso aleatório.
Um iterador ajustado armazena um identificador para o nó ajustado associado, por sua vez que armazena um identificador para o contêiner associado. Você pode usar iteradores apenas com seus objetos de contêiner associados. Um iterador ajustado permanece válido desde que o nó do conjunto associado é associado a um conjunto. Além disso, um iterador válido é dereferencable -- você pode usá-lo para acessar ou modificar o valor do elemento que designa -- contanto que não é igual a end().
Apagando ou removendo um elemento chama o destruidor para seu valor armazenado. Destruir o contêiner apaga todos os elementos. Assim, um contêiner cujo tipo de elemento é uma classe de referência garante que nenhum elemento é maior que o contêiner. A observe, entretanto, que manipula um contêiner faz not destrói seus elementos.
Requisitos
cliext </conjunto deCabeçalho: >
cliext deNamespace: