int lrcpy(LLIST**,LLIST **)
int lwrcpy(LLIST**,LLIST **,int 
  (*fct)(LLIST **,LLIST **,void *))
  
    
      |  
 | R1 
        lrcpy( P1, P2 ) | 
  
  
     
      |  
 | R1 
        lwrcpy( P1, P2 , P3 
        ( P4,P5,P6 
        ) ) | 
  
  Ajoute tous les éléments de la liste P1 
    à la liste P2. Si 
    la liste P2 contient 
    des éléments ils seront perdus !!
    A la sortie de la fonction P1 
    = P2 en nombre d'éléments!. On 
    aura en mémoire 2 fois les mêmes éléments.
  La fonction lwrcpy rajoute chaque élément 
    de la liste P1 dans P2 
    que si la fonction P3 retourne LOK. 
    Dans ce cas c'est le programmeur qui fait la fonction de filtre pour la recopie.
 
  - En entrée :
 
  - P1 : Adresse d'un pointeur de liste.
- P2 : Adresse de l'élément.
- P3: (Pour 
    lwrcpy) Adresse de la fonction.
- P4: 
    Adresse de la liste P1.
- P5: 
    Adresse de la liste P2.
- P6: 
    Elément de la liste P1 à 
    tester.
 
  - En sortie : 
    (Voir 
    codes retour)
  - R1 :> 0 retourne le nombre d'élément 
    qui ont été ajouté à la liste P2 
    = lgrl(P1).
- R1 :L_IDT 
    P1 et P2 
    , on ne peut pas se recopier sur soit même !!.
- R1 :LNOK la taille des éléments 
    (des listes P1 et P2) 
    est différente.( Voir  P2 
    dans initlist et/ou Getlendata 
    )
 
  - Remarque :  
  - Si la liste P2 possède 
    un clés active ( lkey ) les éléments seront rajoutés 
    triés. sinon il seront dans le même ordre que dans la liste P1.
- lrcpy et lwrcpt ne changent pas la position du curseur.
Garantie:
  - lrcpy : La recopie de la liste 
    P1 
    dans la liste P2.
- lwrcpy : La recopie de tout 
    ou une partie de la liste P1 
    dans P2.
 
Voir aussi :  
  exemple  000