After Getting started you may want to explore:
- Functionality summary — full list of PIP modules and classes (containers, I/O, threading, math, state machine, etc.).
- Configuration from file — reading and writing configuration with PIConfig (files, dotted paths, INI-style sections).
- Code generation — code generation: metadata, serialization operators, PIMETA,
pip_cmg and CMake integration.
- Input/Output stream — binary streams (PIBinaryStream, PIByteArray), operators and PIMemoryBlock.
- Chunk stream and versioned serialization — versioned serialization with PIChunkStream (chunks by id, backward compatibility).
- State machine — state machine concepts, states, transitions, conditions, PIStateMachine.
- Complex I/O (PIConnection) — complex I/O: PIConnection, device pool, filters, senders, diagnostics.
- TCP client-server — TCP server and client (PIClientServer::Server, PIClientServer::Client).
- Tiling console (PIScreen) — tiling console PIScreen, tiles, widgets (list, button, progress, input, etc.).
- Application-level tools — application-level: PICLI, PILog, PISystemMonitor, PISingleApplication, PITranslator.
- Multithreading — multithreading: PIThread, PITimer, synchronization, executor, blocking queue.
- Examples — index of sample code in doc/examples.
Events and handlers are documented on the PIObject reference page (Events and Event handlers).
- Threading and events
Many PIP classes inherit PIObject and use events: handlers can be invoked directly or queued. When events are queued (e.g. from another thread), they are dispatched in the object's thread; call callQueuedEvents() or maybeCallQueuedEvents() to drain the queue. PIThread can act as the performer for such objects. See Events and Event handlers and PIThread.
- Introspection
With PIP_INTROSPECTION defined at build time, the introspection module provides macros and APIs to traverse objects and containers at runtime (e.g. for debugging or serialization). Build PIP with this option and link the introspection library; see the introspection headers in piintrospection_base.h and related files.
- GPU / OpenCL
The OpenCL module wraps OpenCL for buffers and programs. See piopencl.h for the public API. Behavior and limitations may depend on the implementation; check the header and backend when integrating.