Библиотека использует мелкозернистую структуру заголовка с одним заголовком на публичный компонент (шаблон класса / функции), причем заголовок назван в честь компонента. Например, boost::mpl::apply определяется в заголовке . Эта схема гарантирует, что мы не платим за то, что мы не используем с точки зрения времени компиляции и зависимостей заголовка, и освобождает нас от запоминания отношений между данным заголовком и компонентами, которые он предоставляет. Для сущностей, которые, вероятно, будут использоваться вместе, таких как арифметические метафункции (plus, minus, times и др.), библиотека также предоставляет в качестве удобства композитные заголовки с соответствующим названием ().