+/**
+@defgroup ctfirstream CTF IR stream
+@ingroup ctfir
+@brief CTF IR stream.
+
+@note
+See \ref ctfirwriterstream which documents additional CTF IR stream
+functions exclusive to the CTF IR writer mode.
+
+A CTF IR <strong><em>stream</em></strong> is an instance of a
+\link ctfirstreamclass CTF IR stream class\endlink.
+
+You can obtain a CTF IR stream object in two different modes:
+
+- <strong>Normal mode</strong>: use bt_ctf_stream_create() with a stream
+ class having a \link ctfirtraceclass CTF IR trace class\endlink parent
+ \em not created by a \link ctfirwriter CTF IR writer\endlink object to
+ create a default stream.
+- <strong>CTF IR writer mode</strong>: use bt_ctf_stream_create() with
+ a stream class having a trace class parent created by a CTF IR writer
+ object, or use bt_ctf_writer_create_stream().
+
+A CTF IR stream object represents a CTF stream, that is, a sequence of
+packets containing events:
+
+@imgtracestructure
+
+A CTF IR stream does not contain, however, actual \link ctfirpacket CTF
+IR packet\endlink objects: it only acts as a common parent to identify
+the original CTF stream of packet objects.
+
+As with any Babeltrace object, CTF IR stream objects have
+<a href="https://en.wikipedia.org/wiki/Reference_counting">reference
+counts</a>. See \ref refs to learn more about the reference counting
+management of Babeltrace objects.
+
+@sa ctfirstreamclass
+@sa ctfirpacket
+@sa ctfirwriterstream
+
+@file
+@brief CTF IR stream type and functions.
+@sa ctfirstream
+
+@addtogroup ctfirstream
+@{
+*/
+