local struct = require "Structure" local common = require "CommonStruct" local my_struct = { { type="file", style="hdr", name="GetFilename(basename, spec, options)", { type="block", name="IncludeGuard", { type="write", name="Guards(hFile, spec, options)", }, { type="blank" }, { type="write", name="Typedefs(hFile, specData, spec, options)",}, { type="blank" }, { type="block", name="Extern(hFile)", { type="ext-iter", { type="write", name="Extension(hFile, extName, spec, options)", }, }, { type="blank" }, common.Enumerators(), { type="blank" }, common.Functions(), { type="blank" }, { type="write", name="MainLoaderFunc(hFile, spec, options)",}, }, }, }, { type="file", style="src", name="GetFilename(basename, spec, options)", { type="write", name="Includes(hFile, basename, spec, options)", }, { type="blank" }, { type="write", name="LoaderFunc(hFile, spec, options)", }, { type="blank" }, { type="ext-iter", { type="write", name="Extension(hFile, extName, spec, options)", }, }, { type="blank" }, common.Functions(), { type="ext-iter", { type="block", name="ExtFuncLoader(hFile, extName, spec, options)", cond="func-iter", { type="func-iter", { type="write", name="LoadFunction(hFile, func, spec, options)", }, }, }, { type="blank", cond="func-iter",}, }, { type="block", name="CoreLoader(hFile, spec, options)", cond="core-funcs", { type="version-iter", {type="func-iter", { type="write", name="LoadFunction(hFile, func, spec, options)", }, }, }, }, { type="blank", }, { type="write", name="MainLoaderFunc(hFile, specData, spec, options)",}, }, } my_struct = struct.BuildStructure(my_struct) return my_struct