PolyBoRi
COrderProperties.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
57 //*****************************************************************************
58 
59 // include basic definitions
60 #include "pbori_defs.h"
61 
62 // include ordering tags
63 #include "pbori_tags.h"
64 
65 // include polybori functionals
66 #include "pbori_func.h"
67 
68 #ifndef COrderProperties_h_
69 #define COrderProperties_h_
70 
72 
77 template <class OrderType>
79 
80  public:
82  typedef OrderType order_type;
83 
85 
86  typedef typename order_type::lex_property lex_property;
87  typedef typename order_type::ordered_property ordered_property;
88  typedef typename order_type::symmetry_property symmetry_property;
89  typedef typename order_type::degorder_property degorder_property;
90  typedef typename order_type::blockorder_property blockorder_property;
91  typedef typename order_type::totaldegorder_property totaldegorder_property;
92  typedef typename order_type::ascending_property ascending_property;
93  typedef typename order_type::descending_property descending_property;
94  typedef typename order_type::degrevlexorder_property degrevlexorder_property;
96 
98 
99  typedef typename order_type::size_type size_type;
100  typedef typename order_type::idx_type idx_type;
101  typedef typename order_type::bool_type bool_type;
102  typedef typename order_type::ostream_type ostream_type;
103  typedef typename order_type::hash_type hash_type;
105 
107  enum { order_code = order_type::order_code };
108 
110  typedef typename order_type::idx_comparer_type idx_comparer_type;
111 
114 
117 
120 
123 
126 
129 
132 
135 
139 };
140 
141 
143 
144 #endif