LSST Applications
21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
|
Lifetime-management for memory that goes into FITS memory files. More...
#include <fits.h>
Public Member Functions | |
MemFileManager () | |
Construct a MemFileManager with no initial memory buffer. More... | |
MemFileManager (std::size_t len) | |
Construct a MemFileManager with (len) bytes of initial memory. More... | |
MemFileManager (void *ptr, std::size_t len) | |
Construct a MemFileManager that references and does not manage external memory. More... | |
void | reset () |
Return the manager to the same state it would be if default-constructed. More... | |
void | reset (std::size_t len) |
Set the size of the internal memory buffer, freeing the current buffer if necessary. More... | |
void | reset (void *ptr, std::size_t len) |
Set the internal memory buffer to an manually-managed external block. More... | |
~MemFileManager () | |
MemFileManager (const MemFileManager &)=delete | |
MemFileManager & | operator= (const MemFileManager &)=delete |
MemFileManager (MemFileManager &&)=delete | |
MemFileManager & | operator= (MemFileManager &&)=delete |
void * | getData () const |
Return the buffer. More... | |
std::size_t | getLength () const |
Return the buffer length. More... | |
Friends | |
class | Fits |
Lifetime-management for memory that goes into FITS memory files.
|
inline |
Construct a MemFileManager with no initial memory buffer.
The manager will still free the memory when it goes out of scope, but all allocation and reallocation will be performed by cfitsio as needed.
|
inlineexplicit |
Construct a MemFileManager with (len) bytes of initial memory.
The manager will free the memory when it goes out of scope, and cfitsio will be allowed to reallocate the internal memory as needed.
Definition at line 137 of file fits.h.
|
inline |
Construct a MemFileManager that references and does not manage external memory.
The manager will not manage the given pointer, and it will not allow cfitsio to do so either. The user must provide enough initial memory and is responsible for freeing it manually after the FITS file has been closed.
Definition at line 146 of file fits.h.
|
inline |
|
delete |
|
delete |
|
inline |
|
inline |
|
delete |
|
delete |
void lsst::afw::fits::MemFileManager::reset | ( | ) |
Return the manager to the same state it would be if default-constructed.
This must not be called while a FITS file that uses this memory is open.
void lsst::afw::fits::MemFileManager::reset | ( | std::size_t | len | ) |
Set the size of the internal memory buffer, freeing the current buffer if necessary.
This must not be called while a FITS file that uses this memory is open.
Memory allocated with this overload of reset can be reallocated by cfitsio and will be freed when the manager goes out of scope or is reset.
Definition at line 482 of file fits.cc.
|
inline |
Set the internal memory buffer to an manually-managed external block.
This must not be called while a FITS file that uses this memory is open.
Memory passed to this overload of reset cannot be reallocated by cfitsio and will not be freed when the manager goes out of scope or is reset.