/*!\mainpage PPLib-Dokumentation
\image html resource/ppl7-icon-256x256.png
\section Einleitung
PPL steht für "Patrick's Programming Library" und ist eine Sammlung nützlicher
Funktionen und Klassen für C++-Anwendungen, geschrieben von Patrick Fedick <patrick@pfp.de>.
Sie beinhaltet Funktionen aus verschiedenen Bereichen, wie

- Datei- und Verzeichniss-Zugriff
- Strings, Arrays, Listen, Trees
- Multithreading
- Sockets (TCP, UDP)
- Verschlüsselung
- Internet
- Datenbanken
- Zeit, Datum und mathematische Funktionen
- Grafik
- Sound
- Speicherverwaltung

Die erste Version erschien bereits im Jahr 1997 und bestand fast vollständig
aus Assembler-Code für Windows. Seitdem wurde die Library mehrfach umstrukturiert und erweitert
und besteht nun zum größten Teil aus plattform-unabhängigem C und C++-Code. Unterstützt werden
folgende Systeme:

- Linux (getestet unter CentOS 6/7, Ubuntu 16.04, 18.04 in der 64-Bit-Version)
- FreeBSD (Version 10.x und 11.x in 64-Bit)
- Windows 7/10 (mit MinGW in 32- und 64-Bit)

Als Compiler wird gcc ab Version 4.4 benötigt oder clang ab Version 3.

Seit Version 6.2.0 steht die PPL-Library unter einer Open Source BSD-Lizenz und darf somit fast
uneingeschränkt auch in kommerziellen oder "closed source" Programmen verwendet werden. Die
genauen Lizenzbestimmungen sind \ref pplPageLicense "hier" zu finden.

\section Inhalt

- \subpage Installation
- \subpage ppl7_usage "Verwendung"
- \subpage PPLGroupDataTypes "Die speziellen Datentypen von PPLib"
- \subpage ppl7 "PPL7 Namespace"
- <a class="el" href="classes.html">Die Klassen</a>
- <a class="el" href="modules.html">Übersicht der Module</a>
	- \subpage PPL7_Features
    - \subpage Errors
    - \subpage PPLGroupThreads
    - \subpage PPLGroupMemory
    - \subpage PPLGroupMath
    - \subpage PPLGroupDateTime
    - \subpage PPLGroupStrings
    - \subpage PPLGroupFileIO
    - \subpage PPLGroupGrafik
    - \subpage PPLGroupToolkit
    - \subpage PPLGroupSound
    - \subpage PPLGroupInternet
    - \subpage PPLGroupDatabases
    - \subpage PPL7_CRYPT
    - \subpage PPL7_COMPRESSION
    
    
- Sonstiges
  - \subpage unittests
  - \subpage Dateiformate
  - \subpage formatstring
  - \subpage todo
  - \subpage deprecated
  
  
- \subpage PPLHistory
- \subpage pplPageCredits
- \subpage pplPageLicense


\image html resource/ppl7-icon-48x48.png
*/

