template <> \
struct GenericObjectTypeDeclared< T > \
{ \
static inline void check() {}; \
}; \
template <> \
void DictionaryInterface::setProperty( const std::string &key, \
T const &value ); \
template <> \
bool DictionaryInterface::getProperty( const std::string &key, T &value ) const; \
extern template class TypedObject< T >; \
extern template class ReferenceObject< T >; \
extern template class PointerObject< T >; \
extern template \
T const &GenericObject::value< T >() const; \
extern template \
T &GenericObject::value< T >(); \
template <> \
bool GenericObject::value( T &dest ) const; \
template <> \
void GenericObject::setValue( T const & x ); \
extern template bool DictionaryInterface:: \
getProperty( const std::string &, T & ) const; \
extern template void DictionaryInterface:: \
setProperty( const std::string &, T const & ); \