# PIP: What is PIP

What is PIP

PIP - Platform-Independent Primitives - is crossplatform library for C++ developers. It is wrap around STL and pure C++. This library can help developers write non-GUI projects much more quickly, efficiently and customizable than on pure C++. Library contains many classes, some of them are pure abstract, some classes can be used as they are, some classes should be inherited to new classes. PIP provide classes:

- direct output to console (PICout)
- containers (PIVector, PIList, PIMap, PIStack)
- byte array (PIByteArray)
- string (PIString, PIStringList)
- base object (events and handlers) (PIObject)
- thread (PIThread)
- timer (PITimer)
- console (information output) (PIConsole)
  - stand-alone
  - server
  - client
- I/O devices
  - base class (PIIODevice)
  - file (PIFile)
  - serial port (PISerial)
  - ethernet (PIEthernet)
  - USB (PIUSB)
  - packets extractor (PIPacketExtractor)
  - binary log (PIBinaryLog)
  - complex I/O point (PIConnection)
- connection quality diagnotic (PIDiagnostics)
- command-line arguments parser (PICLI)
- math evaluator (PIEvaluator)
- peering net node (PIPeer)
- process (PIProcess)
- state machine (PIStateMachine)
  Basic using of PIP described at page Getting started