Pascalutils es una biblioteca de objetos para Delphi y Freepascal de estructuras de datos que implementan azúcar sintáctica similar a la de otros idiomas modernos en lo que respecta a la sintaxis.
La biblioteca se prueba para
Obtenga las fuentes y agregue el directorio de origen a la ruta de búsqueda del proyecto. Para FPC, agregue el directorio de origen al archivo fpc.cfg .
Clone The Repositorio git clone https://github.com/isemenkov/pascalutils .
Agregue la unidad que desea usar a la cláusula uses .
La clase Tany describe un contenedor a prueba de tipo para un valor único.
uses
utils.any;
type
generic TAny<T> = classLa clase de topicional representa un valor opcional: cada topional es contiene un valor o no, como en Rust Lang.
uses
utils.optional;
type
generic TOptional<T> = classMás detalles leídos en la página Wiki.
Los tipos de resultados generalmente contienen un valor devuelto o un error, y podrían proporcionar una encapsulación de primera clase del patrón común (valor, err) ubicuo en todos los programas GO.
uses
utils.result;
type
generic TResult<V, E> = classMás detalles leídos en la página Wiki.
TVoidResult contiene un tipo de bandera o tipo de error como en los idiomas GO o Rust. Es un tipo de Tresult especializado sin valor.
uses
utils.result;
type
generic TVoidResult<E> = classMás detalles leídos en la página Wiki.
La clase TDATAsize proporciona la interfaz para manipular los tamaños de datos.
uses
utils.datasize;
type
TDataSize = classMás detalles leídos en la página Wiki.
La clase TtimeInterval proporciona la interfaz para manipular los intervalos de tiempo.
uses
utils.timeinterval;
type
TTimeInterval = classMás detalles leídos en la página Wiki.
La clase TPair combina un par de valores, que pueden ser de diferentes tipos (T1 y T2). Se puede acceder a los valores individuales a través de sus miembros públicos primero y segundo, como en el lenguaje C ++.
uses
utils.pair;
type
generic TPair<T1, T2> = classMás detalles leídos en la página Wiki.
TTUPLE es un objeto capaz de contener una colección de elementos. Cada elemento puede ser de un tipo diferente, como en el lenguaje C ++.
uses
utils.tuple;
type
generic TTuple3<T1, T2, T3> = class
generic TTuple4<T1, T2, T3, T4> = class
generic TTuple5<T1, T2, T3, T4, T5> = class
generic TTuple6<T1, T2, T3, T4, T5, T6> = class
generic TTuple7<T1, T2, T3, T4, T5, T6, T7> = class
generic TTuple8<T1, T2, T3, T4, T5, T6, T7, T8> = class
generic TTuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> = class
generic TTuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> = classMás detalles leídos en la página Wiki.
TVAriant es una plantilla de clase que representa una unión a prueba de tipo. Una instancia de TVARIANT en cualquier momento tiene un valor de uno de sus tipos alternativos.
uses
utils.variant;
type
generic TVariant2<T1, T2> = class
generic TVariant3<T1, T2, T3> = class
generic TVariant4<T1, T2, T3, T4> = class
generic TVariant5<T1, T2, T3, T4, T5> = class
generic TVariant6<T1, T2, T3, T4, T5, T6> = class
generic TVariant7<T1, T2, T3, T4, T5, T6, T7> = class
generic TVariant8<T1, T2, T3, T4, T5, T6, T7, T8> = class
generic TVariant9<T1, T2, T3, T4, T5, T6, T7, T8, T9> = class
generic TVariant10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> = classMás detalles leídos en la página Wiki.
Functor es instancia de una clase con Call de función miembro definida. Esta función miembro permite que el objeto se use con la misma sintaxis que una llamada de función regular y, por lo tanto, su tipo se puede usar como parámetro de plantilla cuando se espera un tipo de función genérica.
uses
utils.functor;
type
generic TUnaryFunctor<V, R> = classMás detalles leídos en la página Wiki.
Functor es instancia de una clase con Call de función miembro definida. Esta función miembro permite que el objeto se use con la misma sintaxis que una llamada de función regular y, por lo tanto, su tipo se puede usar como parámetro de plantilla cuando se espera un tipo de función genérica.
uses
utils.functor;
type
generic TBinaryFunctor<V, R> = classMás detalles leídos en la página Wiki.
Es un functor de comparación especial que devuelve 0 (cero) todos los tiempos. Valores reales no utilizados. Este functor se puede utilizar para contenedores para valores sin clasificar.
uses
utils.functor;
type
TUnsortableFunctor =
class ( { $IFDEF FPC } specialize { $ENDIF } TBinaryFunctor<V, Integer>);Más detalles leídos en la página Wiki.
Es un functor que devuelve un valor negativo si Avalue1 debe clasificarse antes de Avalue2, un valor positivo si Avalue1 debe clasificarse después de Avalue2, cero si Avalue1 y Avalue2 son iguales.
uses
utils.functor;
type
generic TDefaultCompareFunctor<V> =
class ( { $IFDEF FPC } specialize { $ENDIF } TBinaryFunctor<V, Integer>)
public
function Call (AValue1, AValue2 : V) : Integer;
end ;Más detalles leídos en la página Wiki.
Es un functor que devuelve verdadero si Avalue1 <Avalue2.
uses
utils.functor;
type
generic TDefaultLessFunctor<V> =
class ( { $IFDEF FPC } specialize { $ENDIF } TBinaryFunctor<V, Boolean>);Más detalles leídos en la página Wiki.
Es un functor que devuelve verdadero si Avalue1> Avalue2.
uses
utils.functor;
type
generic TDefaultGreaterFunctor<V> =
class ( { $IFDEF FPC } specialize { $ENDIF } TBinaryFunctor<V, Boolean>);Más detalles leídos en la página Wiki.
Es un functor que devuelve verdadero si Avalue1 = Avalue2.
uses
utils.functor;
type
generic TDefaultEqualFunctor<V> =
class ( { $IFDEF FPC } specialize { $ENDIF } TBinaryFunctor<V, Boolean>);Más detalles leídos en la página Wiki.
Es un functor que devuelve un valor negativo si la tecla de par 1 debe ordenarse antes de la tecla Par 2, un valor positivo si la tecla de par 1 debe ordenarse después de la tecla de par 2, cero si la tecla de par 1 y la tecla de par 2 son iguales.
uses
utils.functor, utils.pair;
uses
generic TDefaultPairKeyCompareFunctor<K, V> =
class ( { $IFDEF FPC } specialize { $ENDIF } TBinaryFunctor
< { $IFDEF FPC } specialize { $ENDIF } TPair<K, V>, Integer>)Más detalles leídos en la página Wiki.
API.CSTRING es un envoltorio alrededor del idioma del lenguaje C API CString char * Valor.
uses
utils.api.cstring;
type
API = class
type
CString = class
end ;Más detalles leídos en la página Wiki.
TarrayErrorsStack es una pila genérica sobre la matriz de T que contiene códigos de errores.
uses
utils.errorsstack;
type
generic TArrayErrorsStack<T> = classMás detalles leídos en la página Wiki.
TlisterRorsStack es una pila genérica sobre la lista de clases T que contienen códigos de errores.
uses
utils.errorsstack;
type
generic TListErrorsStack<T> = classMás detalles leídos en la página Wiki.
TFORWERTERITER es una clase base para iteradores de dirección avanzada personalizada.
uses
utils.enumerate;
type
generic TForwardIterator<V, Iterator> = classMás detalles leídos en la página Wiki.
TbidirectionAliterator es una clase base para iteradores personalizados hacia adelante y hacia atrás.
uses
utils.enumerate;
type
generic TBidirectionalIterator<V, Iterator> = classMás detalles leídos en la página Wiki.
La clase Tenumerator agrega contador a un iterable objetos lo que ha iterador basado en tforwardIterator o tbidirectionAliterator y lo devuelve (el objeto enumerado) como en un idioma de Python.
uses
utils.enumerate;
type
generic TEnumerator<V, Iterator> = classMás detalles leídos en la página Wiki.
La clase TFilterenumerator proporciona un enumerador de filtrado por UnaryFuntor.
uses
utils.enumerate, utils.functor;
type
generic TFilterEnumerator<V, Iterator, Functor> = classFunctor se basa en utils.funtor.tunaryFuntor Interface y se usa para filtrar el valor del elemento.
Más detalles leídos en la página Wiki.
Taccumule valores acumulados utilizando funciones binarias (especificadas a través del argumento del functor).
uses
utils.functional, utils.functor;
type
generic TAccumulate<V, Iterator, Functor> = classFunctor se basa en utils.functor.tbinaryFunctor Interface y se usa para acumular el valor del resultado.
Más detalles leídos en la página Wiki.
TMAP aplicando el functor dado a cada elemento de un objeto iterable dado).
uses
utils.functional, utils.functor;
type
generic TMap<V, Iterator, Functor> = classFunctor se basa en Utils.functor.TunaryFuntor Interface y se usa para modificar el valor del elemento.
Más detalles leídos en la página Wiki.