Module Player.Make

Parameters

module I : Id.S
module R : Roles.S
module S : Status.S

Signature

module Id = I
type index = Id.t
module Roles = R
type role = Roles.role
type role_kind = Roles.role_kind
type role_alignment = Roles.role_alignment
type group = Roles.group
module Status = S
type status = Status.t
module Knowledge : Knowledge.S with type index = index and type group = group
type knowledge = Knowledge.t
type nonrec t = (index, role, status, knowledge) t
val create : index -> role -> t
val index : t -> index
val role : t -> role
val status : t -> status
val knowledge : t -> knowledge
val show : t -> string
val compare : t -> t -> int
val equal : t -> t -> bool
val hash : t -> int
val has_index : index -> t -> bool
val has_role : role -> t -> bool
val has_status : status -> t -> bool
val has_knowledge : knowledge -> t -> bool
val has_group : group -> t -> bool
val replace_role : t -> role -> unit