Вы можете перебирать все файлы в каталоге с помощью boost:: filesystem и BOOST_FOREACH? Я попробовал
path dirPath = ...
int fileCount = 0;
BOOST_FOREACH(const path& filePath, dirPath)
if(is_regular_file(filePath))
++fileCount;
Этот код компилируется, запускается, но не дает желаемого результата.