home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.c++.moderated      Moderated discussion of C++ superhackery      33,346 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 31,777 of 33,346   
   Seungbeom Kim to All   
   What is template specialization?   
   05 Jan 12 09:04:53   
   
   From: musiphil@bawi.org   
      
   I've been confused with some concepts and terminology. I read from 14.7/4:   
      
       An instantiated template specialization can be either implicitly   
       instantiated for a given argument list or be explicitly instantiated.   
      
       A specialization is a class, function, or class member   
       that is either instantiated or explicitly specialized.   
      
   That leads to a (very rough) diagram like this:   
      
                             specialization   
                         ↗                   ↖   
                   instantiation           explicit   
                ↗               ↖      specialization   
             implicit         explicit   
           instantiation    instantiation   
      
   where "→" stands for an "is-a" relationship; i.e. implicit instantiation   
   is-an instantiation, which is-a specialization. Is this correct?   
      
   Then, where does partial specialization stand? I presume that a partially   
   specialized template, unlike an explicitly specialized template, still   
   needs to be instantiated, either implicitly or explicitly. So it falls   
   under the category of instantiation above.   
      
   On the other hand, I've seen people say that there are two kinds of   
   specialization: partial and explicit. Is that dichotomy correct or wrong?   
   If it is correct, how should it be reconciled with the taxonomy of 14.7/4?   
      
   Thank you for your enlightenment in advance.   
      
   --   
   Seungbeom Kim   
      
      
         [ See http://www.gotw.ca/resources/clcm.htm for info about ]   
         [ comp.lang.c++.moderated.    First time posters: Do this! ]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca