diff --git a/source/structs/package.d b/source/structs/package.d index 68d5d2f..b3b920f 100644 --- a/source/structs/package.d +++ b/source/structs/package.d @@ -369,7 +369,15 @@ public { private { - const(Element[]) elements = parse_string(CONFIG); + static const(Element[]) elements = parse_string(CONFIG); + static const(size_t) elements_size = { + size_t size = 0; + static foreach (i; elements) + { + size += i.packSize(); + } + return size; + }(); } public @@ -380,12 +388,7 @@ public +/ static size_t size() { - size_t result = 0; - static foreach (i; elements) - { - result += i.packSize(); - } - return result; + return elements_size; } } }