2022-01-15 01:44:06 +02:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
< title > Location Requirements< / title >
< link href = "../docs-assets/Breadcrumbs.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< meta name = "viewport" content = "width=device-width initial-scale=1" >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Language" content = "en-gb" >
< link href = "../docs-assets/Contents.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Progress.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Navigation.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Fonts.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Base.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< script >
function togglePopup(material_id) {
var popup = document.getElementById(material_id);
popup.classList.toggle("show");
}
< / script >
< link href = "../docs-assets/Popups.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Colours.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< / head >
< body class = "commentary-font" >
< nav role = "navigation" >
2022-04-28 19:37:28 +03:00
< h1 > < a href = "../index.html" >
2022-01-15 01:44:06 +02:00
< img src = "../docs-assets/Inform.png" height = 72" >
< / a > < / h1 >
2022-04-28 19:37:28 +03:00
< ul > < li > < a href = "../index.html" > home< / a > < / li >
2022-04-04 20:31:44 +03:00
< / ul > < h2 > Compiler< / h2 > < ul >
< li > < a href = "../structure.html" > structure< / a > < / li >
< li > < a href = "../inbuildn.html" > inbuild< / a > < / li >
< li > < a href = "../inform7n.html" > inform7< / a > < / li >
< li > < a href = "../intern.html" > inter< / a > < / li >
< li > < a href = "../services.html" > services< / a > < / li >
2022-04-18 17:46:46 +03:00
< li > < a href = "../secrets.html" > secrets< / a > < / li >
2022-04-04 20:31:44 +03:00
< / ul > < h2 > Other Tools< / h2 > < ul >
< li > < a href = "../inblorbn.html" > inblorb< / a > < / li >
< li > < a href = "../indocn.html" > indoc< / a > < / li >
< li > < a href = "../inform6.html" > inform6< / a > < / li >
< li > < a href = "../inpolicyn.html" > inpolicy< / a > < / li >
< li > < a href = "../inrtpsn.html" > inrtps< / a > < / li >
2022-04-05 14:14:27 +03:00
< / ul > < h2 > Resources< / h2 > < ul >
< li > < a href = "../extensions.html" > extensions< / a > < / li >
< li > < a href = "../kits.html" > kits< / a > < / li >
2022-04-04 20:31:44 +03:00
< / ul > < h2 > Repository< / h2 > < ul >
< li > < a href = "https://github.com/ganelson/inform" > < img src = "../docs-assets/github.png" height = 18 > github< / a > < / li >
< / ul > < h2 > Related Projects< / h2 > < ul >
2022-04-28 19:20:06 +03:00
< li > < a href = "../../../inweb/index.html" > inweb< / a > < / li >
< li > < a href = "../../../intest/index.html" > intest< / a > < / li >
2022-01-15 01:44:06 +02:00
< / ul >
< / nav >
< main role = "main" >
<!-- Weave of 'Location Requirements' generated by Inweb -->
< div class = "breadcrumbs" >
2022-04-28 19:37:28 +03:00
< ul class = "crumbs" > < li > < a href = "../index.html" > Home< / a > < / li > < li > < a href = "../intern.html" > Inter Modules< / a > < / li > < li > < a href = "index.html" > building< / a > < / li > < li > < a href = "index.html#1" > Chapter 1: Architecture< / a > < / li > < li > < b > Location Requirements< / b > < / li > < / ul > < / div >
2022-01-16 14:04:10 +02:00
< p class = "purpose" > A way to express rules for the permitted places where inames and packages are allowed to appear in the Inter hierarchy.< / p >
< p class = "commentary firstcommentary" > < a id = "SP1" class = "paragraph-anchor" > < / a > < b > § 1. < / b > As seen in < a href = "1-hl.html" class = "internal" > Hierarchy Locations< / a > , each < a href = "1-hl.html#SP1" class = "internal" > hierarchy_location< / a > and
2023-05-08 02:00:16 +03:00
< a href = "1-hl.html#SP17" class = "internal" > hierarchy_attachment_point< / a > stipulates something about where its resource
2022-01-16 14:04:10 +02:00
(an iname, a package) can aopear in the hierarchy. For example, that might be
"only in < span class = "extract" > < span class = "extract-syntax" > /main/ingredients< / span > < / span > ", or "only in a package of type < span class = "extract" > < span class = "extract-syntax" > _recipe< / span > < / span > ".
2022-01-15 01:44:06 +02:00
< / p >
< p class = "commentary" > A variety of stipulations can be made, and with memory consumption unimportant
here, the following is really a union: almost all the fields will be left blank.
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > typedef< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > submodule_identity< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > any_submodule_package_of_this_identity< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > this_exact_package< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > this_exact_package_not_yet_created< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > any_package_of_this_type< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > any_enclosure< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > must_be_plug< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > ;< / span >
2022-01-16 14:04:10 +02:00
< span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > LocationRequirements::blank< / span > < button class = "popup" onclick = "togglePopup('usagePopup1')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup1" > Usage of < span class = "code-font" > < span class = "function-syntax" > LocationRequirements::blank< / span > < / span > :< br / > < a href = "1-lr.html#SP2" > § 2< / a > , < a href = "1-lr.html#SP3" > § 3< / a > , < a href = "1-lr.html#SP4" > § 4< / a > , < a href = "1-lr.html#SP6" > § 6< / a > , < a href = "1-lr.html#SP7" > § 7< / a > , < a href = "1-lr.html#SP8" > § 8< / a > , < a href = "1-lr.html#SP9" > § 9< / a > , < a href = "1-lr.html#SP10" > § 10< / a > , < a href = "1-lr.html#SP11" > § 11< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > any_submodule_package_of_this_identity< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > this_exact_package< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > this_exact_package_not_yet_created< / span > < span class = "plain-syntax" > = -1;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > any_package_of_this_type< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > any_enclosure< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > must_be_plug< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
< ul class = "endnotetexts" > < li > The structure location_requirement is accessed in 1/hl and here.< / li > < / ul >
2022-01-16 14:04:10 +02:00
< p class = "commentary firstcommentary" > < a id = "SP2" class = "paragraph-anchor" > < / a > < b > § 2. < / b > "You must put me in package < span class = "extract" > < span class = "extract-syntax" > P< / span > < / span > ."
2022-01-15 01:44:06 +02:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
2022-01-16 14:04:10 +02:00
< span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > LocationRequirements::this_package< / span > < button class = "popup" onclick = "togglePopup('usagePopup2')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup2" > Usage of < span class = "code-font" > < span class = "function-syntax" > LocationRequirements::this_package< / span > < / span > :< br / > < a href = "1-lr.html#SP5" > § 5< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ) {< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > = < / span > < a href = "1-lr.html#SP1" class = "function-link" > < span class = "function-syntax" > LocationRequirements::blank< / span > < / a > < span class = "plain-syntax" > ();< / span >
2022-01-16 14:04:10 +02:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > this_exact_package< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ;< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2022-01-16 14:04:10 +02:00
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP3" class = "paragraph-anchor" > < / a > < b > § 3. < / b > "You can put me in any package of this type."
< / p >
2022-01-15 01:44:06 +02:00
2022-01-16 14:04:10 +02:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > LocationRequirements::any_package_of_type< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > ptype_name< / span > < span class = "plain-syntax" > ) {< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > = < / span > < a href = "1-lr.html#SP1" class = "function-link" > < span class = "function-syntax" > LocationRequirements::blank< / span > < / a > < span class = "plain-syntax" > ();< / span >
2022-01-16 14:04:10 +02:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > any_package_of_this_type< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::duplicate< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > ptype_name< / span > < span class = "plain-syntax" > );< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2022-01-16 14:04:10 +02:00
< / pre >
2022-02-03 17:51:44 +02:00
< p class = "commentary firstcommentary" > < a id = "SP4" class = "paragraph-anchor" > < / a > < b > § 4. < / b > "You can put me in any enclosing package." (See < a href = "1-ls.html#SP18" class = "internal" > LargeScale::package_type< / a >
2022-01-16 14:04:10 +02:00
for what this means.)
< / p >
2022-01-15 01:44:06 +02:00
2022-01-16 14:04:10 +02:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > LocationRequirements::any_enclosure< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > = < / span > < a href = "1-lr.html#SP1" class = "function-link" > < span class = "function-syntax" > LocationRequirements::blank< / span > < / a > < span class = "plain-syntax" > ();< / span >
2022-01-16 14:04:10 +02:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > any_enclosure< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2022-01-16 14:04:10 +02:00
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP5" class = "paragraph-anchor" > < / a > < b > § 5. < / b > "You must put me in < span class = "extract" > < span class = "extract-syntax" > /main/architectural< / span > < / span > ."
< / p >
2022-01-15 01:44:06 +02:00
2022-01-16 14:04:10 +02:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > LocationRequirements::architectural_package< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inter_tree< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ) {< / span >
2022-02-03 01:35:38 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "1-lr.html#SP2" class = "function-link" > < span class = "function-syntax" > LocationRequirements::this_package< / span > < / a > < span class = "plain-syntax" > (< / span > < a href = "1-ls.html#SP7" class = "function-link" > < span class = "function-syntax" > LargeScale::architecture_request< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ));< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > }< / span >
2022-01-16 14:04:10 +02:00
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP6" class = "paragraph-anchor" > < / a > < b > § 6. < / b > "You must put me in < span class = "extract" > < span class = "extract-syntax" > /main/connectors< / span > < / span > , as a plug."
< / p >
2022-01-15 01:44:06 +02:00
2022-01-16 14:04:10 +02:00
< pre class = "displayed-code all-displayed-code code-font" >
2023-05-08 02:00:16 +03:00
< span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > LocationRequirements::plug< / span > < button class = "popup" onclick = "togglePopup('usagePopup3')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup3" > Usage of < span class = "code-font" > < span class = "function-syntax" > LocationRequirements::plug< / span > < / span > :< br / > Hierarchy Locations - < a href = "1-hl.html#SP21" > § 21< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > = < / span > < a href = "1-lr.html#SP1" class = "function-link" > < span class = "function-syntax" > LocationRequirements::blank< / span > < / a > < span class = "plain-syntax" > ();< / span >
2022-01-16 14:04:10 +02:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > must_be_plug< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2022-01-16 14:04:10 +02:00
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP7" class = "paragraph-anchor" > < / a > < b > § 7. < / b > "You must put me in a submodule, identified by < span class = "extract" > < span class = "extract-syntax" > sid< / span > < / span > , of some module." In
practice, < a href = "../inform7/index.html" class = "internal" > inform7< / a > uses this to place material in the module associated with
the compilation unit where the material came from — the source text, or a
particular extension — and this is why the term "local" is used.
< / p >
2022-01-15 01:44:06 +02:00
2022-01-16 14:04:10 +02:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > LocationRequirements::local_submodule< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > submodule_identity< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > sid< / span > < span class = "plain-syntax" > ) {< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > = < / span > < a href = "1-lr.html#SP1" class = "function-link" > < span class = "function-syntax" > LocationRequirements::blank< / span > < / a > < span class = "plain-syntax" > ();< / span >
2022-01-16 14:04:10 +02:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > any_submodule_package_of_this_identity< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > sid< / span > < span class = "plain-syntax" > ;< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2022-01-16 14:04:10 +02:00
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP8" class = "paragraph-anchor" > < / a > < b > § 8. < / b > "You must put me in a submodule, identified by < span class = "extract" > < span class = "extract-syntax" > sid< / span > < / span > , of the generic module."
So, for example, in < span class = "extract" > < span class = "extract-syntax" > /main/generic/properties< / span > < / span > , where < span class = "extract" > < span class = "extract-syntax" > properties< / span > < / span > is the
submodule.
< / p >
2022-01-15 01:44:06 +02:00
2022-01-16 14:04:10 +02:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > LocationRequirements::generic_submodule< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inter_tree< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > submodule_identity< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > sid< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > = < / span > < a href = "1-lr.html#SP1" class = "function-link" > < span class = "function-syntax" > LocationRequirements::blank< / span > < / a > < span class = "plain-syntax" > ();< / span >
2022-02-03 17:51:44 +02:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > this_exact_package< / span > < span class = "plain-syntax" > = < / span > < a href = "1-ls.html#SP15" class = "function-link" > < span class = "function-syntax" > LargeScale::generic_submodule< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > sid< / span > < span class = "plain-syntax" > );< / span >
2022-01-16 14:04:10 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > ;< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > }< / span >
2022-01-16 14:04:10 +02:00
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP9" class = "paragraph-anchor" > < / a > < b > § 9. < / b > "You must put me in a submodule, identified by < span class = "extract" > < span class = "extract-syntax" > sid< / span > < / span > , of the synoptic module."
< / p >
2022-01-15 01:44:06 +02:00
2022-01-16 14:04:10 +02:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > LocationRequirements::synoptic_submodule< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inter_tree< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > submodule_identity< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > sid< / span > < span class = "plain-syntax" > ) {< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > = < / span > < a href = "1-lr.html#SP1" class = "function-link" > < span class = "function-syntax" > LocationRequirements::blank< / span > < / a > < span class = "plain-syntax" > ();< / span >
2022-02-03 17:51:44 +02:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > this_exact_package< / span > < span class = "plain-syntax" > = < / span > < a href = "1-ls.html#SP15" class = "function-link" > < span class = "function-syntax" > LargeScale::synoptic_submodule< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > sid< / span > < span class = "plain-syntax" > );< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2022-01-16 14:04:10 +02:00
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP10" class = "paragraph-anchor" > < / a > < b > § 10. < / b > "You must put me in a submodule, identified by < span class = "extract" > < span class = "extract-syntax" > sid< / span > < / span > , of the completion module."
< / p >
2022-01-15 01:44:06 +02:00
2022-01-16 14:04:10 +02:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > LocationRequirements::completion_submodule< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inter_tree< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > submodule_identity< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > sid< / span > < span class = "plain-syntax" > ) {< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > = < / span > < a href = "1-lr.html#SP1" class = "function-link" > < span class = "function-syntax" > LocationRequirements::blank< / span > < / a > < span class = "plain-syntax" > ();< / span >
2022-02-03 17:51:44 +02:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > this_exact_package< / span > < span class = "plain-syntax" > = < / span > < a href = "1-ls.html#SP15" class = "function-link" > < span class = "function-syntax" > LargeScale::completion_submodule< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > sid< / span > < span class = "plain-syntax" > );< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2022-01-16 14:04:10 +02:00
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP11" class = "paragraph-anchor" > < / a > < b > § 11. < / b > "You must put me somewhere exceptional." This is a hook used by < a href = "../inform7/index.html" class = "internal" > inform7< / a > ,
and which doesn't work in < a href = "../inter/index.html" class = "internal" > inter< / a > alone, for a handful of oddball cases
where a resource needs to be put somewhere strange. See < a href = "../runtime-module/2-hrr.html" class = "internal" > Hierarchy (in runtime)< / a > .
< / p >
2022-01-15 01:44:06 +02:00
2022-01-16 14:04:10 +02:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > LocationRequirements::this_exotic_package< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > ) {< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > location_requirement< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > = < / span > < a href = "1-lr.html#SP1" class = "function-link" > < span class = "function-syntax" > LocationRequirements::blank< / span > < / a > < span class = "plain-syntax" > ();< / span >
2022-01-16 14:04:10 +02:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > this_exact_package_not_yet_created< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > ;< / span >
2022-01-15 01:44:06 +02:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > req< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
< nav role = "progress" > < div class = "progresscontainer" >
< ul class = "progressbar" > < li class = "progressprev" > < a href = "1-hl.html" > ❮ < / a > < / li > < li class = "progresschapter" > < a href = "P-wtmd.html" > P< / a > < / li > < li class = "progresscurrentchapter" > 1< / li > < li class = "progresssection" > < a href = "1-bm.html" > bm< / a > < / li > < li class = "progresssection" > < a href = "1-ls.html" > ls< / a > < / li > < li class = "progresssection" > < a href = "1-ip.html" > ip< / a > < / li > < li class = "progresssection" > < a href = "1-hl.html" > hl< / a > < / li > < li class = "progresscurrent" > lr< / li > < li class = "progresssection" > < a href = "1-trn.html" > trn< / a > < / li > < li class = "progresssection" > < a href = "1-pck.html" > pck< / a > < / li > < li class = "progresssection" > < a href = "1-in.html" > in< / a > < / li > < li class = "progresschapter" > < a href = "2-is.html" > 2< / a > < / li > < li class = "progresschapter" > < a href = "3-prd.html" > 3< / a > < / li > < li class = "progressnext" > < a href = "1-trn.html" > ❯ < / a > < / li > < / ul > < / div >
< / nav > <!-- End of weave -->
< / main >
< / body >
< / html >