Можно ли определить, является ли тип неполным без сбоя компиляции?

Я хочу добиться такого поведения, как sizeof (complete_type) вернет реальный sizeof, а sizeof (incomplete_type) - будет просто 0

Это необходимо для предоставления расширенной информации о типе времени выполнения для связи IPC (между процессами) со структурой описания для каждого типа:

struct my_type_info
{
    bool   is_pointer;
    size_t size;         //for double* will be 4 on i386. that is sizeof(double*)
    size_t base_size;    //for double* will be 8. that is sizeof(double)
};

Проблема возникает, когда в мою систему входит что-то вроде класса MyOnlyDeclaredClass; Я получил ошибку компиляции, очевидно, по причине, что я не могу принять ее размер.

повысить type_traitshttp://www.boost.org/doc/libs/1_48_0/libs/type_traits/doc/html/index.html предлагает много классов во время компиляции, но нет 'is_incomplete'

Интересными компиляторами являются VS2008, VS2010, clang 3, gcc-4.6, gcc-4.7.

Ответы на вопрос(2)

Ваш ответ на вопрос