21 #ifndef mia_template_masked_cost_hh 22 #define mia_template_masked_cost_hh 28 #ifndef EXPORT_HANDLER 30 # define EXPORT_HANDLER __declspec(dllimport) 32 # define EXPORT_HANDLER 63 template <
typename T,
typename M,
typename V>
97 double value(
const T& mov,
const M& mask)
const;
108 double evaluate_force(
const T& mov,
const M& mask, V& force)
const;
115 void set_reference(
const T& ref);
117 virtual double do_value(
const T& a,
const T& b,
const M& mask)
const = 0;
118 virtual double do_evaluate_force(
const T& a,
const T& b,
const M& mask, V& force)
const = 0;
119 virtual void post_set_reference(
const T& ref);
M Mask
typedef for generic programming: The data type used by the cost function
A class to make a const reference not so const.
T Data
typedef for generic programming: The data type used by the cost function
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
TRefHolder< T > RData
Const reference holder TRefHolder of the cost function data.
V Force
typedef for generic programming: The gradient forca type create by the cost function ...
static const char * type_descr
plugin path helper variable
The generic cost function interface.
RData::Pointer PData
Pointer to const reference holder TRefHolder of the cost function data.
std::shared_ptr< TRefHolder< T > > Pointer
pointer type of this reference holder.
#define EXPORT_CORE
Macro to manage Visual C++ style dllimport/dllexport.
The base class for all plug-in created object.
masked_cost_type plugin_type
plugin searchpath helper type
T plugin_data
plugin searchpath helper type
#define NS_MIA_END
conveniance define to end the mia namespace