Bonjour,

Je souhaite connaitre la taille d'un répertoire, et ce, en utilisant la librairie boost qui est préconisée dans notre application.

J'ai vu un exemple intéressant... mais impossible à compiler.
(les boost::transform_iterator, c'est pas forcément trivial je trouve !).

Avez vous une idée ?

exemple :
http://cboard.cprogramming.com/linux...cplusplus.html

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <boost/cstdint.hpp>
#include <algorithm>
#include <boost/filesystem.hpp>
#include <boost/bind.hpp>
#include <boost/iterators/transform_iterator.hpp>
namespace fs = boost::filesystem;
 
boost::uintmax_t dir_size(const fs::path &p)
{
  return std::accumulate(
    boost::make_transform_iterator(&fs::file_size, fs::recursive_directory_iterator(p)),
    boost::make_transform_iterator(&fs::file_size, fs::recursive_directory_iterator()),
    static_cast<boost::uintmax_t>(0));
}