Merge

onera.pmlanalyzer.pml.operators.Merge$
See theMerge companion trait
object Merge

Extension methods and inferences rules

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Merge.type

Members list

Concise view

Type members

Classlikes

trait Ops

If an element l is mergeable with an element r then the following operator can be used

If an element l is mergeable with an element r then the following operator can be used

l and r

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Types

type Aux[L, R, O] = Merge[L, R] { type Result = O; }

Util type to alleviate type unification problem

Util type to alleviate type unification problem

Attributes

L

left type

O

result type for the concatenation, functionally defined by inner type Result

R

right type

Implicits

Implicits

implicit def basicAndSetAreMergeable[L <: Service, R <: Service]: Aux[L, Set[R], Set[Service]]
implicit def basicAndValAreMergeable[L <: Service, R](implicit pU: Provided[R, Service]): Aux[L, R, Set[Service]]

A basic and an object providing services can be concatenated as a set of basic services

A basic and an object providing services can be concatenated as a set of basic services

Attributes

L

the left type

R

the right type

pU

the relation capturing the basic services provided by R

Returns:

the set of basic services

implicit def setAndValAreMergeable[L <: Service, R](implicit p: Provided[R, Service]): Aux[Set[L], R, Set[Service]]

A of basic services and an object providing services can be concatenated as a set of basic services

A of basic services and an object providing services can be concatenated as a set of basic services

Attributes

L

the left type

R

the right type

p

the relation capturing the basic services provided by R

Returns:

the set of basic services

implicit def setsAndBasicAreMergeable[L <: Service, R <: Service]: Aux[Set[L], R, Set[Service]]

A set of basic services and a basic service can be concatenated as a set of basic services

A set of basic services and a basic service can be concatenated as a set of basic services

Attributes

L

the left type

R

the right type

Returns:

the set of basic services

implicit def setsAreMergeable[L <: Service, R <: Service]: Aux[Set[L], IterableOnce[R], Set[Service]]

Two sets of basic services can be concatenated as a set of basic services

Two sets of basic services can be concatenated as a set of basic services

Attributes

L

the left type

R

the right type

Returns:

the set of basic services

implicit def setsTAreMergeable[L, R](implicit pT: Provided[L, Service], pU: Provided[R, Service]): Aux[Set[L], Iterable[R], Set[Service]]

Two sets of objects providing basic services can be concatenated as a set of basic services

Two sets of objects providing basic services can be concatenated as a set of basic services

Attributes

L

the left type

R

the right type

pT

the relation capturing the basic services provided by L

pU

the relation capturing the basic services provided by R

Returns:

the set of basic services provided by collections of L and R

implicit def valAndBasicAreMergeable[L, R <: Service](implicit pT: Provided[L, Service]): Aux[L, R, Set[Service]]
implicit def valAndSetAreMergeable[L, R <: Service](implicit provided: Provided[L, Service]): Aux[L, Set[R], Set[Service]]
implicit def valAndValAreMergeable[L, R](implicit pT: Provided[L, Service], pU: Provided[R, Service]): Aux[L, R, Set[Service]]

Two objects providing services can be concatenated as a set of basic services

Two objects providing services can be concatenated as a set of basic services

Attributes

L

the left type

R

the right type

pT

the relation capturing the basic services provided by L

pU

the relation capturing the basic services provided by R

Returns:

the set of basic services