; Lib Vector 2
; Compatible PB 4.xx
; Fichier d'aide fourni, mais en anglais.
; -------------------------------
; | Lib Vector (version 2.1) |
; -------------------------------
;- Liste des fonctions disponibles
Vector_Init()
Vector_End()
Vector_IsInitialized(*vector.Vector)
Vector_Lock(*vector.Vector)
Vector_UnLock(*vector.Vector)
Vector_Count(*vector.Vector)
Vector_Index(*vector.Vector)
Vector_FreeFromPointer(*ptr.Long)
Vector_Free(*vector.Vector)
Vector_FirstElement(*vector.Vector)
Vector_Reset(*vector.Vector)
Vector_SetCaseSensitiveState(*vector.Vector, state.l)
Vector_GetLastElement(*vector.Vector)
Vector_LastElement(*vector.Vector)
Vector_NextElement(*vector.Vector)
Vector_PreviousElement(*vector.Vector)
Vector_SelectElement(*vector.Vector, index.l)
Vector_SelectElement2(*vector.Vector, index.l, Fail.l)
Vector_Get(*vector.Vector, [index.l, [Fail.l]])
Vector_Set(*vector.Vector, [*Object, [index.l]])
Vector_SwapElements(*vector.Vector, Index1.l, Index2.l)
Vector_SetComparator(*vector.Vector, *function)
Vector_First(*vector.Vector)
Vector_SetConstructor(*vector.Vector, *function)
Vector_FreeGarbageCollector()
Vector_SetDestructor(*vector.Vector, *function)
Vector_GetComparator(*vector.Vector)
Vector_CreateFromComplexStructure(*Constructor, [*Destructor, [*Comparator]])
Vector_CreateFromSimpleStructure(Size.l, [*Comparator])
Vector_Create(Type)
Vector_Clear(*vector.Vector)
Vector_GetFirstElement(*vector.Vector)
Vector_GetCurrentElement(*vector.Vector)
Vector_GetComparatorFunction(*vector.Vector)
Vector_AddElement(*vector.Vector, [*Object, [index.l]])
Vector_Combine(*destination.Vector, *source.Vector)
Vector_Copy(*original.Vector)
Vector_Randomize(*vector.Vector)
Vector_SortOnRange(*vector.Vector, debut.l, fin.l, Options.l)
Vector_Sort(*vector.Vector, [Options.l])
Vector_SortOnRange(*vector.Vector, debut.l, fin.l)
Vector_Search(*vector.Vector, *element, [*index.Long])
Vector_DeleteElement(*vector.Vector, [index.l])
Vector_Exclude(*source.Vector, *mask.Vector)
Vector_ScanDirectory(Directory$, [Options.l, [extensions$, [KeepAllPath.l]]])
Vector_Sort_FileInfos(*vector.Vector, SortMode.l = #Vector_Sort_Name_Upward)
Vector_ScanDirectoryAdvanced(Directory$, [Options.l, [extensions$, [SortMode.l]]])
Vector_Explode(String$, Separator$)
Vector_Implode(*vector.Vector, Separator$)
Vector_LoadByteFile(FileName$)
Vector_LoadWordFile(FileName$)
Vector_LoadLongFile(FileName$)
Vector_LoadStringFile(FileName$, [KeepEmptyLine])
Vector_LoadQuadFile(FileName$)
Vector_LoadFloatFile(FileName$)
Vector_LoadDoubleFile(FileName$)
Vector_SaveFile(FileName$, *vector.Vector, [FileFormat.l])
Vector_Parse(*vector.Vector, spacer$ = #Null$, number.b = #Null)
Vector_GetIndex(*vector.Vector)
; soit 59 fonctions
;- Le principe
; Lorsque l'on crée un Vector, il faut lui spécifier un constructeur et un destructeur (les types de PB par défaut sont déjà gérés, il suffit d'utiliser les constantes #String, #Long...)
; Ces constructeurs doivent renvoyer un pointeurs sur une structure. Les destructeurs faire tous les FreeMemory nécessaires (dont celui sur la structure elle-même) -- (mais pour le ptr sur la structure ça sera peut-être changé).
;
; Ensuite, lors de l'ajout d'un élément, il ne suffira plus que de passer un pointeur sur l'objet et le constructeur déclaré se chargera donc de faire tous les AllocateMemory et les recopies de données nécessaires.
;
; De nombreuses fonctions existent déjà : Ajout, Sort, Recherche, Copie, Swap d'élément, Combinaison (ajout du contenu d'un Vector à un autre).
; Beaucoup d'autres arriveront plus tard, notamment sur les chaînes de caractères...