create_macro.h File Reference
#include <array>
#include <experimental/array>
#include <SimoxUtility/meta/eigen.h>
#include <boost/hana/adapt_struct.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#include <boost/preprocessor/variadic/to_seq.hpp>
#include "element_details.h"
+ Include dependency graph for create_macro.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  make_array< T, typename >
 
struct  make_array< T, std::enable_if_t< simox::meta::is_eigen_matrix_v< T > > >
 

Namespaces

 armarx
 This file offers overloads of toIce() and fromIce() functions for STL container types.
 
 armarx::meta
 
 armarx::meta::detail
 

Macros

#define _detail_AX_MK_CFG_appl_FOR_EACH(stype, elemmacro, ...)
 
#define _detail_AX_MK_CFG_applicator(r, tup, elem)
 
#define _detail_AX_MK_CFG_applicator_i1(...)   _detail_AX_MK_CFG_applicator_i2(__VA_ARGS__)
 
#define _detail_AX_MK_CFG_applicator_i2(m, ...)   m(__VA_ARGS__)
 
#define _detail_AX_MK_CFG_cfg_elem(R, sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app(r, tup, elem)
 
#define _detail_AX_MK_CFG_cfg_elem_app_(...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_DECIMALS(...)   _detail_AX_MK_CFG_cfg_elem_app_AX_DECIMALS_i, __VA_ARGS__
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_DECIMALS_i(sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_DEFAULT(...)   _detail_AX_MK_CFG_cfg_elem_app_AX_DEFAULT_i, __VA_ARGS__
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_DEFAULT_i(sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_DESCRIPTION(...)   _detail_AX_MK_CFG_cfg_elem_app_AX_DESCRIPTION_i, __VA_ARGS__
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_DESCRIPTION_i(sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_EXCLUDE_FROM_ALL(...)   _detail_AX_MK_CFG_cfg_elem_app_AX_EXCLUDE_FROM_ALL_i, __VA_ARGS__
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_EXCLUDE_FROM_ALL_i(sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_LABEL(...)   _detail_AX_MK_CFG_cfg_elem_app_AX_LABEL_i, __VA_ARGS__
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_LABEL_i(sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_MAX(...)   _detail_AX_MK_CFG_cfg_elem_app_AX_MAX_i, __VA_ARGS__
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_MAX_i(sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_MIN(...)   _detail_AX_MK_CFG_cfg_elem_app_AX_MIN_i, __VA_ARGS__
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_MIN_i(sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_NO_PROPERTY(...)   _detail_AX_MK_CFG_cfg_elem_app_AX_NO_PROPERTY_i, __VA_ARGS__
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_NO_PROPERTY_i(sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_NO_REMOTE_GUI(...)   _detail_AX_MK_CFG_cfg_elem_app_AX_NO_REMOTE_GUI_i, __VA_ARGS__
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_NO_REMOTE_GUI_i(sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_PROP_NAME_i(sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_PROPERTY_NAME(...)   _detail_AX_MK_CFG_cfg_elem_app_AX_PROP_NAME_i, __VA_ARGS__
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_STEPS(...)   _detail_AX_MK_CFG_cfg_elem_app_AX_STEPS_i, __VA_ARGS__
 
#define _detail_AX_MK_CFG_cfg_elem_app_AX_STEPS_i(sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_i1(...)   _detail_AX_MK_CFG_cfg_elem_app_i2(__VA_ARGS__)
 
#define _detail_AX_MK_CFG_cfg_elem_app_i2(sname, type, vname, ...)
 
#define _detail_AX_MK_CFG_cfg_elem_app_i3(...)   _detail_AX_MK_CFG_cfg_elem_app_i4(__VA_ARGS__)
 
#define _detail_AX_MK_CFG_cfg_elem_app_i4(sname, type, vname, m, ...)   m(sname, type, vname, __VA_ARGS__)
 
#define _detail_AX_MK_CFG_ctor_def(Namespace, Name, ...)
 
#define _detail_AX_MK_CFG_DEFER(x)   x BOOST_PP_EMPTY()
 
#define _detail_AX_MK_CFG_member_def(R, sname, type, vname, ...)   type vname;
 
#define _detail_AX_MK_CFG_member_names(R, sname, type, name, ...)   , name
 
#define _detail_AX_MK_CFG_rem_paren(...)   __VA_ARGS__
 
#define _detail_AX_MK_CFG_SEQ_FOR_EACH_R_ID()   BOOST_PP_SEQ_FOR_EACH_R
 
#define _detail_AX_MK_CFG_struct_def(Namespace, Name, ...)
 
#define _detail_AX_MK_CFG_t0(e0, ...)   e0
 
#define _detail_AX_MK_CFG_tail(e0, ...)   __VA_ARGS__
 
#define ARMARX_CONFIG_STRUCT_ADAPT(Namespace, Name, ...)
 
#define ARMARX_CONFIG_STRUCT_ADAPT_CONFIGURE(Namespace, Name, ...)   ARMARX_CONFIG_STRUCT_CONFIGURE_ADAPT(Namespace, Name, __VA_ARGS__)
 
#define ARMARX_CONFIG_STRUCT_CONFIGURE(Namespace, Name, ...)
 
#define ARMARX_CONFIG_STRUCT_CONFIGURE_ADAPT(Namespace, Name, ...)
 Usage ARMARX_CONFIG_STRUCT_CONFIGURE_ADAPT( foospace, foo, (float, flooat, AX_DEFAULT(1234), AX_MIN(-42), AX_MAX(1337)) ) More...
 
#define ARMARX_CONFIG_STRUCT_DEFINE_ADAPT(Namespace, Name, ...)
 Usage ARMARX_CONFIG_STRUCT_DEFINE_ADAPT( foospace, foo, (float, flooat, AX_DEFAULT(1234), AX_MIN(-42), AX_MAX(1337)) ) More...
 
#define ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE(Namespace, Name, ...)
 Usage ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE( foospace, foo, (float, flooat, AX_DEFAULT(1234), AX_MIN(-42), AX_MAX(1337)) ) More...
 

Macro Definition Documentation

◆ _detail_AX_MK_CFG_appl_FOR_EACH

#define _detail_AX_MK_CFG_appl_FOR_EACH (   stype,
  elemmacro,
  ... 
)
Value:
BOOST_PP_SEQ_FOR_EACH( \
(elemmacro, stype), \
BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__) \
)

Definition at line 60 of file create_macro.h.

◆ _detail_AX_MK_CFG_applicator

#define _detail_AX_MK_CFG_applicator (   r,
  tup,
  elem 
)

◆ _detail_AX_MK_CFG_applicator_i1

#define _detail_AX_MK_CFG_applicator_i1 (   ...)    _detail_AX_MK_CFG_applicator_i2(__VA_ARGS__)

Definition at line 44 of file create_macro.h.

◆ _detail_AX_MK_CFG_applicator_i2

#define _detail_AX_MK_CFG_applicator_i2 (   m,
  ... 
)    m(__VA_ARGS__)

Definition at line 43 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem

#define _detail_AX_MK_CFG_cfg_elem (   R,
  sname,
  type,
  vname,
  ... 
)
Value:
R, _detail_AX_MK_CFG_cfg_elem_app, (sname, type, vname), \
BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__) \
)

Definition at line 140 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app

#define _detail_AX_MK_CFG_cfg_elem_app (   r,
  tup,
  elem 
)
Value:

Definition at line 128 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_

#define _detail_AX_MK_CFG_cfg_elem_app_ (   ...)

Definition at line 165 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_DECIMALS

#define _detail_AX_MK_CFG_cfg_elem_app_AX_DECIMALS (   ...)    _detail_AX_MK_CFG_cfg_elem_app_AX_DECIMALS_i, __VA_ARGS__

Definition at line 200 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_DECIMALS_i

#define _detail_AX_MK_CFG_cfg_elem_app_AX_DECIMALS_i (   sname,
  type,
  vname,
  ... 
)
Value:
template<> constexpr auto element_decimals<sname, type, &sname::vname> = \
std::experimental::make_array<int>(__VA_ARGS__);

Definition at line 203 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_DEFAULT

#define _detail_AX_MK_CFG_cfg_elem_app_AX_DEFAULT (   ...)    _detail_AX_MK_CFG_cfg_elem_app_AX_DEFAULT_i, __VA_ARGS__

Definition at line 147 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_DEFAULT_i

#define _detail_AX_MK_CFG_cfg_elem_app_AX_DEFAULT_i (   sname,
  type,
  vname,
  ... 
)
Value:
template<> \
struct element_default<sname, type, &sname::vname> : std::true_type /* IN CASE OF AN ERROR: You might have two AX_DEFAULT */ \
{ \
static type get() \
{ \
return type(__VA_ARGS__); \
} \
static void set(sname& s) \
{ \
s.vname = get(); \
} \
};

