File tree Expand file tree Collapse file tree 2 files changed +19
-11
lines changed Expand file tree Collapse file tree 2 files changed +19
-11
lines changed Original file line number Diff line number Diff line change @@ -199,7 +199,7 @@ class Graph {
199
199
*
200
200
*/
201
201
template <typename T1, typename ... Tn>
202
- std::enable_if<is_edge_v <T1> && (is_edge_v <Tn> && ...), void > addEdges (
202
+ std::enable_if<is_edge_ptr_v <T1> && (is_edge_ptr_v <Tn> && ...), void > addEdges (
203
203
T1 edge, Tn... edges);
204
204
/* *
205
205
* \brief
@@ -237,7 +237,7 @@ class Graph {
237
237
*
238
238
*/
239
239
template <typename T1, typename ... Tn>
240
- std::enable_if<is_node_v <T1> && (is_node_v <Tn> && ...), void > addNodes (
240
+ std::enable_if<is_node_ptr_v <T1> && (is_node_ptr_v <Tn> && ...), void > addNodes (
241
241
T1 node, Tn... nodes);
242
242
/* *
243
243
* \brief
@@ -981,7 +981,7 @@ void Graph<T>::addEdges() {
981
981
982
982
template <typename T>
983
983
template <typename T1, typename ... Tn>
984
- std::enable_if<is_edge_v <T1> && (is_edge_v <Tn> && ...), void > Graph<T>::addEdges(
984
+ std::enable_if<is_edge_ptr_v <T1> && (is_edge_ptr_v <Tn> && ...), void > Graph<T>::addEdges(
985
985
T1 edge, Tn... edges) {
986
986
addEdge (edge);
987
987
addEdges (edges...);
@@ -1006,7 +1006,7 @@ void Graph<T>::addNodes() {
1006
1006
1007
1007
template <typename T>
1008
1008
template <typename T1, typename ... Tn>
1009
- std::enable_if<is_node_v <T1> && (is_node_v <Tn> && ...), void > Graph<T>::addNodes(
1009
+ std::enable_if<is_node_ptr_v <T1> && (is_node_ptr_v <Tn> && ...), void > Graph<T>::addNodes(
1010
1010
T1 node, Tn... nodes) {
1011
1011
addNode (node);
1012
1012
addNodes (nodes...);
Original file line number Diff line number Diff line change @@ -41,30 +41,38 @@ struct is_node : std::false_type {};
41
41
template <typename T>
42
42
struct is_node <Node<T>> : std::true_type {};
43
43
44
+ // define is_node_ptr type trait for Node pointers and shared pointers
44
45
template <typename T>
45
- struct is_node < const Node<T>*> : std::true_type {};
46
+ struct is_node_ptr : std::false_type {};
46
47
47
48
template <typename T>
48
- struct is_node <shared< const Node<T>> > : std::true_type {};
49
+ struct is_node_ptr < const Node<T>* > : std::true_type {};
49
50
50
51
template <typename T>
51
- inline constexpr bool is_node_v = is_node <T>::value ;
52
+ struct is_node_ptr <shared< const Node <T>>> : std::true_type {} ;
52
53
53
- // define is_edge type trait for Edges, Edges pointers and shared pointers
54
+ template <typename T>
55
+ inline constexpr bool is_node_ptr_v = is_node<T>::value;
56
+
57
+ // define is_edge type trait for Edges
54
58
template <typename T>
55
59
struct is_edge : std::false_type {};
56
60
57
61
template <typename T>
58
62
struct is_edge <Edge<T>> : std::true_type {};
59
63
64
+ // define is_edge_ptr type trait for Edge pointers and shared pointers
65
+ template <typename T>
66
+ struct is_edge_ptr : std::false_type {};
67
+
60
68
template <typename T>
61
- struct is_edge <const Edge<T>*> : std::true_type {};
69
+ struct is_edge_ptr <const Edge<T>*> : std::true_type {};
62
70
63
71
template <typename T>
64
- struct is_edge <shared<const Edge<T>>> : std::true_type {};
72
+ struct is_edge_ptr <shared<const Edge<T>>> : std::true_type {};
65
73
66
74
template <typename T>
67
- inline constexpr bool is_edge_v = is_edge<T>::value;
75
+ inline constexpr bool is_edge_ptr_v = is_edge<T>::value;
68
76
} // namespace CXXGraph
69
77
70
78
#endif
You can’t perform that action at this time.
0 commit comments