Loading...
Searching...
No Matches
optimizer.h
Go to the documentation of this file.
1#ifndef _BBM_OPTIMIZER_CONCEPT_H_
2#define _BBM_OPTIMIZER_CONCEPT_H_
3
4#include <type_traits>
5#include "concepts/config.h"
7
8/************************************************************************/
9/*! \file optimizer.h
10 \brief Optimizer contract: virtual interface wrapper around optimization_algorithms
11************************************************************************/
12
13namespace bbm {
14
15 //! \brief Forward declaration
16 template<typename CONF> requires concepts::config<CONF> struct optimizer_base;
17
18 namespace concepts {
19
20 /********************************************************************/
21 /*! \brief optimizer concept
22
23 Each optimizer must:
24 + concepts::optimization_algorithm
25 + inherit from optimizer_base
26 *********************************************************************/
27 template<typename T>
29
30 } // end concepts namespace
31} // end bbm namespace
32
33#endif /* _BBM_OPTIMIZER_CONCEPT_H_ */
optimization_algorithm concept
Definition: optimization_algorithm.h:25
optimizer concept
Definition: optimizer.h:28
config contract
Definition: aggregatebsdf.h:29
Optimization algorithm interface contract.
Abstract optimizer base class.
Definition: optimizer_base.h:23