template <> \
template <> \
std::string sotClassType<sotType>::getTypeName(void) { \
return #sotType; \
} \
template <> \
const std::string sotClassType<sotType>::CLASS_NAME = \
std::string(className) + "_of_" + #sotType; \
extern "C" { \
Entity *regFunction##_##sotType##_##sotClassType( \
const std::string &objname) { \
return new sotClassType<sotType>(objname); \
} \
EntityRegisterer regObj##_##sotType##_##sotClassType( \
std::string(className) + "_of_" + #sotType, \
®Function##_##sotType##_##sotClassType); \
}