BioDynaMo  v1.05.119-a4ff3934
algorithm.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 //
3 // Copyright (C) 2021 CERN & University of Surrey for the benefit of the
4 // BioDynaMo collaboration. All Rights Reserved.
5 //
6 // Licensed under the Apache License, Version 2.0 (the "License");
7 // you may not use this file except in compliance with the License.
8 //
9 // See the LICENSE file distributed with this work for details.
10 // See the NOTICE file distributed with this work for additional information
11 // regarding copyright ownership.
12 //
13 // -----------------------------------------------------------------------------
14 
15 #ifndef CORE_MULTI_SIMULATION_ALGORITHM_ALGORITHM_H_
16 #define CORE_MULTI_SIMULATION_ALGORITHM_ALGORITHM_H_
17 
18 #include <functional>
19 
21 #include "core/functor.h"
22 #include "core/param/param.h"
23 
24 namespace bdm {
25 namespace experimental {
26 
27 using experimental::TimeSeries;
28 
30 struct Algorithm {
31  virtual ~Algorithm() = default;
32 
33  virtual void operator()(
34  Functor<void, Param*, TimeSeries*>& dispatch_experiment,
35  Param* default_param) = 0;
36 };
37 
38 } // namespace experimental
39 } // namespace bdm
40 
41 #endif // CORE_MULTI_SIMULATION_ALGORITHM_ALGORITHM_H_
bdm
Definition: agent.cc:39
bdm::experimental::Algorithm
An interface for creating new optimization algorithms.
Definition: algorithm.h:30
bdm::experimental::Algorithm::operator()
virtual void operator()(Functor< void, Param *, TimeSeries * > &dispatch_experiment, Param *default_param)=0
bdm::Functor
Definition: functor.h:24
time_series.h
param.h
bdm::experimental::Algorithm::~Algorithm
virtual ~Algorithm()=default
bdm::Param
Definition: param.h:35
functor.h