Skip to content

Commit 7b97806

Browse files
Remove some where clauses
1 parent 106e9e9 commit 7b97806

File tree

2 files changed

+34
-39
lines changed

2 files changed

+34
-39
lines changed

src/abstractvaluegraph.jl

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ function edgevals_type(G::Type{<:AbstractValGraph}, key::Integer)
9191
return fieldtype(edgevals_type(G), Int(key))
9292
end
9393

94-
function edgevals_type(G::Type{<:AbstractValGraph{V, V_VALS, <: NamedTuple}}, key::Symbol) where {V, V_VALS}
94+
function edgevals_type(G::Type{<:AbstractValGraph}, key::Symbol)
9595

9696
return fieldtype(edgevals_type(G), key)
9797
end
@@ -117,17 +117,14 @@ Return true if `key` is an edge value key for this graph.
117117
"""
118118
hasedgekey(g::AbstractValGraph, key) = hasedgekey(typeof(g), key)
119119

120-
function hasedgekey(
121-
G::Type{<:AbstractValGraph{V, V_VALS, E_VALS}},
122-
key::Symbol) where {V, V_VALS, E_VALS <: NamedTuple}
120+
function hasedgekey(G::Type{<:AbstractValGraph}, key::Symbol)
123121

124-
return key in E_VALS.names
122+
return hasfield(edgevals_type(G), key)
125123
end
126124

127-
function hasedgekey(
128-
G::Type{<:AbstractValGraph{V, V_VALS, E_VALS}},
129-
key::Integer) where {V, V_VALS, E_VALS <: AbstractTuple}
125+
function hasedgekey(G::Type{<:AbstractValGraph}, key::Integer)
130126

127+
E_VALS = edgevals_type(G)
131128
return key in OneTo(length(E_VALS.types))
132129
end
133130

@@ -151,17 +148,14 @@ hasedgekey_or_throw(g::AbstractValGraph, key) = hasedgekey_or_throw(typeof(g), k
151148
152149
Return true if `key` is a vertex value key for this graph.
153150
"""
154-
function hasvertexkey(
155-
G::Type{<:AbstractValGraph{V, V_VALS}},
156-
key::Symbol) where {V, V_VALS <: NamedTuple}
151+
function hasvertexkey(G::Type{<:AbstractValGraph}, key::Symbol)
157152

158-
return key in V_VALS.names
153+
return hasfield(vertexvals_type(G), key)
159154
end
160155

161-
function hasvertexkey(
162-
G::Type{<:AbstractValGraph{V, V_VALS}},
163-
key::Integer) where {V, V_VALS <: AbstractTuple}
156+
function hasvertexkey(G::Type{<:AbstractValGraph}, key::Integer)
164157

158+
V_VALS = vertexvals_type(G)
165159
return key in OneTo(length(V_VALS.types))
166160
end
167161

