LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

внутри всяких там core, это и написано как на с++ «с нуля». но ничего такого особого тут с нуля нет, поскольку все довольно примитивно и писалось наверняка не раз.

на плюсах примерно такой очевидный интерфейс динамической декларации класса:

auto lc = add_class("my_dynamic_class");
lc->add_field("x", IntType);
lc->add_field("y", IntType);
lc->add_field("z", IntType);
...
lc->end_class();

примерно так работает компилятор, когда читает декларацию вашего типа.

можно разумеется использовать не только простые типы в декларации полей, но и ранее уже определенные динамически, или даже статически.

зы. чисто оценочно полная поддержка таких динамических типов и работа с ними, это не более 1000 строк, ну 2000 строк, это уже какой-то теоретический даже предел.

Исправление alysnix, :

внутри всяких там core, это и написано как на с++ «с нуля». но ничего такого особого тут с нуля нет, поскольку все довольно примитивно и писалось наверняка не раз.

на плюсах примерно такой очевидный интерфейс динамической декларации класса:

auto lc = add_class("my_dynamic_class");
lc->add_field("x", IntType);
lc->add_field("y", IntType);
lc->add_field("z", IntType);
...
lc->end_class();

примерно так работает компилятор, когда читает декларацию вашего типа.

можно разумеется использовать не только простые типы в декларации полей, но и ранее уже определенные динамически, или даже статически.

Исправление alysnix, :

внутри всяких там core, это и написано как на с++ «с нуля». но ничего такого особого тут с нуля нет, поскольку все довольно примитивно и писалось наверняка не раз.

на плюсах примерно такой очевидный интерфейс динамической декларации класса:

auto lc = add_class("my_dynamic_class");
lc->add_field("x", IntType);
lc->add_field("y", IntType);
lc->add_field("z", IntType);
...
lc->end_class();

примерно так работает компилятор, когда читает декларацию вашего типа.

Исходная версия alysnix, :

внутри всяких там core, это и написано как на с++ «с нуля». но ничего такого особого тут с нуля нет, поскольку все довольно примитивно и писалось наверняка не раз.

на плюсах примерно такой очевидный интерфейс динамической декларации класса:

auto lc = add_class(«my_dynamic_class»); lc->add_field(«x», IntType); lc->add_field(«y», IntType); lc->add_field(«z», IntType); … lc->end_class();

примерно так работает компилятор, когда читает декларацию вашего типа.