00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #pragma once
00014 #ifndef basis_traits_h__
00015 #define basis_traits_h__
00016
00017
00022 enum basis_product_trait
00023 {
00024 Without_Degree,
00025 With_Degree,
00026 No_Product
00027 };
00028
00030
00033 template <
00034 basis_product_trait trait = Without_Degree,
00035 DEG no_letters = 0,
00036 DEG max_degree = 0>
00037 struct basis_traits
00038 {
00039
00042 static const DEG NO_LETTERS = no_letters;
00044 static const basis_product_trait PRODUCT_TYPE = trait;
00046 static const DEG MAX_DEGREE = (trait == With_Degree)? max_degree : DEG(0);
00047
00048 };
00049
00050 #endif // basis_traits_h__