.. _stdlib_module_group: ========================================= Calls into every member of a module group ========================================= .. das:module:: module_group The MODULE_GROUP module calls into every member of a module group. ``call_module_group("group", "entry", args...)`` expands at compile time to one ``member::entry(args...)`` call per module registered under the group, sorted by member path, so the module that wrote ``require [group]`` reaches its members without naming them. A member without the entry is a compile error naming the call; a group nothing joined expands to nothing. All functions and symbols are in "module_group" module, use require to get access to it. .. code-block:: das require daslib/module_group +++++++++++ Call macros +++++++++++ .. _call-macro-module_group-call_module_group: .. das:attribute:: call_module_group `call_module_group("group", "entry", args...)` expands to one `member::entry(args...)` call per member, sorted by member path, an empty group to nothing; an argument that is not a constant or a plain variable is bound to a local ahead of the calls, so it is evaluated once. +++++++++++++ Group members +++++++++++++ * :ref:`module_group_module_name (member: string) : string ` .. _function-module_group_module_group_module_name_string: .. das:function:: module_group_module_name(member: string) : string The module a group member's require path names: its last segment, less the `.das` a relative spelling (`./foo.das`) may carry. :Arguments: * **member** : string