Конкретные конструкции, для которых VMD имеет функциональность, можно разделить на следующие категории:
- Пустота
- Идентификаторы
- Числа
- Типы
- Увеличить типы данных PP (массив, список, seq и tuple)
- Последовательности
- Дополнительные вспомогательные вариадные макросы
Первые шесть категорий определяют типы данных, которые VMD может анализировать. В последней категории представлены дополнительные макросы, которые окажутся полезными для макропрограммиста, использующего вариадные макросы с VMD и Boost PP.
Общее объяснение каждой из этих категорий будет следовать в соответствующем месте в документации.
Кроме того, макросы VMD для работы с вышеуказанными типами данных, которые понимает VMD, можно разделить на «специфические» и «общие» макросы.
Специфические макросы спрашивают, являются ли некоторые входные данные конкретным типом данных. Общие макросы работают с входными данными как с любым типом данных, позволяя программисту отдельно запрашивать тип данных.
Как конкретные, так и общие макросы имеют свое место, и макропрограммист может решить, что использовать для любой конкретной ситуации.