Definition at line 150 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_DESCRIPTION

#define _detail_AX_MK_CFG_cfg_elem_app_AX_DESCRIPTION (   ...)    _detail_AX_MK_CFG_cfg_elem_app_AX_DESCRIPTION_i, __VA_ARGS__

Definition at line 184 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_DESCRIPTION_i

#define _detail_AX_MK_CFG_cfg_elem_app_AX_DESCRIPTION_i (   sname,
  type,
  vname,
  ... 
)
Value:
template<> constexpr const char* \
element_description<sname, type, &sname::vname> = __VA_ARGS__;

Definition at line 187 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_EXCLUDE_FROM_ALL

#define _detail_AX_MK_CFG_cfg_elem_app_AX_EXCLUDE_FROM_ALL (   ...)    _detail_AX_MK_CFG_cfg_elem_app_AX_EXCLUDE_FROM_ALL_i, __VA_ARGS__

Definition at line 238 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_EXCLUDE_FROM_ALL_i

#define _detail_AX_MK_CFG_cfg_elem_app_AX_EXCLUDE_FROM_ALL_i (   sname,
  type,
  vname,
  ... 
)
Value:
template<> constexpr std::true_type \
element_no_prop<sname, type, &sname::vname> = {}; \
template<> constexpr std::true_type \
element_no_rem_gui<sname, type, &sname::vname> = {}; \

