Xmipp  v3.23.11-Nereus
Public Member Functions | Protected Member Functions | List of all members
AMeritComputer< T > Class Template Referenceabstract

#include <amerit_computer.h>

Inheritance diagram for AMeritComputer< T >:
Inheritance graph
[legend]

Public Member Functions

 AMeritComputer ()
 
virtual ~AMeritComputer ()=default
 
void init (const MeritSettings &s, bool reuse)
 
const MeritSettingsgetSettings () const
 
virtual void loadReference (const T *ref)=0
 
virtual void compute (T *others)=0
 
const std::vector< float > & getFiguresOfMerit () const
 

Protected Member Functions

virtual void check ()=0
 
virtual bool canBeReused (const MeritSettings &s) const =0
 
virtual void initialize (bool allocate)=0
 
constexpr bool isInitialized () const
 
constexpr bool isRefLoaded () const
 
void setIsRefLoaded (bool status)
 
std::vector< float > & getFiguresOfMerit ()
 

Detailed Description

template<typename T>
class AMeritComputer< T >

Definition at line 70 of file amerit_computer.h.

Constructor & Destructor Documentation

◆ AMeritComputer()

template<typename T>
AMeritComputer< T >::AMeritComputer ( )
inline

Definition at line 72 of file amerit_computer.h.

72  :
73  m_isInit(false),
74  m_isRefLoaded(false){};

◆ ~AMeritComputer()

template<typename T>
virtual AMeritComputer< T >::~AMeritComputer ( )
virtualdefault

Member Function Documentation

◆ canBeReused()

template<typename T>
virtual bool AMeritComputer< T >::canBeReused ( const MeritSettings s) const
protectedpure virtual

◆ check()

template<typename T>
virtual void AMeritComputer< T >::check ( )
protectedpure virtual

◆ compute()

template<typename T>
virtual void AMeritComputer< T >::compute ( T *  others)
pure virtual

◆ getFiguresOfMerit() [1/2]

template<typename T>
const std::vector<float>& AMeritComputer< T >::getFiguresOfMerit ( ) const
inline

Definition at line 95 of file amerit_computer.h.

95  {
96  return m_figures;
97  }

◆ getFiguresOfMerit() [2/2]

template<typename T>
std::vector<float>& AMeritComputer< T >::getFiguresOfMerit ( )
inlineprotected

Definition at line 116 of file amerit_computer.h.

116  {
117  return m_figures;
118  }

◆ getSettings()

template<typename T>
const MeritSettings& AMeritComputer< T >::getSettings ( ) const
inline

Definition at line 87 of file amerit_computer.h.

87  {
88  return m_settings;
89  }

◆ init()

template<typename T>
void AMeritComputer< T >::init ( const MeritSettings s,
bool  reuse 
)
inline

Definition at line 78 of file amerit_computer.h.

78  {
79  s.check();
80  bool skipAllocation = reuse && m_isInit && canBeReused(s);
81  m_settings = s;
82  this->initialize( ! skipAllocation);
83  this->check();
84  m_isInit = true;
85  }
void check() const
virtual bool canBeReused(const MeritSettings &s) const =0
virtual void initialize(bool allocate)=0
virtual void check()=0

◆ initialize()

template<typename T>
virtual void AMeritComputer< T >::initialize ( bool  allocate)
protectedpure virtual

◆ isInitialized()

template<typename T>
constexpr bool AMeritComputer< T >::isInitialized ( ) const
inlineprotected

Definition at line 104 of file amerit_computer.h.

104  {
105  return m_isInit;
106  }

◆ isRefLoaded()

template<typename T>
constexpr bool AMeritComputer< T >::isRefLoaded ( ) const
inlineprotected

Definition at line 108 of file amerit_computer.h.

108  {
109  return m_isRefLoaded;
110  }

◆ loadReference()

template<typename T>
virtual void AMeritComputer< T >::loadReference ( const T *  ref)
pure virtual

◆ setIsRefLoaded()

template<typename T>
void AMeritComputer< T >::setIsRefLoaded ( bool  status)
inlineprotected

Definition at line 112 of file amerit_computer.h.

112  {
113  m_isRefLoaded = status;
114  }

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