-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmodule_rcpp_template
38 lines (30 loc) · 1.22 KB
/
module_rcpp_template
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/****************************************************************
* {{{ module_type }}} Rcpp interface *
***************************************************************/
class {{{ module_type }}}_interface_base : public fims_rcpp_interface_base {
public:
static uint32_t id_g;
static std::map<uint32_t, {{{ module_type }}}_interface_base*> {{{ module_type }}}_objects;
{{{ module_type }}}_interface_base() {
}
virtual ~{{{ module_type }}}_interface_base() {
}
};
uint32_t {{{ module_type }}}_interface_base::id_g = 1;
std::map<uint32_t, {{{ module_type }}}_interface_base* > {{{ module_type }}}_interface_base::{{{ module_type }}}_objects;
/**
* @brief Interface class for {{{module_name}}} {{{ module_type }}}.
*/
class {{{ module_name }}} : public {{{ module_type }}}_interface_base {
public:
uint32_t id;
parameter steep;
parameter rzero;
parameter phizero;
{{{ module_name }}}() {
this->id = {{{ module_type }}}_interface_base::id_g++;
{{{ module_type }}}_interface_base::{{{ module_type }}}_objects[this->id] = this;
fims_rcpp_interface_base::fims_interface_objects.push_back(this);
}
virtual ~{{{ module_name }}}() {
}