Definition at line 241 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_LABEL

#define _detail_AX_MK_CFG_cfg_elem_app_AX_LABEL (   ...)    _detail_AX_MK_CFG_cfg_elem_app_AX_LABEL_i, __VA_ARGS__

Definition at line 216 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_LABEL_i

#define _detail_AX_MK_CFG_cfg_elem_app_AX_LABEL_i (   sname,
  type,
  vname,
  ... 
)
Value:
template<> constexpr const char* \
element_label<sname, type, &sname::vname> = {__VA_ARGS__};

Definition at line 219 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_MAX

#define _detail_AX_MK_CFG_cfg_elem_app_AX_MAX (   ...)    _detail_AX_MK_CFG_cfg_elem_app_AX_MAX_i, __VA_ARGS__

Definition at line 176 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_MAX_i

#define _detail_AX_MK_CFG_cfg_elem_app_AX_MAX_i (   sname,
  type,
  vname,
  ... 
)
Value:
template<> constexpr auto element_max<sname, type, &sname::vname> = \

Definition at line 179 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_MIN

#define _detail_AX_MK_CFG_cfg_elem_app_AX_MIN (   ...)    _detail_AX_MK_CFG_cfg_elem_app_AX_MIN_i, __VA_ARGS__

Definition at line 168 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_MIN_i

#define _detail_AX_MK_CFG_cfg_elem_app_AX_MIN_i (   sname,
  type,
  vname,
  ... 
)
Value:
template<> constexpr auto element_min<sname, type, &sname::vname> = \

Definition at line 171 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_NO_PROPERTY

#define _detail_AX_MK_CFG_cfg_elem_app_AX_NO_PROPERTY (   ...)    _detail_AX_MK_CFG_cfg_elem_app_AX_NO_PROPERTY_i, __VA_ARGS__

Definition at line 224 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_NO_PROPERTY_i

