/*!

\page tlv_desc	TLV: Описание

TLV (Tag, Length, Value) -- это способ оформления двоичного
представления объектов. Каждый объект представляется в виде
триплета <Идентификатор (Tag), Длина (Length), Значение
(Value)>, что можно описать в виде псевдо-C++:

\code
template< class Tag_type, class Length_type >
struct tlv_t
{
	Tag_type	m_tag;
	Length_type	m_length;
	char	m_value[ m_length ];
};
\endcode

Например, строка "Hello", может быть представлена в виде
следующей двойчной последовательности (для Tag и Length
используются 8-битовые значения):

\verbatim
01 06 48 65 6C 6C 6F
\endverbatim

Что расшифровывается следующим образом:

\verbatim
01 - Идентификатор
	06 - Длина строки Hello
		48 - H
		65 - e
		6C - l
		6C - l
		6F - o
\endverbatim

Особенно удобен TLV для представления структур, полями которых
так же являются структуры или принадлежат другим сложным типам
(векторам, спискам, строкам переменной длины и т.п.). Каждому
полю присваивается уникальный идентификатор. Благодоря
уникальной идентификации поля могут следовать в двоичном потоке
в любом порядке или даже отсутствовать -- при разборе по
идентификатору легко определить, что нужно расшифровывать.

*/
