1 // -*- c++ -*- 2 //***************************************************************************** 3 /** @file order_tags.h 4 * 5 * @author Alexander Dreyer 6 * @date 2006-07-20 7 * 8 * Decribes properties of polybori ordering classes 9 * 10 * @par Copyright: 11 * (c) 2006 by The PolyBoRi Team 12 **/ 13 //***************************************************************************** 14 15 #ifndef polybori_orderings_order_tags_h_ 16 #define polybori_orderings_order_tags_h_ 17 18 // include basic definitions 19 #include <polybori/pbori_defs.h> 20 21 22 BEGIN_NAMESPACE_PBORI 23 24 /**@class lex_tag 25 * @brief Marker for lex ordering. 26 **/ 27 struct lex_tag {}; 28 29 /**@class dlex_tag 30 * @brief Marker for deg-lex ordering. 31 **/ 32 struct dlex_tag {}; 33 34 /**@class dp_asc_tag 35 * @brief Marker for ascending deg-rev-lex ordering. 36 **/ 37 struct dp_asc_tag {}; 38 39 /**@class block_tag 40 * @brief Marker for block orderings. 41 **/ 42 template <class TagType> 43 struct block_tag {}; 44 45 /// Marker for block deg-lex ordering. 46 typedef block_tag<dlex_tag> block_dlex_tag; 47 48 /// Marker for ascending block deg-rev-lex ordering. 49 typedef block_tag<dp_asc_tag> block_dp_asc_tag; 50 51 END_NAMESPACE_PBORI 52 53 #endif // order_tags_h_ 54