#define _detail_AX_MK_CFG_cfg_elem_app_AX_NO_PROPERTY_i (   sname,
  type,
  vname,
  ... 
)
Value:
template<> constexpr std::true_type \
element_no_prop<sname, type, &sname::vname> = {};

Definition at line 227 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_NO_REMOTE_GUI

#define _detail_AX_MK_CFG_cfg_elem_app_AX_NO_REMOTE_GUI (   ...)    _detail_AX_MK_CFG_cfg_elem_app_AX_NO_REMOTE_GUI_i, __VA_ARGS__

Definition at line 231 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_NO_REMOTE_GUI_i

#define _detail_AX_MK_CFG_cfg_elem_app_AX_NO_REMOTE_GUI_i (   sname,
  type,
  vname,
  ... 
)
Value:
template<> constexpr std::true_type \
element_no_rem_gui<sname, type, &sname::vname> = {};

Definition at line 234 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_PROP_NAME_i

#define _detail_AX_MK_CFG_cfg_elem_app_AX_PROP_NAME_i (   sname,
  type,
  vname,
  ... 
)
Value:
template<> constexpr const char* \
element_property_name<sname, type, &sname::vname> = __VA_ARGS__;

Definition at line 195 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_PROPERTY_NAME

#define _detail_AX_MK_CFG_cfg_elem_app_AX_PROPERTY_NAME (   ...)    _detail_AX_MK_CFG_cfg_elem_app_AX_PROP_NAME_i, __VA_ARGS__

Definition at line 192 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_STEPS

#define _detail_AX_MK_CFG_cfg_elem_app_AX_STEPS (   ...)    _detail_AX_MK_CFG_cfg_elem_app_AX_STEPS_i, __VA_ARGS__

Definition at line 208 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_AX_STEPS_i

#define _detail_AX_MK_CFG_cfg_elem_app_AX_STEPS_i (   sname,
  type,
  vname,
  ... 
)
Value:
template<> constexpr auto element_steps<sname, type, &sname::vname> = \
std::experimental::make_array<int>(__VA_ARGS__);

Definition at line 211 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_i1

#define _detail_AX_MK_CFG_cfg_elem_app_i1 (   ...)    _detail_AX_MK_CFG_cfg_elem_app_i2(__VA_ARGS__)

Definition at line 124 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_i2

#define _detail_AX_MK_CFG_cfg_elem_app_i2 (   sname,
  type,
  vname,
  ... 
)
Value:
sname, type, vname, \

Definition at line 119 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_i3

#define _detail_AX_MK_CFG_cfg_elem_app_i3 (   ...)    _detail_AX_MK_CFG_cfg_elem_app_i4(__VA_ARGS__)

Definition at line 116 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_i4

#define _detail_AX_MK_CFG_cfg_elem_app_i4 (   sname,
  type,
  vname,
  m,
  ... 
)    m(sname, type, vname, __VA_ARGS__)

Definition at line 113 of file create_macro.h.

◆ _detail_AX_MK_CFG_ctor_def

#define _detail_AX_MK_CFG_ctor_def (   Namespace,
  Name,
  ... 
)
Value:
namespace Namespace \
{ \
inline Name::Name() \
{ \
} \
} static_assert(true, "force the usage of a trailing semicolon")

Definition at line 90 of file create_macro.h.

◆ _detail_AX_MK_CFG_DEFER

#define _detail_AX_MK_CFG_DEFER (   x)    x BOOST_PP_EMPTY()

Definition at line 137 of file create_macro.h.

◆ _detail_AX_MK_CFG_member_def

#define _detail_AX_MK_CFG_member_def (   R,
  sname,
  type,
  vname,
  ... 
)    type vname;

Definition at line 70 of file create_macro.h.

◆ _detail_AX_MK_CFG_member_names

#define _detail_AX_MK_CFG_member_names (   R,
  sname,
  type,
  name,
  ... 
)    , name

Definition at line 249 of file create_macro.h.

◆ _detail_AX_MK_CFG_rem_paren

#define _detail_AX_MK_CFG_rem_paren (   ...)    __VA_ARGS__

Definition at line 36 of file create_macro.h.

