Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
optimizer_ptr< CONF > Class Template Reference

optimizer_ptr: a wrapper around a shared_ptr to an optimizer More...

#include <optimizer_ptr.h>

Inherits optimizer_base< CONF >.

Public Member Functions

 BBM_IMPORT_CONFIG (CONF)
 
 optimizer_ptr (void)=default
 Default (empty) constructor; shared_ptr is set to nullptr.
 
template<typename OPT >
requires concepts::optimizer<OPT>
 optimizer_ptr (const std::shared_ptr< OPT > &ptr)
 Construct from shared_ptr.
 
optimizer_ptroperator= (const optimizer_ptr &src)
 Assignment operator.
 
const std::shared_ptr< optimizer_base< Config > > & ptr (void) const
 Get the internal shared pointer.
 
virtual Value step (void) override final
 Dereference passthrough of the 'step' method.
 
virtual void reset (void) override final
 Dereference passthrough of the 'reset' method.
 
virtual Mask is_converged (void) override final
 Dereference passthrough of the 'is_converged' method.
 
Override the -> operator
const std::shared_ptr< optimizer_base< Config > > & operator-> (void)
 
std::shared_ptr< optimizer_base< Config > > operator-> (void) const
 
- Public Member Functions inherited from optimizer_base< CONF >
 BBM_IMPORT_CONFIG (CONF)
 
virtual ~optimizer_base (void)
 empty virtual base destructor
 
virtual Value step (void)=0
 Perform one optimization step towards minimizing the loss.
 
virtual void reset (void)=0
 Reset the internal state of the optimizer.
 
virtual Mask is_converged (void)=0
 Check if the optimizer has converged.
 

Private Attributes

std::shared_ptr< optimizer_base< Config > > _opt
 

Detailed Description

template<typename CONF>
requires concepts::config<CONF>
class bbm::optimizer_ptr< CONF >

optimizer_ptr: a wrapper around a shared_ptr to an optimizer

Template Parameters
CONF= bbm configuration

Constructor & Destructor Documentation

◆ optimizer_ptr() [1/2]

optimizer_ptr ( void  )
default

Default (empty) constructor; shared_ptr is set to nullptr.

◆ optimizer_ptr() [2/2]

optimizer_ptr ( const std::shared_ptr< OPT > &  ptr)
inline

Construct from shared_ptr.

Member Function Documentation

◆ BBM_IMPORT_CONFIG()

BBM_IMPORT_CONFIG ( CONF  )

◆ is_converged()

virtual Mask is_converged ( void  )
inlinefinaloverridevirtual

Dereference passthrough of the 'is_converged' method.

Implements optimizer_base< CONF >.

◆ operator->() [1/2]

const std::shared_ptr< optimizer_base< Config > > & operator-> ( void  )
inline

◆ operator->() [2/2]

std::shared_ptr< optimizer_base< Config > > operator-> ( void  ) const
inline

◆ operator=()

optimizer_ptr & operator= ( const optimizer_ptr< CONF > &  src)
inline

Assignment operator.

◆ ptr()

const std::shared_ptr< optimizer_base< Config > > & ptr ( void  ) const
inline

Get the internal shared pointer.

◆ reset()

virtual void reset ( void  )
inlinefinaloverridevirtual

Dereference passthrough of the 'reset' method.

Implements optimizer_base< CONF >.

◆ step()

virtual Value step ( void  )
inlinefinaloverridevirtual

Dereference passthrough of the 'step' method.

Returns
the current loss

Implements optimizer_base< CONF >.

Member Data Documentation

◆ _opt

std::shared_ptr<optimizer_base<Config> > _opt
private

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