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