/**
@mainpage TSDuck Library for C++

TSDuck is a toolkit which manipulates MPEG Transport Streams (TS).
<br>

As a product, TSDuck provides many different command-line tools and plugins.
Internally, the architecture of TSDuck is made of a large shareable
library (@c tsduck.dll on Windows, @c libtsduck.so on Linux and BSD systems,
@c libtsduck.dylib on macOS).
Most of the valuable processing is performed by the various C++ classes
from the TSDuck library. All command-line tools and plugins are usually
small wrappers around this library.

The TSDuck library offers generic C++ classes for operating systems features
as well as specialized classes for MPEG/DVB transport streams. This library
can be used as a general-purpose C++ library for third-party applications,
outside the TSDuck tools and plugins.

The diagram below illustrates the TSDuck software architecture.

@image html tsduck-soft-arch.png "TSDuck software architecture"

This set of documentation is a reference for the TSDuck library. It can be
used either by TSDuck maintainers and developers of third-party applications.

For developers of third-party applications:
- @ref usinglibrary "Referencing the TSDuck library from your application"
- @ref libtutorial "A tutorial on the TSDuck C++ classes"
- <a href="classes.html">C++ classes in alphabetical order</a>
- <a href="modules.html">C++ classes by category</a>
- <a href="files.html">Header files</a>

For TSDuck maintainers:
- @ref building "Building TSDuck"
- @ref testing "Testing TSDuck"
- @ref devplugin "A tutorial on developing TSP plugins"
- @ref extensions "Developing TSDuck extensions"
- @ref contributing "Contributing to TSDuck"
*/