/*!\page pplPageLicense Copyright
PPL7 steht unter der "2-Klausel BSD Lizenz". BSD-Lizenz bezeichnet eine Gruppe von Lizenzen aus
dem Open-Source-Bereich. Der Urtyp der Lizenz stammt von der University of California,
Berkeley, worauf das Akronym BSD hinweist: Berkeley Software Distribution.

Software unter BSD-Lizenz darf frei verwendet werden. Es ist erlaubt, sie zu kopieren,
zu verändern und zu verbreiten. Einzige Bedingung ist, dass der Copyright-Vermerk des
ursprünglichen Programms nicht entfernt werden darf. Somit eignet sich unter einer BSD-Lizenz
stehende Software auch als Vorlage für kommerzielle (teilproprietäre) Produkte, wie es
beispielsweise bei „JunOS“ der Fall ist, dem Router-Betriebssystem der Firma Juniper Networks.

Dieses Lizenzmodell unterscheidet sich von der GNU General Public License (GPL) darin,
dass es kein Copyleft enthält: Ein Programmierer, der ein unter einer BSD-Lizenz
veröffentlichtes Programm verändert und dann verbreitet, ist nicht verpflichtet,
den Quellcode seines veränderten Programms mitzuveröffentlichen. Er ist aber verpflichtet,
das Ergebnis seiner Änderungen wiederum unter der BSD-Lizenz zu veröffentlichen.

(Quelle: http://de.wikipedia.org/wiki/BSD-Lizenz)

Der Wortlaut der Lizenz lautet folgendermassen:

\include LICENSE.TXT

Übersetzung:
\code
  Copyright (c) 2013, Patrick Fedick <patrick@pfp.de>
  All rights reserved.
 
  Weiterverbreitung und Verwendung in nichtkompilierter oder kompilierter Form,
  mit oder ohne Veränderung, sind unter den folgenden Bedingungen zulässig:

*      * Weiterverbreitete nichtkompilierte Exemplare müssen das obige Copyright,
        die Liste der Bedingungen und den folgenden Haftungsausschluss im Quelltext
        enthalten.
*      * Weder der Name des Copyright-Inhabers noch die Namen der Beitragsleistenden
        dürfen zum Kennzeichnen oder Bewerben von Produkten, die von dieser
        Software abgeleitet wurden, ohne spezielle vorherige schriftliche
        Genehmigung verwendet werden.

  DIESE SOFTWARE WIRD VOM COPYRIGHT INHABER UND DEN BEITRAGSLEISTENDEN OHNE
  JEGLICHE SPEZIELLE ODER IMPLIZIERTE GARANTIEN ZUR VERFÜGUNG GESTELLT, DIE
  UNTER ANDEREM EINSCHLIESSEN: DIE IMPLIZIERTE GARANTIE DER VERWENDBARKEIT DER
  SOFTWARE FÜR EINEN BESTIMMTEN ZWECK. AUF KEINEN FALL SIND DER COPYRIGHT
  INHABER ODER DIE BEITRAGSLEISTENDEN FÜR IRGENDWELCHE DIREKTEN, INDIREKTEN,
  ZUFÄLLIGEN, SPEZIELLEN, BEISPIELHAFTEN ODER FOLGENDEN SCHÄDEN (UNTER ANDEREM
  VERSCHAFFEN VON ERSATZGÜTERN ODER -DIENSTLEISTUNGEN; EINSCHRÄNKUNG DER
  NUTZUNGSFÄHIGKEIT; VERLUST VON NUTZUNGSFÄHIGKEIT; DATEN; PROFIT ODER
  GESCHÄFTSUNTERBRECHUNG), WIE AUCH IMMER VERURSACHT UND UNTER WELCHER
  VERPFLICHTUNG AUCH IMMER, OB IN VERTRAG, STRIKTER VERPFLICHTUNG ODER
  UNERLAUBTE HANDLUNG (INKLUSIVE FAHRLÄSSIGKEIT) VERANTWORTLICH, AUF WELCHE
  WEG SIE AUCH IMMER DURCH DIE BENUTZUNG DIESER SOFTWARE ENTSTANDEN SIND,
  SOGAR, WENN SIE AUF DIE MÖGLICHKEIT EINES SOLCHEN SCHADENS HINGEWIESEN
  WORDEN SIND.
\endcode
(Quelle der Übersetzung: http://de.wikipedia.org/wiki/BSD-Lizenz)
*/

/*!
\namespace ppl7
\brief Der Namensraum der PPLib-Library

ppl7 ist der Namensraum für alle in der PPLib-Library Version 7 enthaltenen Funktionen und Klassen.
*/

/*!\namespace ppl7::grafix
\ingroup PPLGroupGrafik
\brief Namensraum der Grafik-Funktionen

Im Namespace ppl7::grafix sind alle Grafikfunktionen der Library enthalten.
*/

/*!\namespace ppl7::tk
\ingroup PPLGroupGrafik
\brief Namensraum des Grafik-Toolkits

In diesem Namespace sind die Klassen des Toolkits enthalten, mit denen eine Benutzeroberfläche
erstellt werden kann.
*/ 