@@ -179,17 +173,14 @@ hasvertexkey_or_throw(g::AbstractValGraph, key) = hasvertexkey_or_throw(typeof(g
179173
# hasgraphkey & hasgraphkey_or_throw
180174
# ------------------------------------------------------
181175

182-
function hasgraphkey(
183-
G::Type{<:AbstractValGraph{V, V_VALS, E_VALS, G_VALS}},
184-
key::Symbol) where {V, V_VALS, E_VALS, G_VALS <: NamedTuple}
176+
function hasgraphkey(G::Type{<:AbstractValGraph}, key::Symbol)
185177

186-
return key G_VALS.names
178+
return hasfield(graphvals_type(G), key)
187179
end
188180

189-
function hasgraphkey(
190-
G::Type{<:AbstractValGraph{V, V_VALS, E_VALS, G_VALS}},
191-
key::Integer) where {V, V_VALS, E_VALS, G_VALS <: AbstractTuple}
181+
function hasgraphkey(G::Type{<:AbstractValGraph}, key::Integer)
192182

183+
G_VALS = graphvals_type(G)
193184
return key OneTo(length(G_VALS.types))
194185
end
195186

@@ -665,10 +656,11 @@ ValEdgeIter(g, key) = ValEdgeIter{typeof(g)}(g, key)
665656

666657
Base.length(iter::ValEdgeIter) = count(_ -> true, iter)
667658

668-
function Base.eltype(::Type{<:ValEdgeIter{G, key}}) where
669-
{V, V_VALS, E_VALS, G <: AbstractValGraph{V, V_VALS, E_VALS}, key}
659+
function Base.eltype(::Type{<:ValEdgeIter{G, key}}) where {G, key}
670660

671661
E = is_directed(G) ? ValDiEdge : ValEdge
662+
V = eltype(G)
663+
E_VALS = edgevals_type(G)
672664

673665
if key == nothing
674666
# TODO it might better to return an empty named tuple type in case

src/valuegraph.jl

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -407,11 +407,9 @@ LG.ne(g::ValOutDiGraph) = g.ne
407407
# add_edge!
408408
# ------------------------------------------------------
409409

410-
function LG.add_edge!(g::ValGraph{V, V_VALS, E_VALS},
411-
s::Integer,
412-
d::Integer,
413-
values) where {V, V_VALS, E_VALS}
410+
function LG.add_edge!(g::ValGraph, s::Integer, d::Integer, values)
414411

412+
E_VALS = edgevals_type(g)
415413
values = convert_to_tuple(E_VALS, values)
416414
verts = vertices(g)
417415
(s in verts && d in verts) || return false # edge out of bounds
@@ -441,11 +439,9 @@ function LG.add_edge!(g::ValGraph{V, V_VALS, E_VALS},
441439
return true # edge successfully added
442440
end
443441

444-
function LG.add_edge!(g::ValOutDiGraph{V, V_VALS, E_VALS},
445-
s::Integer,
446-
d::Integer,
447-
values) where {V, V_VALS, E_VALS}
442+
function LG.add_edge!(g::ValOutDiGraph, s::Integer, d::Integer, values)
448443

444+
E_VALS = edgevals_type(g)
449445
values = convert_to_tuple(E_VALS, values)
450446
verts = vertices(g)
451447
(s in verts && d in verts) || return false # edge out of bounds
@@ -464,11 +460,9 @@ function LG.add_edge!(g::ValOutDiGraph{V, V_VALS, E_VALS},
464460
return true # edge successfully added
465461
end
466462

467-
function LG.add_edge!(g::ValDiGraph{V, V_VALS, E_VALS},
468-
s::Integer,
469-
d::Integer,
470-
values) where {V, V_VALS, E_VALS}
463+
function LG.add_edge!(g::ValDiGraph, s::Integer, d::Integer, values)
471464

465+
E_VALS = edgevals_type(g)
472466
values = convert_to_tuple(E_VALS, values)
473467
verts = vertices(g)
474468
(s in verts && d in verts) || return false # edge out of bounds
@@ -555,8 +549,11 @@ end
555549
# add_vertex!
556550
# ------------------------------------------------------
557551

558-
function LG.add_vertex!(g::ValGraph{V, V_VALS, E_VALS}, values) where {V, V_VALS, E_VALS}
552+
function LG.add_vertex!(g::ValGraph, values)
559553

554+
V = eltype(g)
555+
V_VALS = vertexvals_type(g)
556+
E_VALS = edgevals_type(g)
560557
values = convert_to_tuple(V_VALS, values)
561558

562559
if V != BigInt && nv(g) == typemax(V)
@@ -576,8 +573,11 @@ function LG.add_vertex!(g::ValGraph{V, V_VALS, E_VALS}, values) where {V, V_VALS
576573
return true
577574
end
578575

579-
function LG.add_vertex!(g::ValOutDiGraph{V, V_VALS, E_VALS}, values) where {V, V_VALS, E_VALS}
576+
function LG.add_vertex!(g::ValOutDiGraph, values)
580577

578+
V = eltype(g)
579+
V_VALS = vertexvals_type(g)
580+
E_VALS = edgevals_type(g)
581581
values = convert_to_tuple(V_VALS, values)
582582

583583
if V != BigInt && nv(g) == typemax(V)
@@ -597,8 +597,11 @@ function LG.add_vertex!(g::ValOutDiGraph{V, V_VALS, E_VALS}, values) where {V, V
597597
return true
598598
end
599599

600-
function LG.add_vertex!(g::ValDiGraph{V, V_VALS, E_VALS}, values) where {V, V_VALS, E_VALS}
600+
function LG.add_vertex!(g::ValDiGraph, values)
601601

602+
V = eltype(g)
603+
V_VALS = vertexvals_type(g)
604+
E_VALS = edgevals_type(g)
602605
values = convert_to_tuple(V_VALS, values)
603606

604607
if V != BigInt && nv(g) == typemax(V)

0 commit comments

Comments
 (0)