SourceXtractorPlusPlus  0.12
Please provide a description of the project.
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
SourceXtractor::FitsFileManager Class Reference

#include <FitsFileManager.h>

Inheritance diagram for SourceXtractor::FitsFileManager:
[legend]
Collaboration diagram for SourceXtractor::FitsFileManager:
[legend]

Public Member Functions

 FitsFileManager (unsigned int max_open_files=500)
 
virtual ~FitsFileManager ()
 
void closeAllFiles ()
 
std::shared_ptr< FitsFilegetFitsFile (const std::string &filename, bool writeable=false)
 
- Public Member Functions inherited from std::enable_shared_from_this< FitsFileManager >
enable_shared_from_this (T... args)
 
operator= (T... args)
 
shared_from_this (T... args)
 
~enable_shared_from_this (T... args)
 

Static Public Member Functions

static std::shared_ptr< FitsFileManagergetInstance ()
 

Private Member Functions

void closeExtraFiles ()
 

Private Attributes

std::unordered_map< std::string, std::shared_ptr< FitsFile > > m_fits_files
 
unsigned int m_max_open_files
 
std::list< std::stringm_open_files
 

Static Private Attributes

static std::shared_ptr< FitsFileManagers_instance
 

Detailed Description

Definition at line 39 of file FitsFileManager.h.

Constructor & Destructor Documentation

◆ FitsFileManager()

SourceXtractor::FitsFileManager::FitsFileManager ( unsigned int  max_open_files = 500)

Definition at line 37 of file FitsFileManager.cpp.

◆ ~FitsFileManager()

SourceXtractor::FitsFileManager::~FitsFileManager ( )
virtual

Definition at line 40 of file FitsFileManager.cpp.

References closeAllFiles().

Here is the call graph for this function:

Member Function Documentation

◆ closeAllFiles()

void SourceXtractor::FitsFileManager::closeAllFiles ( )

Definition at line 44 of file FitsFileManager.cpp.

References m_fits_files.

Referenced by ~FitsFileManager().

◆ closeExtraFiles()

void SourceXtractor::FitsFileManager::closeExtraFiles ( )
private

Definition at line 66 of file FitsFileManager.cpp.

References std::list< T >::back(), m_fits_files, m_max_open_files, m_open_files, std::list< T >::pop_back(), and std::list< T >::size().

Here is the call graph for this function:

◆ getFitsFile()

std::shared_ptr< FitsFile > SourceXtractor::FitsFileManager::getFitsFile ( const std::string filename,
bool  writeable = false 
)

Definition at line 50 of file FitsFileManager.cpp.

References conf::filename, m_fits_files, and std::enable_shared_from_this< FitsFileManager >::shared_from_this().

Here is the call graph for this function:

◆ getInstance()

static std::shared_ptr<FitsFileManager> SourceXtractor::FitsFileManager::getInstance ( )
inlinestatic

Definition at line 47 of file FitsFileManager.h.

References s_instance.

Referenced by SEMain::mainMethod().

Member Data Documentation

◆ m_fits_files

std::unordered_map<std::string, std::shared_ptr<FitsFile> > SourceXtractor::FitsFileManager::m_fits_files
private

Definition at line 57 of file FitsFileManager.h.

Referenced by closeAllFiles(), closeExtraFiles(), and getFitsFile().

◆ m_max_open_files

unsigned int SourceXtractor::FitsFileManager::m_max_open_files
private

Definition at line 59 of file FitsFileManager.h.

Referenced by closeExtraFiles().

◆ m_open_files

std::list<std::string> SourceXtractor::FitsFileManager::m_open_files
private

Definition at line 60 of file FitsFileManager.h.

Referenced by closeExtraFiles().

◆ s_instance

std::shared_ptr< FitsFileManager > SourceXtractor::FitsFileManager::s_instance
staticprivate

Definition at line 62 of file FitsFileManager.h.

Referenced by getInstance().


The documentation for this class was generated from the following files: