Description
... = переменные параметры.
Требуется первый вариадный параметр и последовательность, тип которой мы получаем.
Необязательные вариадные параметры являются параметрами возвратного типа.
Макрос возвращает тип последовательности как тип VMD. Тип пустой последовательности всегда BOOST_VMD_TYPE_EMPTY Тип мультиэлемента всегда BOOST_VMD_TYPE_SEQUENCE. Тип одноэлементной последовательности является типом этого одного элемента.
Возвращаемый тип может быть изменен путем указания дополнительного параметра возвращаемого типа.
Если BOOST_VMD_RETURN_TYPE, по умолчанию, указывается конкретный тип элемента, который возвращается.
Если BOOST_VMD_RETURN_TYPE_ARRAY указан, тип массива возвращается, если элемент является массивом, или тип кортежа возвращается, если элемент является кортежем, или фактический тип возвращается для некортежных данных.
Если BOOST_VMD_RETURN_TYPE_LIST указан, тип списка возвращается, если элемент является списком, в противном случае тип кортежа возвращается, если элемент является кортежем, в противном случае фактический тип возвращается для некортежных данных.
Если BOOST_VMD_RETURN_TYPE_TUPLE указан, то для всех данных, подобных этим данным, возвращается тип кортежа, а для данных, не относящихся к кортежу.
Если BOOST_VMD_RETURN_NO_TYPE указан, он игнорируется, поскольку макрос всегда возвращает тип последовательности.
Если указано более одного необязательного параметра типа возврата, последний из указанных параметров определяет тип возврата.
Возврат = тип последовательности как тип VMD.