Здравствуйте, коллеги!
Вопрос такой. Сейчас используются вложенные типы примерно так:
struct CStructA
{
...
struct metaData
{
...
};
};
// сейчас это не требуется
// но это можно добавить в существующие исходники
typedef CStructA::metaData metaDataForStructA;
// шаблонная функция, которую хочется модернизировать
template <typename STRUCT>
STRUCT::metaData getMetaData( const STRUCT &s)
...
Сейчас возникло желание делать так:
struct CStructB
{
...
};
struct metaDataForStructB
{
...
};
Т.е хочется отделить описание meta data от самих данных, с тем чтобы описывать и чужие данные, изменять чужие исходники в общем случае нельзя, с другой стороны, первый вариант уже много где используется и ломать его тоже не хочется. Как бы извратится и написать шаблон getMetaData?