Settings
Overview Structs
GEMS.ContainerSetting
GEMS.Department
GEMS.GlobalSetting
GEMS.Household
GEMS.IndividualSetting
GEMS.Municipality
GEMS.Office
GEMS.School
GEMS.SchoolClass
GEMS.SchoolComplex
GEMS.SchoolYear
GEMS.Setting
GEMS.SettingsContainer
GEMS.Workplace
GEMS.WorkplaceSite
Overview Functions
GEMS.activate!
GEMS.add!
GEMS.add!
GEMS.add_type!
GEMS.add_types!
GEMS.ags
GEMS.ags
GEMS.ags
GEMS.avg_individuals
GEMS.close!
GEMS.contact_sampling_method
GEMS.contact_sampling_method!
GEMS.contained
GEMS.contained_type
GEMS.contains_type
GEMS.deactivate!
GEMS.delete_dangling_ids!
GEMS.geolocation
GEMS.get_contained!
GEMS.get_containers!
GEMS.get_open_contained!
GEMS.household
GEMS.id
GEMS.individuals
GEMS.individuals
GEMS.individuals
GEMS.individuals!
GEMS.is_open
GEMS.isactive
GEMS.lat
GEMS.lon
GEMS.max_individuals
GEMS.min_individuals
GEMS.min_max_avg_individuals
GEMS.new_setting_ids!
GEMS.open!
GEMS.present_individuals
GEMS.present_individuals!
GEMS.sample_individuals
GEMS.schoolclass
GEMS.setting
GEMS.settingchar
GEMS.settings
GEMS.settings
GEMS.settings_from_jld2!
GEMS.settings_from_population
GEMS.settingstring
GEMS.settingtypes
Structs
GEMS.ContainerSetting
— TypeSupertype for all simulation settings which act as containers of settings.
GEMS.Department
— TypeDepartment <: ContainerSetting
Represents a department within a workplace in the simulation.
Instantiation
The instantiation requires at least an id
that be supplied as a keyword argument. All other fields are optional parameters.
d1 = Department(id = 1)
d2 = Department(id = 2, contains = [13, 14, 15]) # contains IDs of Offices
Parameters
id::Int32
: Unique identifier of the department.contains::Vector{Int32} = []
(optional): List of associatedOffice
scontains_type::DataType = Office
(optional): Type of contained settings (Office
)contained::Int32 = DEFAULT_SETTING_ID
(optional): Parent setting id (Workplace
)contained_type::DataType = Workplace
(optional): Parent setting type (Workplace
)type::Int32 = -1
(optional): Numerical code representing the type of department.last_infectious::Int16 = -1
(optional): The last simulation tick when an infectious individual was present.contact_sampling_method::ContactSamplingMethod = RandomSampling()
(optional): Sampling Method, defining how contacts are drawn.isactive::Bool = false
(optional): Whether the department is active in the simulation.isopen::Bool = true
(optional): Whether the setting is open for contacts.
GEMS.GlobalSetting
— TypeGlobalSetting <: IndividualSetting
A type to a setting that contains all individuals at once (mainly for testing purposes). With this type, each individual can theoretically connect with any other individual.
There should only be one GlobalSetting
instance in any simulation.
Fields
individuals::Vector{Individual}
: List of associated individualscontact_sampling_method::ContactSamplingMethod
: Sampling Method, defining how contacts are drawn.isactive::Bool
: A flag to represent if the setting is considered active for simulationisopen::Bool
: Whether the setting is open for contacts.lock::ReentrantLock
: A lock to use in a parallelized setting to ensure data race free conditions
GEMS.Household
— TypeHousehold <: Geolocated
A type to represent households with associated individuals as members.
Instantiation
The instantiation requires at least an id
that be supplied as a keyword argument. All other fields are optional parameters.
h1 = Household(id = 1)
h2 = Household(id = 2, individuals = [i1, i2, i3])
Parameters
id::Int32
: Unique identifier of the householdindividuals::Vector{Individual} = []
(optional): List of associated individualsincome::Int8 = -1
(optional): Category of income for the householddwelling::Int8 = -1 *(optional)*
: Category of dwelliung sizelast_infectious::Int16 = -1
(optional): Tick indicating the last presence of an infected individualcontact_sampling_method::ContactSamplingMethod = RandomSampling()
(optional): Sampling Method, defining how contacts are drawn.ags::AGS = AGS()
(optional): The Amtlicher Gemeindeschlüssel (AGS) of the Household.lon::Float32 = NaN
(optional): Longitude of the householdlat::Float32 = NaN
: Latitude of the householdisactive::Bool = false
(optional): A flag to represent if the setting is considered active for simulationisopen::Bool = true
(optional): Whether the setting is open for contacts.
GEMS.IndividualSetting
— TypeSupertype for all simulation settings which directly contain individuals.
GEMS.Municipality
— TypeMunicipality <: IndividualSetting
A type to represent (geographical) municipalities.
Instantiation
The instantiation requires at least an id
that be supplied as a keyword argument. All other fields are optional parameters.
m1 = Municipality(id = 1)
m2 = Municipality(id = 2, individuals = [i1, i2, i3])
Parameters
id::Int32
: Unique identifier of the municipalityindividuals::Vector{Individual} = []
(optional): List of associated individualscontact_sampling_method::ContactSamplingMethod = RandomSampling()
(optional): Sampling Method, defining how contacts are drawn.ags::AGS = AGS()
(optional): The Amtlicher Gemeindeschlüssel (AGS) of the municipality.isactive::Bool = false
(optional): A flag to represent if the setting is considered active for simulationisopen::Bool = true
(optional): Whether the setting is open for contacts.
GEMS.Office
— TypeOffice <: Geolocated
Represents an office within a department in the simulation.
Instantiation
The instantiation requires at least an id
that be supplied as a keyword argument. All other fields are optional parameters.
o1 = Office(id = 1)
o2 = Office(id = 2, individuals = [i1, i2, i3])
Parameters
id::Int32
: Unique identifier of the office.individuals::Vector{Individual} = []
(optional): List of individuals associated with this officecontained::Int32 = DEFAULT_SETTING_ID
(optional): Parent setting id (Department
)contained_type::DataType = Department
(optional): Parent setting tye (Department
)type::Int32 = -1
(optional): Numerical code representing the type of officelast_infectious::Int16 = -1
(optional): The last simulation tick when an infectious individual was presentcontact_sampling_method::ContactSamplingMethod = RandomSampling()
(optional): Sampling Method, defining how contacts are drawnags::AGS = AGS()
(optional): The Amtlicher Gemeindeschlüssel (AGS) of the officeinroom::Int8 = -1
(optional): Describes the amount of indoor work done in the officeworkhome::Int8 = -1
(optional): Describes the amount of work done from homelon::Float32 = NaN
(optional): Longitude of the officelat::Float32 = NaN
(optional): Latitude of the officeisactive::Bool = false
(optional): Whether the office is active in the simulationisopen::Bool = true
(optional): Whether the setting is open for contacts
GEMS.School
— TypeSchool <: ContainerSetting
A type to represent a school (which has years and classes).
Instantiation
The instantiation requires at least an id
that be supplied as a keyword argument. All other fields are optional parameters.
s1 = School(id = 1)
s2 = School(id = 2, contains = [13, 14, 15]) # contains IDs of school years
Parameters
id::Int32
: Unique identifier of the schoolcontains::Vector{Int32} = []
(optional): List of associatedSchoolYears
scontains_type::DataType = SchoolYear
(optional): Type of contained settings (SchoolYear
)contained::Int32 = DEFAULT_SETTING_ID
(optional): Parent setting id (SchoolComplex
)contained_type::DataType = School
(optional): Parent setting tye (SchoolComplex
)type::Int32 = -1
(optional): Type of school (e.g. primary, highschool, ...)contact_sampling_method::ContactSamplingMethod = RandomSampling()
(optional): Sampling Method, defining how contacts are drawn.isactive::Bool = false
(optional): A flag to represent if the setting is considered active for simulationisopen::Bool = true
(optional): Whether the setting is open for contacts.
GEMS.SchoolClass
— TypeSchoolClass <: Geolocated
A type to represent school classes. Should always be part of a school.
Instantiation
The instantiation requires at least an id
that be supplied as a keyword argument. All other fields are optional parameters.
c1 = SchoolClass(id = 1)
c2 = SchoolClass(id = 2, individuals = [i1, i2, i3])
Parameters
id::Int32
: Unique identifier of the school classindividuals::Vector{Individual} = []
(optional): List of associated individualstype::Int32 = -1
(optional): Type of school class (e.g. grade)contained::Int32 = DEFAULT_SETTING_ID
(optional): Parent setting id (SchoolYear
)contained_type::DataType = SchoolYear
(optional): Parent setting tye (SchoolYear
)last_infectious::Int16 = -1
(optional): Tick indicating the last presence of an infected individualcontact_sampling_method::ContactSamplingMethod = RandomSampling()
(optional): Sampling Method, defining how contacts are drawn.ags::Int32 = AGS()
(optional): The Amtlicher Gemeindeschlüssel (AGS) of the schoolclass.lon::Float32 = NaN
(optional): Longitude of the schoolclasslat::Float32 = NaN
(optional): Latitude of the schoolclassisactive::Bool = false
(optional): A flag to represent if the setting is considered active for simulationisopen::Bool = true
(optional): Whether the setting is open for contacts.
GEMS.SchoolComplex
— TypeSchoolComplex <: ContainerSetting
A type to represent a school complex (which has schools).
Instantiation
The instantiation requires at least an id
that be supplied as a keyword argument. All other fields are optional parameters.
sc1 = SchoolComplex(id = 1)
sc2 = SchoolComplex(id = 2, contains = [13, 14, 15]) # contains IDs of schools
Parameters
id::Int32
: Unique identifier of the school complexcontains::Vector{Int32} = []
(optional): List of associatedSchool
scontains_type::DataType = SchoolYear
(optional): Type of contained settings (School
)contact_sampling_method::ContactSamplingMethod = RandomSampling()
(optional): Sampling Method, defining how contacts are drawn.isactive::Bool = false
(optional): A flag to represent if the setting is considered active for simulationisopen::Bool = true
(optional): Whether the setting is open for contacts.
GEMS.SchoolYear
— TypeSchoolYear <: ContainerSetting
A type to represent a schoolyear (which has classes).
Instantiation
The instantiation requires at least an id
that be supplied as a keyword argument. All other fields are optional parameters.
y1 = SchoolYear(id = 1)
y2 = SchoolYear(id = 2, contains = [13, 14, 15]) # contains IDs of school classes
Parameters
id::Int32
: Unique identifier of the schoolyearcontains::Vector{Int32} = []
(optional): List of associatedSchoolClass
escontains_type::DataType = SchoolClass
(optional): Type of contained settings (SchoolClass
)contained::Int32 = DEFAULT_SETTING_ID
(optional): Parent setting id (School
)contained_type::DataType = School
(optional): Parent setting tye (School
)type::Int32 = -1
(optional): Type of school year (e.g. grade)contact_sampling_method::ContactSamplingMethod = RandomSampling()
(optional): Sampling Method, defining how contacts are drawn.isactive::Bool = false
(optional): A flag to represent if the setting is considered active for simulationisopen::Bool = true
(optional): Whether the setting is open for contacts.
GEMS.Setting
— TypeSupertype for all simulation settings
GEMS.SettingsContainer
— TypeSettingsContainer
A container structure for all settings.
Fields
settings::Dict{DataType, Vector{Setting}}
: A dictionary holding all known settings structured by type
GEMS.Workplace
— TypeWorkplace <: ContainerSetting
Represents a workplace in the simulation.
Instantiation
The instantiation requires at least an id
that be supplied as a keyword argument. All other fields are optional parameters.
ws1 = Workplace(id = 1)
ws2 = Workplace(id = 2, contains = [13, 14, 15]) # contains IDs of Departments
Parameters
id::Int32
: Unique identifier of the workplace.contains::Vector{Int32} = []
(optional): List of associatedDepartment
scontains_type::DataType = Department
(optional): Type of contained settings (Department
)contained::Int32 = DEFAULT_SETTING_ID
(optional): Parent setting id (WorkplaceSite
)contained_type::DataType = WorkplaceSite
(optional): Parent setting type (WorkplaceSite
)type::Int32 = -1
(optional): Numerical code representing the type of workplace (e.g., farm, office).last_infectious::Int16 -1
(optional): The last simulation tick when an infectious individual was present.contact_sampling_method::ContactSamplingMethod = RandomSampling()
(optional): Sampling Method, defining how contacts are drawn.isactive::Bool = false
(optional): Whether the workplace is active in the simulation.isopen::Bool = true
(optional): Whether the setting is open for contacts.
GEMS.WorkplaceSite
— TypeWorkplaceSite <: ContainerSetting
Represents a Workplace site in the simulation.
Instantiation
The instantiation requires at least an id
that be supplied as a keyword argument. All other fields are optional parameters.
ws1 = WorkplaceSite(id = 1)
ws2 = WorkplaceSite(id = 2, contains = [13, 14, 15]) # contains IDs of Workplaces
Parameters
id::Int32
: Unique identifier of the workplace.contains::Vector{Int32} = []
(optional): List of associatedWorkplace
scontains_type::DataType = Workplace
(optional): Type of contained settings (Workplace
)type::Int32 = -1
(optional): Numerical code representing the type of workplace site.last_infectious::Int16 = -1
(optional): The last simulation tick when an infectious individual was present.contact_sampling_method::ContactSamplingMethod = RandomSampling()
(optional): Sampling Method, defining how contacts are drawn.isactive::Bool = false
(optional): Whether the workplace is active in the simulation.isopen::Bool = true
(optional): Whether the setting is open for contacts.
Functions
GEMS.activate!
— Functionactivate!(setting::Setting)
Sets the setting active for simulation.
GEMS.add!
— Methodadd!(setting::Setting, individual::Individual)
Adds the given individual to the setting.
GEMS.add!
— Methodadd!(container::SettingsContainer, setting::Setting)
Add a setting to the container.
GEMS.add_type!
— Functionadd_type!(container::SettingsContainer, settingtype::Type)
Add a settingtype to the container if it is not yet included. Creates a new vector for the provided type in the settings dictionary.
add_type!(container::SettingsContainer, settingtype::DataType)
Add a settingtype to the container if it is not yet included. Creates a new vector for the provided type in the settings dictionary.
GEMS.add_types!
— Functionadd_types!(container::SettingsContainer, settingtypes::Vector{Type})
Adds settingtypes to the container if they are not yet included. Calls the add_type!
function for each settingtype in the vector.
add_types!(container::SettingsContainer, settingtypes::Vector{DataType})
Adds settingtypes to the container if they are not yet included. Calls the add_type!
function for each settingtype in the vector.
GEMS.ags
— Methodags(stng::ContainerSetting, sim::Simulation)
Get the ags of a ContainerSetting.
GEMS.ags
— Methodags(stng::IndividualSetting, sim::Simulation)
Get the ags of a IndividualSetting.
GEMS.ags
— Methodags(stng::IndividualSetting)
Get the ags of a IndividualSetting.
GEMS.avg_individuals
— Functionavg_individuals(stngs::Vector{Setting}, simulation::Simulation)
Returns the average number of individuals across all provided settings.
GEMS.close!
— Functionclose!(setting::Setting)
Closes the setting.
close!(setting::Setting, simulation::Simulation)
Sets the setting and all settings contained by it as closed (not open).
GEMS.contact_sampling_method!
— Functioncontact_sampling_method(setting::Setting, csm::ContactSamplingMethod)
Sets the ContactSamplingMethod
of this setting to the provided method.
GEMS.contact_sampling_method
— Functioncontact_sampling_method(setting::Setting)
Returns ContactSamplingMethod
of this setting.
GEMS.contained
— Methodcontained(setting::Setting)
Returns the contained
value of the given Setting
.
GEMS.contained_type
— Methodcontained_type(setting::Setting)
Returns the contained_type
value of the given Setting
.
GEMS.contains_type
— Methodcontains_type(setting::ContainerSetting)
Returns the contains_type
value of the given ContainerSetting
.
GEMS.deactivate!
— Methoddeactivate!(setting::Setting)
Sets the setting as inactive for simulation.
GEMS.delete_dangling_ids!
— Methoddelete_dangling_ids!(cntnr::SettingsContainer)
Sets all dangling IDs, i.e., IDs that do not point to any setting, to the default setting ID.
GEMS.geolocation
— Functiongeolocation(stng::ContainerSetting, sim::Simulation)
Get the location of a ContainerSetting by getting the location of the first contained setting.
geolocation(stng::IndividualSetting, sim::Simulation)
Get the location of a IndividualSetting. Fallback for non geolocated settings.
geolocation(stng::IndividualSetting)
Get the location of a IndividualSetting. Fallback for non geolocated settings.
geolocation(stng::IndividualSetting, sim::Simulation)
Get the location of a IndividualSetting.
geolocation(stng::IndividualSetting)
Get the location of a IndividualSetting.
GEMS.get_contained!
— Functionget_contained!(stng::Setting, dct::Dict{DataType, Vector{Int32}}, sim::Simulation)
Recursively gets the contained settings of the setting stng
and adds them to the dictionary dct
.
Parameters
stng::ContainerSetting
: Setting that may contain more settings on lower levelsdct::Dict{DataType, Vector{Int32}}
: Dictionary that will be filed with the found settingssim::Simulation
: Simulation object
get_contained!(stng::IndividualSetting, dct::Dict, sim::Simulation)
Gets the contained settings of an IndividualSetting, i.e., none.
Parameters
stng::IndividualSetting
: Lowest-level settingdct::Dict{DataType, Vector{Int32}}
: Dictionary that will be filed with the found settingssim::Simulation
: Simulation object
GEMS.get_containers!
— Functionget_containers!(stng::Setting, dct::Dict{DataType, Int32}, sim::Simulation)
Recursively gets the containers of the setting stng
and adds them to the dictionary dct.
Parameters
stng::Setting
: Setting to get upper-level settings fordct::Dict{DataType, Vector{Int32}}
: Dictionary that will be filed with the found settingssim::Simulation
: Simulation object
GEMS.get_open_contained!
— Functionget_open_contained!(stng::ContainerSetting, dct::Dict{DataType, Vector{Int32}}, sim::Simulation)
Recursively gets the contained settings of the setting stng
and adds them to the dictionary dct
if the containing setting is open.
Parameters
stng::ContainerSetting
: Setting that may contain more settings on lower levelsdct::Dict{DataType, Vector{Int32}}
: Dictionary that will be filed with the found settingssim::Simulation
: Simulation object
get_open_contained!(stng::IndividualSetting, dct::Dict{DataType, Vector{Int32}}, sim::Simulation)
Adds the individualsetting to the provided dictionary if it is open.
Parameters
stng::IndividualSetting
: Lowest-level settingdct::Dict{DataType, Vector{Int32}}
: Dictionary that will be filed with the found settingssim::Simulation
: Simulation object
GEMS.household
— Methodhousehold(i::Individual, sim::Simulation)::Household
Returns the Household
instance referenced in an individual.
GEMS.id
— Methodid(setting::Setting)
Returns the unique identifier of the setting.
GEMS.individuals!
— Functionindividuals!(setting::IndividualSetting, indivs::Vector{Individual}, simulation::Simulation)
Appends the individuals associated with a given IndividualSetting to the provided indivs
vector.
Parameters
setting::IndividualSetting
: Setting to get the individuals fromindivs::Vector{Individual}
: List that will be appeneded with the setting's individualssimulation::Simulation
: Simulation object
individuals!(setting::ContainerSetting, indivs::Vector{Individual}, simulation::Simulation)
Appends the individuals associated with a given ContainerSetting to the provided indivs
vector by recursively calling the individuals!
function.
Parameters
setting::ContainerSetting
: Setting to get the individuals fromindivs::Vector{Individual}
: List that will be appeneded with the setting's individualssimulation::Simulation
: Simulation object
GEMS.individuals
— Methodindividuals(setting::IndividualSetting)
Returns the individuals associated with the given setting.
GEMS.individuals
— Methodindividuals(setting::IndividualSetting, simulation::Simulation)
Returns the individuals associated with a given IndividualSetting.
GEMS.individuals
— Methodindividuals(setting::ContainerSetting, indivs::Vector{Individual}, simulation::Simulation)::Vector{Individual}
Returns the individuals associated with a given ContainerSetting by recursively getting the individuals of all contained settings using the individuals!
function.
GEMS.is_open
— Methodisopen(setting::Setting)
Returns wether the setting is opened (contacts can occur) or not. Without considering its containers.
GEMS.isactive
— Methodisactive(setting::Setting)
Returns whether the setting is considered active for simulation, e.g. an infection could spread in the setting.
GEMS.lat
— Methodlat(stng::Geolocated)
Returns latitude of geolocated setting.
GEMS.lon
— Methodlon(stng::Geolocated)
Returns longitude of geolocated setting.
GEMS.max_individuals
— Methodmax_individuals(stngs::Vector{Setting}, simulation::Simulation)
Returns the maximum number of individuals across all provided settings.
GEMS.min_individuals
— Methodmin_individuals(stngs::Vector{Setting}, simulation::Simulation)
Returns the minimum number of individuals across all provided settings.
GEMS.min_max_avg_individuals
— Methodmin_max_avg_individuals(stngs::Vector{Setting}, simulation::Simulation)
Returns a three-way tuple with (minimum, maximum, mean)
number of individuals associated with a setting in the provided stngs
vector.
GEMS.new_setting_ids!
— Methodnew_setting_ids!(cntnr::SettingsContainer, renaming_dict::Dict = Dict())
This function checks and updates the ids of settings in a SettingsContainer
object to ensure that they are continuous and start from 1. If the ids are not continuous or do not start from 1, the function will generate a warning and update the ids accordingly. This is then also used to update the contained and contains fields of the settings.
Arguments
cntnr::SettingsContainer
: TheSettingsContainer
object containing the settings.
GEMS.open!
— Functionopen!(setting::Setting)
Opens the setting.
open!(setting::Setting, simulation::Simulation)
Sets the setting and all settings contained by it as open.
GEMS.present_individuals
— Functionpresent_individuals(setting::IndividualSetting, simulation::Simulation)
Returns the individuals present in a given IndividualSetting, i.e., only those in open settings.
present_individuals(setting::ContainerSetting, simulation::Simulation)
Returns the individuals present in a given ContainerSetting, i.e., only those in open contained settings.
GEMS.present_individuals!
— Functionpresent_individuals!(setting::IndividualSetting, indivs::Vector{Individual}, simulation::Simulation)
Pushes the individuals present in a given IndividualSetting, i.e., only those in open settings to the provided indivs
vector.
Parameters
setting::IndividualSetting
: Setting to get the individuals fromindivs::Vector{Individual}
: List that will be appeneded with the setting's individualssimulation::Simulation
: Simulation object
present_individuals!(setting::ContainerSetting, indivs::Vector{Individual}, simulation::Simulation)
Pushes the individuals present in a given ContainerSetting, i.e., only those in open contained settings to the provided indivs
vector.
Parameters
setting::ContainerSetting
: Setting to get the individuals fromindivs::Vector{Individual}
: List that will be appeneded with the setting's individualssimulation::Simulation
: Simulation object
GEMS.schoolclass
— Methodschoolclass(i::Individual, sim::Simulation)::SchoolClass
Returns the SchoolClass
instance referenced in an individual.
GEMS.sample_individuals
— Functionsample_individuals(individuals::Vector{Individual}, n::Int64)
Returns a subsample of a vector of Individuals
of sample size n
.
sample_individuals(setting::IndividualSetting, n::Int64)
Returns a subsample of the setting's Individuals
of sample size n
.
GEMS.setting
— Methodsetting(container::SettingsContainer, type::DataType, id::Int32)
Returns a particular setting of a particular type and ID.
GEMS.settingchar
— Methodsettingchar(setting::Setting)
Returns a character that represents the type of setting.
GEMS.settings
— Methodsettings(container::SettingsContainer)
Returns a dictionary with all concrete setting types as keys and vectors of all known settings as values.
GEMS.settings
— Methodsettings(container::SettingsContainer, type::DataType)
Returns a vector of all known settings with provided type.
GEMS.settings_from_jld2!
— Methodsettings_from_jld2!(jld2file::String, cntnr::SettingsContainer, d::Dict= Dict())
Loads the settings saved in jld2file
and add them to the existing SettingsContainer. The renaming dictionary is used to find the correct updated values of the ids of the IndividualSettings and change the values in the containers accordingly. If the jld2file does not correspond to "" (corresponding to no settingfile) and does not exist, an error message is printed.
GEMS.settings_from_population
— Methodsettings_from_population(population::Population, global_setting::Bool = false)
Creates all settings defined by the attributes of the individuals inside a given population. Return a dictionary with all known concrete setting types as keys and a vector of created settings.
GEMS.settingstring
— Methodsettingstring(c::Char)
Returns a string that represents the type of setting based on a char that is returned from the function settingchar
.
GEMS.settingtypes
— Functionsettingtypes(container::SettingsContainer)
Returns all known setting types of the provided container.