Loading...
Searching...
No Matches
Classes | Namespaces | Functions
optimizer_ptr.h File Reference

A shared_ptr wrapper for optimizers. More...

#include "concepts/optimizer_ptr.h"
#include "concepts/macro.h"
#include "core/error.h"
#include "bbm/config.h"
#include "bbm/optimizer.h"

Go to the source code of this file.

Classes

class  optimizer_ptr< CONF >
 optimizer_ptr: a wrapper around a shared_ptr to an optimizer More...
 

Namespaces

namespace  bbm
 

Functions

 BBM_CHECK_CONCEPT (concepts::optimizer_ptr, optimizer_ptr< config >)
 
template<typename OPTIMIZER , typename... ARGS>
requires concepts::optimizer<OPTIMIZER>
optimizer_ptr< get_config< OPTIMIZER > > make_optimizer_ptr (ARGS &&... args)
 Helper method for making an optimizer_ptr from an optimizer (new construction)
 
template<typename OPTIMIZATION_ALGORITHM , typename... ARGS>
requires (concepts::optimization_algorithm<OPTIMIZATION_ALGORITHM> && !concepts::optimizer<OPTIMIZATION_ALGORITHM>)
optimizer_ptr< get_config< OPTIMIZATION_ALGORITHM > > make_optimizer_ptr (ARGS &&... args)
 Helper method for making an optimizer_ptr from a OPTIMIZATION_ALGORITHM.
 
template<typename OPTIMIZER >
requires concepts::optimizer<OPTIMIZER>
optimizer_ptr< get_config< OPTIMIZER > > make_optimizer_ptr (const OPTIMIZER &arg)
 Helper method for making an optimizer_ptr from a OPTIMZER (copy construction)
 
template<typename OPTIMIZATION_ALGORITHM >
requires (concepts::optimization_algorithm<OPTIMIZATION_ALGORITHM> && !concepts::optimizer<OPTIMIZATION_ALGORITHM>)
optimizer_ptr< get_config< OPTIMIZATION_ALGORITHM > > make_optimizer_ptr (const OPTIMIZATION_ALGORITHM &arg)
 Helper method for making an optimizer_ptr from a OPTIMIZATION_ALGORITHM (copy construction)
 
template<typename CONF >
requires concepts::config<CONF>
optimizer_ptr< CONF > make_optimizer_ptr (const optimizer_ptr< CONF > &arg)
 Helper method for making an optimizer_ptr (avoid optimizer_ptr of optimizer_ptr>)
 

Detailed Description

A shared_ptr wrapper for optimizers.

Implements: concepts::optimizer_ptr