◆ _detail_AX_MK_CFG_SEQ_FOR_EACH_R_ID

#define _detail_AX_MK_CFG_SEQ_FOR_EACH_R_ID ( )    BOOST_PP_SEQ_FOR_EACH_R

Definition at line 138 of file create_macro.h.

◆ _detail_AX_MK_CFG_struct_def

#define _detail_AX_MK_CFG_struct_def (   Namespace,
  Name,
  ... 
)
Value:
namespace Namespace \
{ \
struct Name \
{ \
BOOST_PP_EXPAND( \
Namespace::Name, \
__VA_ARGS__ \
)) \
Name(); \
Name(Name&&) = default; \
Name(const Name&) = default; \
Name& operator=(Name&&) = default; \
Name& operator=(const Name&) = default; \
}; \
} static_assert(true, "force the usage of a trailing semicolon")

Definition at line 71 of file create_macro.h.

◆ _detail_AX_MK_CFG_t0

#define _detail_AX_MK_CFG_t0 (   e0,
  ... 
)    e0

Definition at line 39 of file create_macro.h.

◆ _detail_AX_MK_CFG_tail

#define _detail_AX_MK_CFG_tail (   e0,
  ... 
)    __VA_ARGS__

Definition at line 41 of file create_macro.h.

◆ ARMARX_CONFIG_STRUCT_ADAPT

#define ARMARX_CONFIG_STRUCT_ADAPT (   Namespace,
  Name,
  ... 
)
Value:
BOOST_HANA_ADAPT_STRUCT( \
Namespace::Name /* , will con from next macro*/ \
Namespace::Name, \
__VA_ARGS__ \
) \
)

Definition at line 250 of file create_macro.h.

◆ ARMARX_CONFIG_STRUCT_ADAPT_CONFIGURE

#define ARMARX_CONFIG_STRUCT_ADAPT_CONFIGURE (   Namespace,
  Name,
  ... 
)    ARMARX_CONFIG_STRUCT_CONFIGURE_ADAPT(Namespace, Name, __VA_ARGS__)

Definition at line 295 of file create_macro.h.

◆ ARMARX_CONFIG_STRUCT_CONFIGURE

#define ARMARX_CONFIG_STRUCT_CONFIGURE (   Namespace,
  Name,
  ... 
)
Value:
namespace armarx::meta::cfg \
{ \
BOOST_PP_EXPAND( \
Namespace::Name, \
__VA_ARGS__ \
)) \
} static_assert(true, "force the usage of a trailing semicolon")

Definition at line 101 of file create_macro.h.

◆ ARMARX_CONFIG_STRUCT_CONFIGURE_ADAPT

#define ARMARX_CONFIG_STRUCT_CONFIGURE_ADAPT (   Namespace,
  Name,
  ... 
)
Value:
ARMARX_CONFIG_STRUCT_ADAPT (Namespace, Name, __VA_ARGS__); \
ARMARX_CONFIG_STRUCT_CONFIGURE(Namespace, Name, __VA_ARGS__)

Usage ARMARX_CONFIG_STRUCT_CONFIGURE_ADAPT( foospace, foo, (float, flooat, AX_DEFAULT(1234), AX_MIN(-42), AX_MAX(1337)) )

Definition at line 291 of file create_macro.h.

◆ ARMARX_CONFIG_STRUCT_DEFINE_ADAPT

#define ARMARX_CONFIG_STRUCT_DEFINE_ADAPT (   Namespace,
  Name,
  ... 
)
Value:
_detail_AX_MK_CFG_struct_def (Namespace, Name, __VA_ARGS__); \
ARMARX_CONFIG_STRUCT_ADAPT (Namespace, Name, __VA_ARGS__); \
_detail_AX_MK_CFG_ctor_def (Namespace, Name, __VA_ARGS__)

Usage ARMARX_CONFIG_STRUCT_DEFINE_ADAPT( foospace, foo, (float, flooat, AX_DEFAULT(1234), AX_MIN(-42), AX_MAX(1337)) )

Definition at line 268 of file create_macro.h.

◆ ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE

