Re[2]: Рекурсия в шаблонах.
От: korzhik Россия  
Дата: 22.09.04 14:34
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, adontz, Вы писали:


A>Беру решение g_i

A>Всем спасибо.
A>rebind тоже рабочее решение, но выглядит страшно

да ничего там страшного нет
делаешь typedef
template <typename M>
class tree_node
{
  typedef M::rebind<tree_node<memory_manager<> > >::other allocator;
  // . . .
  ~tree_node()
  {
     allocator::free(left);
     allocator::free(right);
  }
};

и всё.
ну хозяин барин, я не вникал в решение g_i, может оно и лучше
Re: Рекурсия в шаблонах.
От: g_i  
Дата: 23.09.04 06:51
Оценка:
Здравствуйте, adontz, Вы писали:

A>Пишу дерево распределение памяти в котором должно регулироваться policy классом.


А можно полюбопытствовать, почему менеджеру памяти нужен все же именно узел — почему входящим типом не обойтись не обойтись?
... << RSDN@Home 1.1.3 stable >>
Re[2]: Рекурсия в шаблонах.
От: adontz Грузия http://adontz.wordpress.com/
Дата: 23.09.04 08:07
Оценка:
Здравствуйте, g_i, Вы писали:

A>>Пишу дерево распределение памяти в котором должно регулироваться policy классом.

g_i>А можно полюбопытствовать, почему менеджеру памяти нужен все же именно узел — почему входящим типом не обойтись не обойтись?

Ну узлы-то разные бывают. Ведь надо выделять память не только под 3 указателя, но и под дополнительные данные. А они кстати тоже разные. Если их ещё как-то можно охаректеризовать парой {data, key} то ничего конкретного об этих data и key сказать уже нельзя.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[3]: Рекурсия в шаблонах.
От: g_i  
Дата: 23.09.04 08:26
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, g_i, Вы писали:


A>>>Пишу дерево распределение памяти в котором должно регулироваться policy классом.

g_i>>А можно полюбопытствовать, почему менеджеру памяти нужен все же именно узел — почему входящим типом не обойтись не обойтись?

A>Ну узлы-то разные бывают. Ведь надо выделять память не только под 3 указателя, но и под дополнительные данные. А они кстати тоже разные. Если их ещё как-то можно охаректеризовать парой {data, key} то ничего конкретного об этих data и key сказать уже нельзя.


Вот тут немножко непонятно, как менеджер разберется, что с этими данными делать (ввиду того, что "ничего конкретного об этих data и key сказать уже нельзя"). Чтобы принять решение об определенных действиях над данными объекта Node (учитывая конструктивные особенности этого объекта), он должен, наверное, иметь специализацию для конкретного класса Node — полученной на лету реализацией шаблонного класса, вроде, не обойтись?
Re[4]: Рекурсия в шаблонах.
От: adontz Грузия http://adontz.wordpress.com/
Дата: 23.09.04 09:01
Оценка:
Здравствуйте, g_i, Вы писали:

g_i>Вот тут немножко непонятно, как менеджер разберется, что с этими данными делать (ввиду того, что "ничего конкретного об этих data и key сказать уже нельзя"). Чтобы принять решение об определенных действиях над данными объекта Node (учитывая конструктивные особенности этого объекта), он должен, наверное, иметь специализацию для конкретного класса Node — полученной на лету реализацией шаблонного класса, вроде, не обойтись?


А менеджер делать ничего и не должен, он должен только выделять и освобождать память под эти данные. Причём есть две операции выделения: под новый элемент и под копию уже существующего элемента.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[5]: Рекурсия в шаблонах.
От: g_i  
Дата: 23.09.04 09:13
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, g_i, Вы писали:


g_i>>Вот тут немножко непонятно, как менеджер разберется, что с этими данными делать (ввиду того, что "ничего конкретного об этих data и key сказать уже нельзя"). Чтобы принять решение об определенных действиях над данными объекта Node (учитывая конструктивные особенности этого объекта), он должен, наверное, иметь специализацию для конкретного класса Node — полученной на лету реализацией шаблонного класса, вроде, не обойтись?


A>А менеджер делать ничего и не должен, он должен только выделять и освобождать память под эти данные. Причём есть две операции выделения: под новый элемент и под копию уже существующего элемента.



Вообще, вопрос интересный, и дискуссию можно было бы продолжить. Но тема начинает потихоньку расползаться, а еще и работать надо.. В общем, удачи.
Re[6]: Рекурсия в шаблонах.
От: adontz Грузия http://adontz.wordpress.com/
Дата: 23.09.04 09:35
Оценка:
Здравствуйте, g_i, Вы писали:

g_i>Вообще, вопрос интересный, и дискуссию можно было бы продолжить. Но тема начинает потихоньку расползаться, а еще и работать надо.. В общем, удачи.


У нас ещё будет такая возможность Некоторая часть кода скорее всего будет выставлена в форуме Исходники
A journey of a thousand miles must begin with a single step © Lau Tsu
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.