00001 /******************************************************************** 00002 * This file is part of the source code of the SYNAPS kernel. 00003 * Author(s): B. Mourrain, GALAAD, INRIA 00004 * $Id: horner.h,v 1.1 2005/07/11 08:12:26 mourrain Exp $ 00005 ********************************************************************/ 00006 #ifndef SYNAPS_UPOL_HORNER_H 00007 #define SYNAPS_UPOL_HORNER_H 00008 /********************************************************************/ 00009 00010 #include <synaps/init.h> 00011 00012 __BEGIN_NAMESPACE_SYNAPS 00013 00014 namespace upol { 00015 00016 template<class C> struct horner: public upol::rep<C> 00017 { 00018 00019 typedef typename upol::rep<C>::size_type size_type; 00020 typedef typename upol::rep<C>::iterator iterator; 00021 typedef typename upol::rep<C>::const_iterator const_iterator; 00022 typedef typename upol::rep<C>::const_reverse_iterator const_reverse_iterator; 00023 typedef typename upol::rep<C>::reverse_iterator reverse_iterator; 00024 00025 horner(): upol::rep<C>() {} 00026 horner(size_type s, AsSize mth): upol::rep<C>(s,mth) {} 00027 horner(size_type s, C *t): upol::rep<C>(s,t){} 00028 horner(C* b, C *e): upol::rep<C>(b,e) {} 00029 horner(const horner<C> & p): upol::rep<C>(p){}; 00030 }; 00031 00032 } 00033 00034 __END_NAMESPACE_SYNAPS 00035 00036 /********************************************************************/ 00037 #endif // SYNAPS_UPOL_HORNER_H