Classe :: Stl :: Recipientes

extensão perl para gerenciamento de objetos semelhantes a STL
Baixe Agora

Classe :: Stl :: Recipientes Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Mario Gaffiero
  • Site do editor:
  • http://search.cpan.org/~gaffie/

Classe :: Stl :: Recipientes Tag


Classe :: Stl :: Recipientes Descrição

Extensão Perl para gerenciamento de objetos semelhantes a STL Classe :: STL :: Containers é um Modulethat Perl fornece uma estrutura para o desenvolvimento de aplicativos Perl orientados para objetos rápidos. Consiste em uma série de classes básicas semelhantes à estrutura C ++ / STL, além de uma série de classes auxiliares que fornecem a cola para gerar funções comuns de forma transparente e permitirá que você coloque seu aplicativo Perl juntos muito rapidamente. A funcionalidade STL Fornecido com consiste em contêineres, algoritmos, utilitários e iteradores da seguinte forma: Containers Vector, Lista, Deque, Fila, Priority_Queue, Stack, Tree.iterators Iterador, BidirectionAl_iterator, Reverse_iterator, Forwer_iterator.Algorithms Encontrar, Find_if, For_Ach, Transform, Contagem, Count_if, Copiar, Copy_Cackward, Remover, Remoção_F, Remover_Copy, Remover_Copy_If, Substituir, Substituir_Fopy, Substituir_Copy_F. Melhor, Greater_Equal, Menos, Less_Equal, Compare, Bind1st, Bind2nd, Mem_Fun, PTR_FUN, PTR_FUN_BINARY, MATCHESS_IC, LOGICAL_E , Logical_or, multiplica, divide, mais, menos, módulo.synopsis Use STL; # Deque Recipiente ... Meu $ D = STL :: Deque (QW (primeiro segundo terceiro quarto)); $ D-> Push_back ($ D-> fábrica ('quinto')); $ D-> Push_front ($ D-> fábrica ('sétimo')); $ D-> pop_front (); # Remover elemento na frente. $ D-> pop_back (); # Remove elemento nas costas. stl :: for_each ($ D-> BEGIN (), $ D-> end (), ptr_fun (':: myprint')); Sub myprint {Imprimir "Dados:", @_ " ";} # Construtor de cópia ... Meu $ D_Copy = STL :: Deque ($ D); # algoritmos - Find_if () Imprimir" Elemento "segundo" foi ", STL :: Find_if ($ D-> BEGING () , $ D-> end (), stl :: bind1st (stl :: igual_to (), 'segundo'))? 'encontrado': 'não encontrado', " "; # Algoritmos - Count_if () Imprimir" Número de elementos correspondentes / O / = ", STL :: Count_if ($ D-> Begin (), $ D-> End (), STL :: Bind2nd (STL :: Correspondências (), 'O')) " "; # imprime" 2 "- segundo 'e' quarto '# algoritmos - transform () stl :: transform ($ D-> begin (), $ D-> end (), $ D2-> começar (), stl :: ptr_fun ('ucfirst')); STL :: Transform ($ D-> BEGIN (), $ D-> end (), $ D2-> begin (), $ D3-> BEGIN () , stl :: ptr_fun_binary (':: mybfun')); sub mybfun {retorne $ _ . '-'. $ _ ;} adaptadores de função - Bind1st stl :: remove_if ($ v-> begin (), $ v-> end (), stl :: bind1st (stl :: igual_to (), $ v-> back ())); # Remove elemento igual a costas () - ou seja, remova o último elemento. STL :: Remove_if ($ v-> Begin (), $ v-> End (), STL :: Bind2nd (stl :: partidas (), '^ fi')); # Remova todos os elementos que correspondem a reg-ex '^ Fi '# Lista de classificar De acordo com elementos CMP () Função $ v-> Ordenar (); # contêineres de fila - FIFO Minha $ v = STL :: fila (primeiro segundo terceiro terceiro quinto quinto)); Imprimir' Voltar: ' , $ v-> Back () -> Dados () " "# Voltar: Quinta Print 'Front:', $ v-> Front () -> Dados ()" "# Frontal: primeiro $ v-> pop (); # elemento pop primeiro em $ v-> push ($ v-> fábrica ('sexth'))," "Imprimir" Voltar: ", $ v-> Back () -> Dados ()" "# Voltar: Sexto Print 'Front:', $ v-> Front () -> Dados ()" "Frente: segundo # iteradores para (meu $ i = $ v-> Begin ();! $ I-> at_end (); ++ $ i) {print" dados: ", $ i-> p_element () - > Dados ();} # iteradores - Reverse_iterator My $ RI = STL :: REVERSE_ITEROR ($ v-> ITER ()) -> primeiro (); enquanto (! $ ri-> AT_END ()) {PRINT "dados: ", $ ri-> p_element () -> Dados (); ++ $ RI;} # Inseradores Meu $ Three2One = STL :: LIST (QW (32 1)); Meu $ Four2six = STL :: LIST (QW (45 6)); Minha lista de $ sete2nine = STL :: (QW (78 9)); Minha Lista $ Result = STL (); STL :: Copiar ($ três2One-> Begin (), $ Três2 -> final (), stl :: front_inserter (resultado $)); stl :: cópia ($ sete2nine-> begin (), $ sete2nine-> end (), stl :: back_inserter ($ resultado)); meu $ iseven = STL :: Localizar ($ Result-> Begin (), $ Result-> End (), 7); STL :: Copiar ($ Four2six-> Begin (), $ Four2six-> End (), Stl :: Inserter ($ Result, $ iseven)); # $ Result agora contém (1, 2, 3, 4, 5, 6, 7, 8, 9); # Container de vetor ... Meu $ v = STL :: Vector (QW (Primeiro segundo terceiro quarto quinto quinto)); meu $ E = $ V-> em (0); # Ponteiro de retorno para o primeiro elemento. Imprimir 'elemento-0:', $ e-> dados (), " "; # Elemento-0: primeiro $ e = $ v-> em ($ v-> tamanho () - 1); # Ponteiro de retorno para o último elemento. Imprimir 'Elemento - Último:', $ e-> dados () " "; # Element-Última: Quinta $ E = $ v-> em (2); # Ponteiro de retorno para o 3º elemento (IDX = 2). Imprimir 'elemento-2:', $ e-> dados ()," "; # Element-2: terceiro # Prioridade fila Meu $ p = stl :: Priority_Queue (); $ p-> push ($ p-> fábrica (prioridade => 10, dados => 'ten')); $ p -> Push ($ p-> fábrica (prioridade => 2, dados => 'dois')); $ p-> push ($ p-> fábrica (prioridade => 12, dados => 'doze')); $ p-> push ($ p-> fábrica (prioridade => 3, dados => 'três')); $ p-> push ($ p-> fábrica (prioridade => 11, dados => 'onze') ); $ p-> push ($ p-> fábrica (prioridade => 1, dados => 'one')); $ p-> push ($ p-> fábrica (prioridade => 1, dados => 'um -2 ')); $ p-> push ($ p-> fábrica (prioridade => 12, dados =>' doze-2 ')); $ p-> push ($ p-> fábrica (prioridade => 20 , dados => 'vinte e'), $ p-> fábrica (prioridade => 0, dados => 'zero')); imprimir "$ p-> tamanho () =", $ p-> tamanho (), " "; Imprimir" $ P-> Top (): ", $ P-> Top ()" "; $ p-> Top () -> Prioridade (7); # Alterar prioridade para o elemento superior. $ P-> Atualização (); # Atualizar necessário após a mudança de prioridade. $ P-> POP (); # Remover elemento com elemento Maior prioridade. Imprimir "$ P-> Top ():", $ P-> Top () " "; # Clone $ D contêiner em $ D1 ... meu $ D1 = $ D1 = clone (); meu $ D2 = STL :: Deque (QW (sexto sétimo oito)); # Anexar contêiner de $ D ao final de $ D2 Recipiente ... $ D2 + = $ D; # datamembers - Ajuda do Construtor de Classe ... {Pacote MyClass; Use Classe :: STL :: Classmembers (QW (Attrib1), # Classe de membros :: STL: : Classmembers :: DataMember-> Novo (nome => 'atribuído =>' 100 ', validar =>' ^ d + $ ''), # membro de dados com atributos Classe :: STL :: Classmembers :: DataMember-> NOVO (nome => 'atribuz4', default => 'med', validar => '^ (alta | med | baixo) $'),); use class :: stl :: classmembers :: construtor; # produzir classe nova () Função} Meu $ CL = MyClass-> NOVO (ATTRIB1 => 'HELLO', ATTRIB2 => 'WORLD'); Imprimir $ Cl-> Attrib1 (), "", $ Cl-> Attrib2 () " "; # 'olá mundo' $ cl-> atribuz (ucfirst ($ cl-> attrib1)); $ cl-> attrib2 (ucfirst ($ cl-> attrib2)); imprimir $ cl-> attrib1 ()," " , $ cl-> attrib2 () " "; # 'Olá mundo' $ cl-> atribuz ('avg'); # faz com que progam morram com '** função attrib2 valor falhou validação ...' Requisitos: · Perl.


Classe :: Stl :: Recipientes Software Relacionado

Vfssimple.

Uma biblioteca para acesso magicamente ao arquivo w / o transportar o método ...

138

Download