PFL Base Classes

Wednesday, 21 October 2026 13:47 UTC

This is a hierarchical list of the classes provided by the PFL base library.

  • PFL_Obj

    The top level abstract class. Contains the object's type and reference count.

    • PFL_Container

      An abstract general-purpose container.

      • PFL_List

        An abstract List providing functions common to all lists, such as get_size()

        • PFL_Array

          An automatically resizable array of objects.

          • PFL_RC_Ctx

            A list of PFL_RC_Log items acting as a stack trace.

          • PFL_Rec

            A representation of a serialisable object state.

        • PFL_Link_List

          A doubly linked list, stack or queue.

      • PFL_Map

        A hash map.

        • PFL_Link_Map

          An ordered hash map.

      • PFL_Map_Entry

        A key / value entry in a hash map.

        • PFL_Link_Map_Entry

          A key / value entry in an ordered hash map.

    • PFL_Key

      An abstract class for objects which can be used as keys in a hash map.

      • PFL_Bool

        An abstract class representing a boolean. Subclassed by PFL_True and PFL_False.

        • PFL_True

          A single instance object representing a boolean True value. Hashes to 2. PFL_TRUE_INST.

        • PFL_False

          A single instance object representing a boolean False value. Hashes to 1. PFL_FALSE_INST.

      • PFL_Null

        A single instance object representing a null value. Hashes to 0. PFL_NULL_INST.

      • PFL_Str

        A UTF8 String class.

      • PFL_Numeric

        An abstract numeric class.

        • PFL_Int8

          An 8-bit integer.

        • PFL_Int32

          A 32-bit integer.

        • PFL_Int64

          A 64-bit integer.

          • PFL_Time

            Time in milliseconds since 1970-01-01 GMT.

        • PFL_Float

          A double sized floating point value.

        • PFL_Dec

          A decimal numeric value.

    • PFL_Chr

      A unicode character encoder / decoder for UTF8 encodings.

      • PFL_Chr16be

        A unicode character encoder / decoder for UTF16 Big Endian encodings.

      • PFL_Chr16le

        A unicode character encoder / decoder for UTF16 Little Endian encodings.

      • PFL_Chr32be

        A unicode character encoder / decoder for UTF32 Big Endian encodings.

      • PFL_Chr32le

        A unicode character encoder / decoder for UTF32 Little Endian encodings.

    • PFL_Stream

      An abstract file-like data stream.

      • PFL_File

        A file class.

    • PFL_RC_Log

      A representation of an error or exceptional condition encountered during processing.

    • PFL_Ptr

      A wrapper for a void pointer. Allows any pointer to be treated as a PFL_Obj.

    • PFL_File_Ptr

      A wrapper for a C file pointer. Allows automatic fclose when the object is terminated.

    • PFL_Fn_Ptr

      A wrapper for a C function pointer.

    • PFL_Run_Fn

      A function pointer and data context combined.

    • PFL_Data

      An arbitrary data structure container.

    • PFL_Mem

      A binary data byte array.

    • PFL_Buffer

      A buffer for stream data.

    • PFL_Iterator

      A controller for iterating over objects that implement the iterable interface.

    • PFL_Weak_Ref

      A wrapper for an object which does not increment its reference count.

    • PFL_Clock

      A Date / Time representation.

    • PFL_Clock_Format

      A description of the string formatting for a PFL_Clock.