Exemplo n.º 1
0
 /** Constructor from a raw pointer */
 explicit memory_block_ptr(memory_block_data *memblock, bool add_ref = true)
     : m_memblock(memblock)
 {
     if (memblock != 0 && add_ref) {
         memory_block_incref(memblock);
     }
 }
Exemplo n.º 2
0
 /** Copy constructor */
 memory_block_ptr(const memory_block_ptr& rhs)
     : m_memblock(rhs.m_memblock)
 {
     if (m_memblock != 0) {
         memory_block_incref(m_memblock);
     }
 }
Exemplo n.º 3
0
 /** Assignment from raw memory_block pointer */
 memory_block_ptr &operator=(memory_block_data *rhs)
 {
   if (m_memblock != 0) {
     memory_block_decref(m_memblock);
   }
   m_memblock = rhs;
   if (rhs != 0) {
     memory_block_incref(rhs);
   }
   return *this;
 }
Exemplo n.º 4
0
 /** Assignment */
 memory_block_ptr &operator=(const memory_block_ptr &rhs)
 {
   if (m_memblock != 0) {
     memory_block_decref(m_memblock);
   }
   if (rhs.m_memblock != 0) {
     m_memblock = rhs.m_memblock;
     memory_block_incref(m_memblock);
   } else {
     m_memblock = 0;
   }
   return *this;
 }
Exemplo n.º 5
0
 void init(const nd::arrfunc &rhs)
 {
   m_memblock = nd::array(rhs).get_memblock().get();
   memory_block_incref(m_memblock);
 }