PolyBoRi
MonomialFactory.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
15 //*****************************************************************************
16 
17 #ifndef polybori_factories_MonomialFactory_h_
18 #define polybori_factories_MonomialFactory_h_
19 
20 // include basic definitions
21 #include <polybori/pbori_defs.h>
23 #include <polybori/BooleMonomial.h>
24 
26 
34  public CFactoryBase {
36  typedef MonomialFactory self;
37 
39  typedef CFactoryBase base;
40 
41 public:
44 
47 
49  MonomialFactory(const parent_type& ring): base(ring) {}
50 
52  MonomialFactory(const self& rhs): base(rhs) {}
53 
56 
59  return value_type(parent());
60  }
61 
64  return value_type(ring);
65  }
66 
68  value_type operator()(const value_type& rhs) const {
69  return rhs;
70  }
71 
74  return value_type(var);
75  }
76 
79  return value_type(rhs, parent());
80  }
81 
83  value_type operator()(const value_type::exp_type& rhs,
84  const value_type::ring_type& ring) const {
85  return value_type(rhs, ring);
86  }
87 
88 };
89 
91 
92 #endif /* polybori_factories_MonomialFactory_h_ */