#define ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE (   Namespace,
  Name,
  ... 
)
Value:
ARMARX_CONFIG_STRUCT_DEFINE_ADAPT(Namespace, Name, __VA_ARGS__); \
ARMARX_CONFIG_STRUCT_CONFIGURE (Namespace, Name, __VA_ARGS__)

Usage ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE( foospace, foo, (float, flooat, AX_DEFAULT(1234), AX_MIN(-42), AX_MAX(1337)) )

Definition at line 280 of file create_macro.h.

_detail_AX_MK_CFG_cfg_elem_app_i1
#define _detail_AX_MK_CFG_cfg_elem_app_i1(...)
Definition: create_macro.h:124
_detail_AX_MK_CFG_member_def
#define _detail_AX_MK_CFG_member_def(R, sname, type, vname,...)
Definition: create_macro.h:70
_detail_AX_MK_CFG_cfg_elem
#define _detail_AX_MK_CFG_cfg_elem(R, sname, type, vname,...)
Definition: create_macro.h:140
armarx::meta::cfg::struct_default::set
static void set(CL &cl)
Definition: config_struct_details.h:31
_detail_AX_MK_CFG_struct_def
#define _detail_AX_MK_CFG_struct_def(Namespace, Name,...)
Definition: create_macro.h:71
_detail_AX_MK_CFG_applicator
#define _detail_AX_MK_CFG_applicator(r, tup, elem)
Definition: create_macro.h:48
_detail_AX_MK_CFG_tail
#define _detail_AX_MK_CFG_tail(e0,...)
Definition: create_macro.h:41
_detail_AX_MK_CFG_rem_paren
#define _detail_AX_MK_CFG_rem_paren(...)
Definition: create_macro.h:36
armarx::meta::cfg
Definition: PluginCfgStruct.h:31
_detail_AX_MK_CFG_DEFER
#define _detail_AX_MK_CFG_DEFER(x)
Definition: create_macro.h:137
armarx::meta::detail::make_array::value
static constexpr auto value
Definition: create_macro.h:18
_detail_AX_MK_CFG_member_names
#define _detail_AX_MK_CFG_member_names(R, sname, type, name,...)
Definition: create_macro.h:249
_detail_AX_MK_CFG_applicator_i1
#define _detail_AX_MK_CFG_applicator_i1(...)
Definition: create_macro.h:44
_detail_AX_MK_CFG_cfg_elem_app
#define _detail_AX_MK_CFG_cfg_elem_app(r, tup, elem)
Definition: create_macro.h:128
ARMARX_CONFIG_STRUCT_DEFINE_ADAPT
#define ARMARX_CONFIG_STRUCT_DEFINE_ADAPT(Namespace, Name,...)
Usage ARMARX_CONFIG_STRUCT_DEFINE_ADAPT( foospace, foo, (float, flooat, AX_DEFAULT(1234),...
Definition: create_macro.h:268
_detail_AX_MK_CFG_cfg_elem_app_
#define _detail_AX_MK_CFG_cfg_elem_app_(...)
Definition: create_macro.h:165
_detail_AX_MK_CFG_t0
#define _detail_AX_MK_CFG_t0(e0,...)
Definition: create_macro.h:39
_detail_AX_MK_CFG_cfg_elem_app_i3
#define _detail_AX_MK_CFG_cfg_elem_app_i3(...)
Definition: create_macro.h:116
_detail_AX_MK_CFG_appl_FOR_EACH
#define _detail_AX_MK_CFG_appl_FOR_EACH(stype, elemmacro,...)
Definition: create_macro.h:60
ARMARX_CONFIG_STRUCT_ADAPT
#define ARMARX_CONFIG_STRUCT_ADAPT(Namespace, Name,...)
Definition: create_macro.h:250
armarx::ctrlutil::s
double s(double t, double s0, double v0, double a0, double j)
Definition: CtrlUtil.h:33
_detail_AX_MK_CFG_SEQ_FOR_EACH_R_ID
#define _detail_AX_MK_CFG_SEQ_FOR_EACH_R_ID()
Definition: create_macro.h:138