33 #ifndef DEF_GRAPHCHI_VERTEX_AGGREGATOR
34 #define DEF_GRAPHCHI_VERTEX_AGGREGATOR
40 #include "graphchi_types.hpp"
46 template <
typename VertexDataType>
52 template <
typename VertexDataType>
54 std::string filename = filename_vertex_data<VertexDataType>(basefilename);
55 int f = open(filename.c_str(), O_RDONLY);
57 logstream(
LOG_ERROR) <<
"Could not open file: " << filename <<
58 " error: " << strerror(errno) << std::endl;
61 size_t bufsize = 1024 * 1024;
67 for(vid_t v=fromv; v < tov; v += nbuf) {
68 size_t nelements = std::min(tov, v + nbuf) - v;
71 for(
int i=0; i < (int)nelements; i++) {
72 callback.callback(i + v, buffer[i]);
78 template <
typename VertexDataType,
typename SumType>
91 template <
typename VertexDataType,
typename SumType>
92 SumType sum_vertices(std::string base_filename, vid_t fromv, vid_t tov) {
94 foreach_vertices<VertexDataType>(base_filename, fromv, tov, sumc);