@@ -66,18 +66,11 @@ function Layer(
6666 edge_list:: Union {Vector{<: MultilayerEdge }, Vector{Tuple{ MultilayerVertex{nothing }, MultilayerVertex{nothing }}}}
6767) where {T<: Integer }
6868 # First check that the vertices are of the correct type
69- if hasproperty (eltype (vertices), :parameters )
69+ if typeof (vertices) <: Vector{<:MultilayerVertex} # hasproperty(eltype(vertices), :parameters)
7070 par = eltype (vertices). parameters[1 ]
7171 (isnothing (par) || par == descriptor. name) || throw (
7272 ErrorException (
73- " `vertices` should be a `Vector{MultilayerVertex{:$(descriptor. name) }}` or a `Vector{MultilayerVertex{nothing}}`. Found $(typeof (vertices)) " ,
74- ),
75- )
76- else
77- # if not, throw an error
78- throw (
79- ErrorException (
80- " `vertices` should be a `Vector{MultilayerVertex{:$(descriptor. name) }}` or a `Vector{MultilayerVertex{nothing}}`. Found $(typeof (vertices)) " ,
73+ " `vertices` should be a `Vector{MultilayerVertex{:$(descriptor. name) }}` or a `Vector{MultilayerVertex{nothing}}` or a `Vector{Node}}`. Found $(typeof (vertices)) " ,
8174 ),
8275 )
8376 end
@@ -95,7 +88,7 @@ function Layer(
9588 end
9689 else
9790 for node in vertices
98- add_vertex! (layer, MV (node, metadata = descriptor. default_vertex_metadata (MV (node))))
91+ add_vertex! (layer, MV (node, descriptor. default_vertex_metadata (MV (node))))
9992 end
10093 end
10194 # Add the edges
@@ -128,8 +121,8 @@ Constructor for `Layer`.
128121"""
129122function Layer (
130123 name:: Symbol ,
131- vertices:: Union{Vector{<: MultilayerVertex} , Vector{<: Node}} ,
132- edge_list:: Union{Vector{<:MultilayerEdge}, Vector{NTuple{2, MultilayerVertex}}} ,
124+ vertices:: Union{Vector{MultilayerVertex{nothing}} , Vector{Node}} ,
125+ edge_list:: Union {Vector{<: MultilayerEdge }, Vector{NTuple{2 , MultilayerVertex{ nothing } }}},
133126 null_graph:: G ,
134127 weighttype:: Type{U} ;
135128 default_vertex_metadata:: Function = mv -> NamedTuple (),
@@ -516,12 +509,6 @@ Returns an directed `Layer` with given `indegree_sequence` and `outdegree_sequen
516509 end
517510 end
518511
519- #= for edge in edges(equivalent_graph)
520- src_mv = vertices[src(edge)]
521- dst_mv = vertices[dst(edge)]
522- push!(edge_list, ME(src_mv, dst_mv, default_edge_weight(src_mv, dst_mv), default_edge_metadata(src_mv, dst_mv)))
523- end =#
524-
525512 layer = Layer (descriptor, vertices, edge_list)
526513
527514 return layer
@@ -554,7 +541,7 @@ Constructor for a `Layer` whose underlying graph is a `SimpleGraph` from `Graphs
554541function layer_simplegraph (
555542 name:: Symbol ,
556543 vertices:: Union{Vector{MultilayerVertex{nothing}},Vector{Node}} ,
557- edge_list:: Union{Vector{<:MultilayerEdge}, Vector{NTuple{2, MultilayerVertex}}} ;
544+ edge_list:: Union {Vector{<: MultilayerEdge }, Vector{NTuple{2 , MultilayerVertex{ nothing } }}};
558545 vertextype:: Type{T} = Int64,
559546 weighttype:: Type{U} = Float64
560547) where {T<: Integer ,U<: Real }
@@ -632,7 +619,7 @@ Constructor for a `Layer` whose underlying graph is a `SimpleDiGraph` from `Grap
632619function layer_simpledigraph (
633620 name:: Symbol ,
634621 vertices:: Union{Vector{MultilayerVertex{nothing}},Vector{Node}} ,
635- edge_list:: Union{Vector{<:MultilayerEdge}, Vector{NTuple{2, MultilayerVertex}}} ;
622+ edge_list:: Union {Vector{<: MultilayerEdge }, Vector{NTuple{2 , MultilayerVertex{ nothing } }}};
636623 vertextype:: Type{T} = Int64,
637624 weighttype:: Type{U} = Float64
638625) where {T<: Integer ,U<: Real }
@@ -716,7 +703,7 @@ Constructor for a `Layer` whose underlying graph is a `SimpleWeightedGraph` from
716703function layer_simpleweightedgraph (
717704 name:: Symbol ,
718705 vertices:: Union{Vector{MultilayerVertex{nothing}},Vector{Node}} ,
719- edge_list:: Union{Vector{<:MultilayerEdge}, Vector{NTuple{2, MultilayerVertex}}} ;
706+ edge_list:: Union {Vector{<: MultilayerEdge }, Vector{NTuple{2 , MultilayerVertex{ nothing } }}};
720707 default_edge_weight:: Function = (src,dst) -> nothing ,
721708 vertextype:: Type{T} = Int64,
722709 weighttype:: Type{U} = Float64
@@ -802,7 +789,7 @@ Constructor for a `Layer` whose underlying graph is a `SimpleWeightedDiGraph` fr
802789function layer_simpleweighteddigraph (
803790 name:: Symbol ,
804791 vertices:: Union{Vector{MultilayerVertex{nothing}},Vector{Node}} ,
805- edge_list:: Union{Vector{<:MultilayerEdge}, Vector{NTuple{2, MultilayerVertex}}} ;
792+ edge_list:: Union {Vector{<: MultilayerEdge }, Vector{NTuple{2 , MultilayerVertex{ nothing } }}};
806793 default_edge_weight:: Function = (src,dst) -> nothing ,
807794 vertextype:: Type{T} = Int64,
808795 weighttype:: Type{U} = Float64
@@ -898,7 +885,7 @@ Constructor for a `Layer` whose underlying graph is a `MetaGraph` from `MetaGrap
898885function layer_metagraph (
899886 name:: Symbol ,
900887 vertices:: Union{Vector{MultilayerVertex{nothing}},Vector{Node}} ,
901- edge_list:: Union{Vector{<:MultilayerEdge}, Vector{NTuple{2, MultilayerVertex}}} ;
888+ edge_list:: Union {Vector{<: MultilayerEdge }, Vector{NTuple{2 , MultilayerVertex{ nothing } }}};
902889 default_vertex_metadata:: Function = mv -> NamedTuple (),
903890 default_edge_metadata:: Function = (src, dst) -> NamedTuple (),
904891 vertextype:: Type{T} = Int64,
@@ -999,7 +986,7 @@ Constructor for a `Layer` whose underlying graph is a `MetaDiGraph` from `MetaGr
999986function layer_metadigraph (
1000987 name:: Symbol ,
1001988 vertices:: Union{Vector{MultilayerVertex{nothing}},Vector{Node}} ,
1002- edge_list:: Union{Vector{<:MultilayerEdge}, Vector{NTuple{2, MultilayerVertex}}} ;
989+ edge_list:: Union {Vector{<: MultilayerEdge }, Vector{NTuple{2 , MultilayerVertex{ nothing } }}};
1003990 default_vertex_metadata:: Function = mv -> NamedTuple (),
1004991 default_edge_metadata:: Function = (src, dst) -> NamedTuple (),
1005992 vertextype:: Type{T} = Int64,
@@ -1104,7 +1091,7 @@ Constructor for a `Layer` whose underlying graph is a `ValGraph` from `SimpleVal
11041091function layer_valgraph (
11051092 name:: Symbol ,
11061093 vertices:: Union{Vector{MultilayerVertex{nothing}},Vector{Node}} ,
1107- edge_list:: Union{Vector{<:MultilayerEdge}, Vector{NTuple{2, MultilayerVertex}}} ;
1094+ edge_list:: Union {Vector{<: MultilayerEdge }, Vector{NTuple{2 , MultilayerVertex{ nothing } }}};
11081095 default_vertex_metadata:: Function = mv -> NamedTuple (),
11091096 default_edge_metadata:: Function = (src, dst) -> NamedTuple (),
11101097 vertextype:: Type{T} = Int64,
@@ -1242,7 +1229,7 @@ Constructor for a `Layer` whose underlying graph is a `ValOutDiGraph` from `Simp
12421229function layer_valoutdigraph (
12431230 name:: Symbol ,
12441231 vertices:: Union{Vector{MultilayerVertex{nothing}},Vector{Node}} ,
1245- edge_list:: Union{Vector{<:MultilayerEdge}, Vector{NTuple{2, MultilayerVertex}}} ;
1232+ edge_list:: Union {Vector{<: MultilayerEdge }, Vector{NTuple{2 , MultilayerVertex{ nothing } }}};
12461233 default_vertex_metadata:: Function = mv -> NamedTuple (),
12471234 default_edge_metadata:: Function = (src, dst) -> NamedTuple (),
12481235 vertextype:: Type{T} = Int64,
@@ -1363,7 +1350,7 @@ Constructor for a `Layer` whose underlying graph is a `ValDiGraph` from `SimpleV
13631350function layer_valdigraph (
13641351 name:: Symbol ,
13651352 vertices:: Union{Vector{MultilayerVertex{nothing}},Vector{Node}} ,
1366- edge_list:: Union{Vector{<:MultilayerEdge}, Vector{NTuple{2, MultilayerVertex}}} ;
1353+ edge_list:: Union {Vector{<: MultilayerEdge }, Vector{NTuple{2 , MultilayerVertex{ nothing } }}};
13671354 default_vertex_metadata:: Function = mv -> NamedTuple (),
13681355 default_edge_metadata:: Function = (src, dst) -> NamedTuple (),
13691356 vertextype:: Type{T} = Int64,
0 commit comments