\begin{ccRefConcept}{PolynomialTraits_d::Shift}
\ccDefinition

This \ccc{AdaptableFunctor} shifts a \ccc{PolynomialTraits_d::Polynomial_d} by 
some power of a variable. 

\ccRefines 
\ccc{AdaptableFunctor}

\ccTypes

\ccSetThreeColumns{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}{xxx}{}
\ccTypedef{typedef PolynomialTraits_d::Polynomial_d   result_type;}{}\ccGlue
\ccTypedef{typedef PolynomialTraits_d::Polynomial_d   first_argument_type;}{}\ccGlue
\ccTypedef{typedef int                                second_argument_type;}{}\ccGlue
\ccTypedef{typedef int                                third_argument_type;}{}

\ccOperations
\ccMethod{result_type operator()(first_argument_type  p,
                                 second_argument_type e);}
         { return $p * x_d^e$
          \ccPrecond $0 \leq e$     }
\ccMethod{result_type operator()(first_argument_type  p,
                                 second_argument_type e,
                                 third_argument_type  i);}
         { return $p * x_i^e$
          \ccPrecond $0 \leq e$   
          \ccPrecond $0 < i \leq d$
         }

%\ccHasModels

\ccSeeAlso

\ccRefIdfierPage{Polynomial_d}\\
\ccRefIdfierPage{PolynomialTraits_d}\\

\end{ccRefConcept}
