Module Group


module Group: sig .. end
The groups of students, containing all projects associated to this group.

module H: Assoc.H

type group = {
   num : int;
   name : string ref;
   size : int ref;
   proj : Project.project;
}
val num_groups : int list ref
val all_groups : group list ref
val make_group : int -> ?name:string -> unit
val group_find_project_at_address : group -> Base.paddress -> Project.project
val do_something_group : (group -> 'a) -> (unit -> 'a) -> int -> 'a
val get_group_name : int -> string
val update_group_name : int -> string -> unit
val get_group_size : int -> int
val update_group_size : int -> int -> unit
val get_group : int -> group
val get_group_projects : int -> Project.project list
val get_group_project_addresses : int -> Base.paddress list
val get_all_project_addresses : unit -> Base.paddress list
val get_group_previous_project : int -> Base.paddress -> Base.paddress
val do_something_group_project : (Project.project -> 'a) -> (unit -> 'a) -> int -> Base.paddress -> 'a
val get_group_project : int -> Base.paddress -> Project.project
val get_group_project_name : int -> Base.paddress -> string
val get_group_project_id : int -> Base.paddress -> string
val test_validity_address : int -> Base.paddress -> Project.project
val get_group_project_teams : int -> Base.paddress -> (int, Team.team) Project.H.t
val update_group_project_name : int -> Base.paddress -> string -> unit
val update_groups_project_name : Base.paddress -> string -> unit
val update_group_project_id : int -> Base.paddress -> string -> unit
val update_groups_project_id : Base.paddress -> string -> unit
val get_group_project_coeff : int -> Base.paddress -> float
val update_group_project_coeff : int -> Base.paddress -> float -> unit
val update_groups_project_coeff : Base.paddress -> float -> unit
val get_group_project_dgrad : int -> Base.paddress -> float
val update_group_project_dgrad : int -> Base.paddress -> float -> unit
val update_groups_project_dgrad : Base.paddress -> float -> unit
val create_team_for_group_project : int -> Base.paddress -> int -> bool -> unit
val create_new_team_for_group_project : int -> Base.paddress -> unit
val do_something_group_project_team : (Team.team -> 'a) -> (unit -> 'a) -> int -> Base.paddress -> int -> 'a
val get_group_project_team_grade : int -> Base.paddress -> int -> float
val get_group_project_team_name : int -> Base.paddress -> int -> string
val update_group_project_team_grade : int -> Base.paddress -> int -> float -> unit
val update_group_project_team_name : int -> Base.paddress -> int -> string -> unit
val get_gpt_size : int -> Base.paddress -> int -> int
val increase_team_gpt : int -> Base.paddress -> int -> unit
val decrease_team_gpt : int -> Base.paddress -> int -> unit