Одна последовательность элементов — это то, о чем мы обычно думаем при работе с макроданными. Это один тип макроданных, передаваемых в качестве входного параметра на некоторый макро и обрабатываемых как таковые.
В своей основной форме без модификаторов BOOST_VMD_ELEM служит для простого возврата определенного элемента последовательности. Для одноэлементной последовательности BOOST_VMD_ELEM с номером элемента 0 просто возвращает саму одноэлементную последовательность. Это не обеспечивает большой функциональности для нашей простой последовательности. Однако с помощью модификаторов мы можем делать вещи в общем с нашей одноэлементной последовательностью, которая соответствует работе с одним типом данных и извлечению информации о нем.
С модификатором типа возврата мы можем получить тип данных вместе с данными. Конечно, мы также можем использовать BOOST_VMD_GET_TYPE для извлечения только типа данных.
С помощью модификатора фильтра мы можем получить данные только в том случае, если они относятся к определенному типу, в противном случае мы получим пустоту.
С модификатором идентификатора мы можем получить идентификатор только в том случае, если он совпадает с одним или несколькими другими идентификаторами, иначе получить пустоту.
С помощью модификатора индекса мы можем получить как наш идентификатор, так и его цифровой индекс, если он соответствует одному или нескольким другим идентификаторам, а также получить набор из двух пустых элементов, если совпадение не найдено.