@@ -64,6 +64,21 @@ weights(subgraph::S) where {T,U,S<:AbstractSubGraph{T,U}}
6464name(subgraph::AbstractSubGraph)
6565Layer{T <: Integer, U <: Real, G <: AbstractGraph{T}}
6666Layer(name::Symbol, vertices::Vector{<: MultilayerVertex}, edge_list::Vector{ <: MultilayerEdge}, null_graph::G, weighttype::Type{U}; default_vertex_metadata::Function = mv -> NamedTuple(), default_edge_weight::Function = (src, dst) -> one(U), default_edge_metadata::Function = (src, dst) -> NamedTuple()) where {T <: Integer, U <: Real, G <: AbstractGraph{T}}
67+ Layer(nv::Int64, name::Symbol, graph_type::Type{G}, ne::Int64; U::Union{Type{ <: Real},Nothing} = nothing) where {T <: Union{ <: Integer, AbstractVertex}, G <: AbstractGraph{T}}
68+ has_node(layer::Layer, n::Node)
69+ rem_vertex!(layer::Layer, mv::MultilayerVertex)
70+ rem_vertex!(layer::Layer, n::Node)
71+ Interlayer{T<:Integer,U<:Real,G<:AbstractGraph{T}}Interlayer(layer_1::Layer{T,U}, layer_2::Layer{T,U}, ne::Int64, null_graph::G; default_edge_weight::Function = (x,y) -> nothing, default_edge_metadata::Function = (x,y) -> NamedTuple(), name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)"), transfer_vertex_metadata::Bool = false) where {T<:Integer, U <: Union{Nothing, <: Real}, G<:AbstractGraph{T}}
72+
73+ multiplex_interlayer(
74+ layer_1::Layer{T,U},
75+ layer_2::Layer{T,U},
76+ null_graph::G;
77+ default_edge_weight::Function = (x,y) -> nothing,
78+ default_edge_metadata::Function = (x,y) -> NamedTuple(),
79+ transfer_vertex_metadata::Bool = false,
80+ name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)")
81+ ) where {T<:Integer, U <: Real, G<:AbstractGraph{T}} = _multiplex_interlayer(collect(mv_vertices(layer_1)), collect(mv_vertices(layer_2)), null_graph, U; default_edge_weight = default_edge_weight, default_edge_metadata = default_edge_metadata, transfer_vertex_metadata = transfer_vertex_metadata , name = name)
6782```
6883
6984### Multilayer-specific methods
@@ -96,7 +111,9 @@ is_directed(mg::AbstractMultilayerUGraph)
96111is_directed(m::M) where { M <: Type{ <: AbstractMultilayerUGraph}}
97112is_directed(mg::AbstractMultilayerDiGraph)
98113is_directed(m::M) where { M <: Type{ <: AbstractMultilayerDiGraph}}
99-
114+ has_node(mg::AbstractMultilayerGraph, n::Node)
115+ rem_vertex!(mg::AbstractMultilayerUGraph, V::MultilayerVertex)
116+ rem_vertex!(mg::AbstractMultilayerDiGraph, V::MultilayerVertex)
100117```
101118
102119----------------------------------------------------
@@ -148,7 +165,9 @@ has_edge(subgraph::S, s::MultilayerVertex, d::MultilayerVertex) where { T, S <:
148165add_edge!(subgraph::S, src::T, dst::T; weight::W = nothing, metadata::Union{Tuple, NamedTuple}= NamedTuple()) where {T, U<: Real, W<:Union{ U, Nothing},G<:AbstractGraph{T},S<:AbstractSubGraph{T,U,G}}
149166rem_edge!(subgraph::S, src::T, dst::T) where {T, S<:AbstractSubGraph{T}}
150167AbstractLayer
151- Layer(descriptor::LayerDescriptor{T}, vertices::Vector{<: MultilayerVertex}, edge_list::Vector{<:MultilayerEdge}) where {T <: Integer}
168+ Layer(descriptor::MultilayerGraphs.LayerDescriptor{T}, vertices::Vector{<: MultilayerVertex}, edge_list::Vector{<:MultilayerEdge}) where {T <: Integer}
169+ rem_vertex!(layer::L, v::T) where {T, L <: Layer{T}}
170+ AbstractInterlayer
152171```
153172
154173### Traits
0 commit comments