GraphLab: Distributed Graph-Parallel API
2.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
graph_basic_types.hpp
1
/**
2
* Copyright (c) 2009 Carnegie Mellon University.
3
* All rights reserved.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing,
12
* software distributed under the License is distributed on an "AS
13
* IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
* express or implied. See the License for the specific language
15
* governing permissions and limitations under the License.
16
*
17
* For more about this software visit:
18
*
19
* http://www.graphlab.ml.cmu.edu
20
*
21
*/
22
23
24
#ifndef GRAPHLAB_GRAPH_BASIC_TYPES
25
#define GRAPHLAB_GRAPH_BASIC_TYPES
26
27
#include <stdint.h>
28
29
namespace
graphlab {
30
31
32
33
34
#ifdef USE_VID64
35
/// Identifier type of a vertex which is globally consistent. Guaranteed to be integral
36
typedef
uint64_t
vertex_id_type
;
37
#else
38
/// Identifier type of a vertex which is globally consistent. Guaranteed to be integral
39
typedef
uint32_t
vertex_id_type
;
40
#endif
41
42
/// Identifier type of a vertex which is only locally consistent. Guaranteed to be integral
43
typedef
vertex_id_type
lvid_type
;
44
45
/**
46
* Identifier type of an edge which is only locally
47
* consistent. Guaranteed to be integral and consecutive.
48
*/
49
typedef
lvid_type
edge_id_type
;
50
51
/**
52
* \brief The set of edges that are traversed during gather and scatter
53
* operations.
54
*/
55
enum
edge_dir_type
{
56
/**
57
* \brief No edges implies that no edges are processed during the
58
* corresponding gather or scatter phase, essentially skipping
59
* that phase.
60
*/
61
NO_EDGES
= 0,
62
/**
63
* \brief In edges implies that only whose target is the center
64
* vertex are processed during gather or scatter.
65
*/
66
IN_EDGES
= 1,
67
/**
68
* \brief Out edges implies that only whose source is the center
69
* vertex are processed during gather or scatter.
70
*/
71
OUT_EDGES
= 2 ,
72
/**
73
* \brief All edges implies that all adges adjacent to a the
74
* center vertex are processed on gather or scatter. Note that
75
* some neighbors may be encountered twice if there is both an in
76
* and out edge to that neighbor.
77
*/
78
ALL_EDGES
= 3};
79
}
// end of namespace graphlab
80
81
#endif
graphlab
graph
graph_basic_types.hpp
Generated on Mon Jun 3 2013 05:00:03 for GraphLab: Distributed Graph-Parallel API by
1.8.1.1