title: Explicit member specialization using IBM Rational Rhapsody
body: <p>I want to explicitly specialize some member functions inside a class using IBM Rational Rhapsody. </p>
  
  <p>What I have done so far;
  I created a function inside a regular class, marked it as a <strong>template</strong>. Marked <strong>CG::Generate</strong> to <strong>Specification</strong>. This will be the prototype of the template.</p>
  
  <p>Then I created another function. Marked it as a template. Pointed the function I created above as <strong>Primary Template</strong> under Template Parameters. Filled Implementation. Here is the code that Rhapsody generates: </p>
  
  <pre><code>//## class MyConvert
  class MyConvert {
  ////    Constructors and destructors    ////
  
  public :
  
  MyConvert();
  
  ~MyConvert();
  
  ////    Operations    ////
  
  //## operation strtox(char*,char*)
  template &lt;typename T&gt; inline static T strtox(char* in, char** end);
  
  //## operation strtox(char*,char**)
  template &lt;&gt; inline double strtox&lt;double&gt;(char* in, char** end) {
      //#[ operation strtox(char*,char**)
      return strtod(in, end);           
      //#]
  }
  };
  </code></pre>
  
  <p>When I compile this, I get this: <code>error: explicit specialization in non-namespace scope 'class MyConvert'</code></p>
  
  <p>Explicit specialization should be implemented outside of class definition, like this: </p>
  
  <pre><code>//## class MyConvert
  class MyConvert {
      ////    Constructors and destructors    ////
  
  public :
  
      MyConvert();
  
      ~MyConvert();
  
      ////    Operations    ////
  
      //## operation strtox(char*,char*)
      template &lt;typename T&gt; inline static T strtox(char* in, char** end);
  };
  
  //## operation strtox(char*,char**)
  template &lt;&gt; inline double MyConvert::strtox&lt;double&gt;(char* in, char** end) {
      //#[ operation strtox(char*,char**)
      return strtod(in, end);           
      //#]
  }
  </code></pre>
  
  <p>How to achieve this using Rhapsody?</p>