@@ -117,13 +117,11 @@ namespace graphlab {
117117 // A class of edge information. Used as value type of the edge_list.
118118 class edge_type {
119119 public:
120- enum edge_dir{OUTEDGE , INEDGE , NONE };
121- public:
122- edge_type () : _source(-1 ), _target(-1 ), _edge_id(-1 ), _dir(NONE ), _empty(true ) { }
120+ edge_type () : _source(-1 ), _target(-1 ), _edge_id(-1 ), _dir(NO_EDGES ), _empty(true ) { }
123121 edge_type (const vertex_id_type _source, const vertex_id_type _target,
124- const edge_id_type _eid, edge_dir _dir) :
122+ const edge_id_type _eid, edge_dir_type _dir) :
125123 _source (_source), _target(_target), _edge_id(_eid), _dir(_dir), _empty(false ) {
126- if (_dir != OUT_EDGE ) std::swap (_source, _target);
124+ if (_dir != OUT_EDGES ) std::swap (this -> _source , this -> _target );
127125 }
128126 public:
129127 inline vertex_id_type source () const {
@@ -134,7 +132,7 @@ namespace graphlab {
134132 return _target;
135133 }
136134
137- inline edge_dir get_dir () const {
135+ inline edge_dir_type get_dir () const {
138136 return _dir;
139137 }
140138
@@ -144,7 +142,7 @@ namespace graphlab {
144142 vertex_id_type _source;
145143 vertex_id_type _target;
146144 edge_id_type _edge_id;
147- edge_dir _dir;
145+ edge_dir_type _dir;
148146 bool _empty;
149147
150148
@@ -160,13 +158,12 @@ namespace graphlab {
160158 typedef edge_type* pointer;
161159 typedef edge_type reference;
162160
163- typedef typename edge_type::edge_dir iterator_type;
164161 public:
165162 // Cosntructors
166163 edge_iterator () : offset(-1 ), empty(true ) { }
167164
168165 edge_iterator (vertex_id_type _center, size_t _offset,
169- iterator_type _itype, const edge_id_type* _vid_arr) :
166+ edge_dir_type _itype, const edge_id_type* _vid_arr) :
170167 center (_center), offset(_offset), itype(_itype), vid_arr(_vid_arr),
171168 empty (false ) { }
172169
@@ -227,7 +224,7 @@ namespace graphlab {
227224 private:
228225 vertex_id_type center;
229226 size_t offset;
230- iterator_type itype;
227+ edge_dir_type itype;
231228 const edge_id_type* vid_arr;
232229 bool empty;
233230 }; // end of class edge_iterator.
@@ -324,14 +321,14 @@ namespace graphlab {
324321
325322 edge_data_type& edge_data (edge_type edge) {
326323 ASSERT_FALSE (edge.empty ());
327- return edge_data_list[edge.get_dir () == edge_type:: OUTEDGE ?
324+ return edge_data_list[edge.get_dir () == OUT_EDGES ?
328325 edge._edge_id :
329326 c2r_map[edge._edge_id ]];
330327 }
331328
332329 const edge_data_type& edge_data (edge_type edge) const {
333330 ASSERT_FALSE (edge.empty ());
334- return edge_data_list[edge.get_dir () == edge_type:: OUTEDGE ?
331+ return edge_data_list[edge.get_dir () == OUT_EDGES ?
335332 edge._edge_id :
336333 c2r_map[edge._edge_id ]];
337334 }
@@ -345,10 +342,7 @@ namespace graphlab {
345342 std::pair<bool , edge_range_type> rangePair = inEdgeRange (v);
346343 if (rangePair.first ) {
347344 edge_range_type range = rangePair.second ;
348-
349- typedef typename edge_type::edge_dir edge_dir;
350-
351- edge_dir dir = edge_type::INEDGE ;
345+ edge_dir_type dir = IN_EDGES ;
352346
353347 edge_iterator begin (v, range.first , dir, &(CSC_src[0 ]));
354348
@@ -368,8 +362,8 @@ namespace graphlab {
368362 std::pair<bool , edge_range_type> rangePair = outEdgeRange (v);
369363 if (rangePair.first ) {
370364 edge_range_type range = rangePair.second ;
371- edge_iterator begin (v, range.first , edge_type:: OUTEDGE , &(CSR_dst[0 ]));
372- edge_iterator end (v, range.second +1 , edge_type:: OUTEDGE , &(CSR_dst[0 ]));
365+ edge_iterator begin (v, range.first , OUT_EDGES , &(CSR_dst[0 ]));
366+ edge_iterator end (v, range.second +1 , OUT_EDGES , &(CSR_dst[0 ]));
373367 // std::cout << "out range (" << range.first << "," <<
374368 // range.second << ")" << std::endl; std::cout << "out_edge
375369 // size: " << end-begin << std::endl;
@@ -401,7 +395,7 @@ namespace graphlab {
401395 if (efind >= num_edges) {
402396 return edge_type ();
403397 } else {
404- return edge_type (dst, src, efind, edge_type:: INEDGE );
398+ return edge_type (dst, src, efind, IN_EDGES );
405399 }
406400 } else {
407401 // In edge candidate size is smaller, search CSR.
@@ -410,7 +404,7 @@ namespace graphlab {
410404 if (efind >= num_edges) {
411405 return edge_type ();
412406 } else {
413- return edge_type (src, dst, efind, edge_type:: OUTEDGE );
407+ return edge_type (src, dst, efind, OUT_EDGES );
414408 }
415409 }
416410 } else {
0 commit comments