/**
 *  DemeterF <i>per-class DGP</i> classes.
 *  <p>
 *  The class PCDGPFunc can be extended to implement functionality for all
 *    the classes in a given CD, generated on a <i>per-class</i> basis.  This
 *    is done with a DemeterF traversal over each <tt>TypeDef</tt> from the CD.
 *    The structures involved are defined in the demfgen CD file:<br> 
 *       <tt>edu/neu/ccs/demeterf/demfgen/demfgen.cd</tt><br>
 *  </p>
 *  
 *  <p>
 *  The provided PCDGP functions are as follows:
 *    <ul>
 *    <li><tt>Getters</tt>: </li>
 *    <li><tt>Updaters</tt>: </li>
 *    <li><tt>Setters</tt>: </li>
 *    <li><tt>Creator</tt>: </li>
 *    </ul>
 *  </p>
 *  
 *  <p>
 *  The functions to be generated are specified as an argument to DemeterF with
 *    the option: <tt>--pcdgp:</tt> immediately followed by a list of PCDGPFunc class
 *    names separated by colons (":").
 *  </p>
 *  
 *  <p><h3>Example:</h3>
 *  <blockquote>
 *     CD: pcdgp.cd
 *      <pre>
 *        MainC = <i> int <d> double.
 *      </pre><br>
 *     
 *     Build With:
 *     <pre>
 *        Java:  java demeterf pcdgp.cd any.beh ./ --pcdgp:Getters
 *          C#:  java demeterfcs pcdgp.cd any.beh ./ --pcdgp:Getters
 *     </pre><br>
 *     
 *     Generated Class Snipet (For Both):
 *     <pre style="border:solid blue 1px;margin-left:60px;width:400px;">
 *        public class MainC{
 *            protected final int i;
 *            protected final double d;
 *    
 *            /** Other ... Stuff * /
 *    
 *            /** Getter for field MainC.d * /
 *            public double getD(){ return d; }
 *            /** Getter for field MainC.i * /
 *            public int getI(){ return i; }
 *        }
 *     </pre><br>
 *  </blockquote>
 *  
 *  See individual source files for more details.
 *  
 *  </p>
 */

package edu.neu.ccs.demeterf.demfgen.pcdgp;