00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00018 #ifndef _ARAGELI_frwrddecl_hpp_
00019 #define _ARAGELI_frwrddecl_hpp_
00020 
00021 #include "config.hpp"
00022 
00023 
00024 namespace Arageli
00025 {
00026 
00027 class big_int;
00028 template <typename T> class rational;
00029 template <typename T, bool REFCNT = true> class vector;
00030 template <typename T, bool REFCNT = true> class matrix;
00031 template <typename F, typename I = int> class monom;
00032 template <typename F, typename I = int, bool REFCNT = true> class sparse_polynom;
00033 
00034 
00035 template <typename T, typename M> class cone_default_config;
00036 
00037 template
00038 <
00039     typename T = big_int,
00040     typename M = matrix<T>,
00041     typename CFG = cone_default_config<T, M>
00042 >
00043 class cone;
00044 
00045 
00046 template
00047 <
00048     typename Base,
00049     typename Index = vector<typename Base::size_type, true>
00050 >
00051 class indexed_subvector;
00052 
00053 
00054 template
00055 <
00056     typename Base,
00057     typename RowIndex = vector<typename Base::size_type, true>,
00058     typename ColIndex = RowIndex
00059 >
00060 class indexed_submatrix;
00061 
00062 
00063 } 
00064 
00065 
00066 #endif  //  #ifndef _ARAGELI_frwrddecl_hpp_