/** @class not_implemented_default
 *  @brief Default that should never be instantiated
 * 
 * The actual work is done by not_implemented_default<int>
 * The work is done by a 
 * @link not_implemented_default\<int\> specialization@endlink
 */
template <typename DType>
struct not_implemented_default;

/** @brief specialization of not_implemented_default
 *
 * More details on the functionality of this 
 * specialization
 */
template <> struct not_implemented_default<int> {
  typedef int * type; ///< Some docs for the typedef
};

