ring_wrap.h
Go to the documentation of this file.
1 #ifndef RING_WRAP_HEADER
2 #define RING_WRAP_HEADER
3 #include "polys/monomials/ring.h"
4 #include "Singular/grammar.h"
5 #include "Singular/subexpr.h"
6 #include "Singular/ipid.h"
7 #include <boost/intrusive_ptr.hpp>
8 #include "Number.h"
9 using namespace boost;
10 //typedef intrusive_ptr<ip_sring> Ring;
11 // inline void intrusive_ptr_add_ref(ring r){
12 // r->ref++;
13 // }
14 // inline void intrusive_ptr_release(ring r){
15 // r->ref--;
16 // if (r->ref<=0) rDelete(r);
17 // }
18 
19 //typedef boosRing
20 class Ring
21 {
22  public:
23  intrusive_ptr<ip_sring> pimpl;
24  Ring(ring r=currRing): pimpl(r){}
25  Ring(const Ring& r2):pimpl(r2.pimpl){}
26  ~Ring(){}
27 };
28 void export_ring();
29 #endif
intrusive_ptr< ip_sring > pimpl
Definition: ring_wrap.h:23
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13
Ring(ring r=currRing)
Definition: ring_wrap.h:24
Definition: ring_wrap.h:20
Ring(const Ring &r2)
Definition: ring_wrap.h:25
void export_ring()
~Ring()
Definition: ring_wrap.h:26