• Mark Olesen's avatar
    ENH: cleanup autoPtr class (issue #639) · 660f3e54
    Mark Olesen authored
    Improve alignment of its behaviour with std::unique_ptr
    
      - element_type typedef
      - release() method - identical to ptr() method
      - get() method to get the pointer without checking and without releasing it.
      - operator*() for dereferencing
    
    Method name changes
    
      - renamed rawPtr() to get()
      - renamed rawRef() to ref(), removed unused const version.
    
    Removed methods/operators
    
      - assignment from a raw pointer was deleted (was rarely used).
        Can be convenient, but uncontrolled and potentially unsafe.
        Do allow assignment from a literal nullptr though, since this
        can never leak (and also corresponds to the unique_ptr API).
    
    Additional methods
    
      - clone() method: forwards to the clone() method of the underlying
        data object with argument forwarding.
    
      - reset(autoPtr&&) as an alternative to operator=(autoPtr&&)
    
    STYLE: avoid implicit conversion from autoPtr to object type in many places
    
    - existing implementation has the following:
    
         operator c...
    660f3e54
lduMatrixPreconditioner.C 4.03 KB