create_macro.h File Reference
#include <array>
#include <experimental/array>
#include <boost/hana/adapt_struct.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#include <boost/preprocessor/variadic/to_seq.hpp>
#include <SimoxUtility/meta/eigen.h>
#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)   _detail_AX_MK_CFG_cfg_elem_app_i1(_detail_AX_MK_CFG_rem_paren 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( \
_detail_AX_MK_CFG_applicator, (elemmacro, stype), BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))

Definition at line 54 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 43 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 42 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem

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

Definition at line 122 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app

#define _detail_AX_MK_CFG_cfg_elem_app (   r,
  tup,
  elem 
)    _detail_AX_MK_CFG_cfg_elem_app_i1(_detail_AX_MK_CFG_rem_paren tup, elem)

Definition at line 113 of file create_macro.h.

◆ _detail_AX_MK_CFG_cfg_elem_app_

#define _detail_AX_MK_CFG_cfg_elem_app_ (   ...)

Definition at line 151 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 188 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 191 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 130 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 133 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 172 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 175 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 228 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 231 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 206 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 209 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 163 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 166 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 154 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 157 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 214 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 217 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 221 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 224 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 183 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 180 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 197 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 200 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 110 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:

Definition at line 106 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 104 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 101 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 79 of file create_macro.h.

◆ _detail_AX_MK_CFG_DEFER

#define _detail_AX_MK_CFG_DEFER (   x)    x BOOST_PP_EMPTY()

Definition at line 119 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 61 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 239 of file create_macro.h.

◆ _detail_AX_MK_CFG_rem_paren

#define _detail_AX_MK_CFG_rem_paren (   ...)    __VA_ARGS__

Definition at line 35 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 120 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(_detail_AX_MK_CFG_appl_FOR_EACH(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 62 of file create_macro.h.

◆ _detail_AX_MK_CFG_t0

#define _detail_AX_MK_CFG_t0 (   e0,
  ... 
)    e0

Definition at line 38 of file create_macro.h.

◆ _detail_AX_MK_CFG_tail

#define _detail_AX_MK_CFG_tail (   e0,
  ... 
)    __VA_ARGS__

Definition at line 40 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, _detail_AX_MK_CFG_member_names, __VA_ARGS__))

Definition at line 240 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 280 of file create_macro.h.

◆ ARMARX_CONFIG_STRUCT_CONFIGURE

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

Definition at line 91 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 276 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 253 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 265 of file create_macro.h.

_detail_AX_MK_CFG_member_def
#define _detail_AX_MK_CFG_member_def(R, sname, type, vname,...)
Definition: create_macro.h:61
_detail_AX_MK_CFG_cfg_elem
#define _detail_AX_MK_CFG_cfg_elem(R, sname, type, vname,...)
Definition: create_macro.h:122
armarx::meta::cfg::struct_default::set
static void set(CL &cl)
Definition: config_struct_details.h:35
_detail_AX_MK_CFG_struct_def
#define _detail_AX_MK_CFG_struct_def(Namespace, Name,...)
Definition: create_macro.h:62
_detail_AX_MK_CFG_applicator
#define _detail_AX_MK_CFG_applicator(r, tup, elem)
Definition: create_macro.h:46
_detail_AX_MK_CFG_tail
#define _detail_AX_MK_CFG_tail(e0,...)
Definition: create_macro.h:40
_detail_AX_MK_CFG_rem_paren
#define _detail_AX_MK_CFG_rem_paren(...)
Definition: create_macro.h:35
armarx::meta::cfg
Definition: PluginCfgStruct.h:31
_detail_AX_MK_CFG_DEFER
#define _detail_AX_MK_CFG_DEFER(x)
Definition: create_macro.h:119
armarx::meta::detail::make_array::value
static constexpr auto value
Definition: create_macro.h:19
_detail_AX_MK_CFG_member_names
#define _detail_AX_MK_CFG_member_names(R, sname, type, name,...)
Definition: create_macro.h:239
_detail_AX_MK_CFG_applicator_i1
#define _detail_AX_MK_CFG_applicator_i1(...)
Definition: create_macro.h:43
_detail_AX_MK_CFG_cfg_elem_app
#define _detail_AX_MK_CFG_cfg_elem_app(r, tup, elem)
Definition: create_macro.h:113
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:253
_detail_AX_MK_CFG_cfg_elem_app_
#define _detail_AX_MK_CFG_cfg_elem_app_(...)
Definition: create_macro.h:151
_detail_AX_MK_CFG_t0
#define _detail_AX_MK_CFG_t0(e0,...)
Definition: create_macro.h:38
set
set(LIBS ArmarXCoreInterfaces ${CMAKE_THREAD_LIBS_INIT} ${dl_LIBRARIES} ${rt_LIBRARIES} ${QT_LIBRARIES} ${Boost_LIBRARIES} BoostAssertionHandler ArmarXCPPUtility SimoxUtility) set(LIB_FILES ArmarXManager.cpp ArmarXMultipleObjectsScheduler.cpp ArmarXObjectScheduler.cpp ManagedIceObject.cpp ManagedIceObjectPlugin.cpp Component.cpp ComponentPlugin.cpp IceGridAdmin.cpp ArmarXObjectObserver.cpp IceManager.cpp PackagePath.cpp RemoteReferenceCount.cpp logging/LoggingUtil.cpp logging/Logging.cpp logging/LogSender.cpp logging/ArmarXLogBuf.cpp system/ArmarXDataPath.cpp system/DynamicLibrary.cpp system/ProcessWatcher.cpp system/FactoryCollectionBase.cpp system/cmake/CMakePackageFinder.cpp system/cmake/CMakePackageFinderCache.cpp system/cmake/ArmarXPackageToolInterface.cpp system/RemoteObjectNode.cpp services/sharedmemory/HardwareId.cpp services/tasks/RunningTask.cpp services/tasks/ThreadList.cpp services/tasks/ThreadPool.cpp services/profiler/Profiler.cpp services/profiler/FileLoggingStrategy.cpp services/profiler/IceLoggingStrategy.cpp application/Application.cpp application/ApplicationOptions.cpp application/ApplicationProcessFacet.cpp application/ApplicationNetworkStats.cpp application/properties/PropertyUser.cpp application/properties/Property.cpp application/properties/PropertyDefinition.cpp application/properties/PropertyDefinitionContainer.cpp application/properties/PropertyDefinitionHelpFormatter.cpp application/properties/PropertyDefinitionConfigFormatter.cpp application/properties/PropertyDefinitionBriefHelpFormatter.cpp application/properties/PropertyDefinitionXmlFormatter.cpp application/properties/PropertyDefinitionDoxygenFormatter.cpp application/properties/PropertyDefinitionDoxygenComponentPagesFormatter.cpp application/properties/PropertyDefinitionContainerBriefHelpFormatter.cpp application/properties/IceProperties.cpp exceptions/Exception.cpp exceptions/local/UnexpectedEnumValueException.cpp util/FileSystemPathBuilder.cpp util/StringHelpers.cpp util/IceReportSkipper.cpp util/Throttler.cpp util/distributed/AMDCallbackCollection.cpp util/distributed/RemoteHandle/ClientSideRemoteHandleControlBlock.cpp util/distributed/RemoteHandle/RemoteHandle.cpp util/distributed/RemoteHandle/RemoteHandleControlBlock.cpp time/ice_conversions.cpp time/json_conversions.cpp time/CallbackWaitLock.cpp time/Clock.cpp time/ClockType.cpp time/ClockTypeNames.cpp time/CycleUtil.cpp time/DateTime.cpp time/Duration.cpp time/Frequency.cpp time/LocalTimeServer.cpp time/Metronome.cpp time/ScopedStopWatch.cpp time/StopWatch.cpp time/Timer.cpp time/TimeKeeper.cpp time/TimeUtil.cpp csv/CsvWriter.cpp csv/CsvReader.cpp eigen/conversions.cpp eigen/ice_conversions.cpp) set(LIB_HEADERS ArmarXManager.h ArmarXDummyManager.h ArmarXMultipleObjectsScheduler.h ArmarXObjectObserver.h ArmarXObjectScheduler.h ArmarXFwd.h Component.h ComponentPlugin.h ComponentFactories.h CoreObjectFactories.h IceGridAdmin.h IceManager.h IceManagerImpl.h json_conversions.h ManagedIceObject.h ManagedIceObjectPlugin.h ManagedIceObjectImpl.h ManagedIceObjectDependency.h ManagedIceObjectRegistryInterface.h PackagePath.h RemoteReferenceCount.h system/ImportExport.h system/ImportExportComponent.h system/AbstractFactoryMethod.h system/FactoryCollectionBase.h system/Synchronization.h system/ArmarXDataPath.h system/DynamicLibrary.h system/ProcessWatcher.h system/ConditionSynchronization.h system/cmake/CMakePackageFinder.h system/cmake/CMakePackageFinderCache.h system/cmake/FindPackageX.cmake system/cmake/ArmarXPackageToolInterface.h system/RemoteObjectNode.h logging/LoggingUtil.h logging/LogSender.h logging/Logging.h logging/ArmarXLogBuf.h logging/SpamFilterData.h services/tasks/RunningTask.h services/tasks/PeriodicTask.h services/tasks/ThreadList.h services/tasks/TaskUtil.h services/tasks/ThreadPool.h services/sharedmemory/SharedMemoryProvider.h services/sharedmemory/SharedMemoryConsumer.h services/sharedmemory/IceSharedMemoryProvider.h services/sharedmemory/IceSharedMemoryConsumer.h services/sharedmemory/HardwareIdentifierProvider.h services/sharedmemory/HardwareId.h services/sharedmemory/exceptions/SharedMemoryExceptions.h services/profiler/Profiler.h services/profiler/LoggingStrategy.h services/profiler/FileLoggingStrategy.h services/profiler/IceLoggingStrategy.h application/Application.h application/ApplicationOptions.h application/ApplicationProcessFacet.h application/ApplicationNetworkStats.h application/properties/forward_declarations.h application/properties/Properties.h application/properties/Property.h application/properties/PluginEigen.h application/properties/PluginEnumNames.h application/properties/PluginCfgStruct.h application/properties/PluginAll.h application/properties/PropertyUser.h application/properties/PropertyDefinition.h application/properties/PropertyDefinition.hpp application/properties/PropertyDefinitionInterface.h application/properties/PropertyDefinitionContainer.h application/properties/PropertyDefinitionFormatter.h application/properties/PropertyDefinitionContainerFormatter.h application/properties/PropertyDefinitionConfigFormatter.h application/properties/PropertyDefinitionHelpFormatter.h application/properties/PropertyDefinitionBriefHelpFormatter.h application/properties/PropertyDefinitionXmlFormatter.h application/properties/PropertyDefinitionDoxygenFormatter.h application/properties/PropertyDefinitionDoxygenComponentPagesFormatter.h application/properties/PropertyDefinitionContainerBriefHelpFormatter.h application/properties/ProxyPropertyDefinition.h application/properties/IceProperties.h exceptions/Exception.h exceptions/LocalException.h exceptions/local/DynamicLibraryException.h exceptions/local/ExpressionException.h exceptions/local/FileIOException.h exceptions/local/InvalidPropertyValueException.h exceptions/local/MissingRequiredPropertyException.h exceptions/local/PropertyInheritanceCycleException.h exceptions/local/ProxyNotInitializedException.h exceptions/local/UnexpectedEnumValueException.h exceptions/local/UnmappedValueException.h exceptions/local/ValueRangeExceededException.h exceptions/user/NotImplementedYetException.h rapidxml/rapidxml.hpp rapidxml/rapidxml_print.hpp rapidxml/rapidxml_iterators.hpp rapidxml/rapidxml_utils.hpp rapidxml/wrapper/RapidXmlReader.h rapidxml/wrapper/RapidXmlWriter.h rapidxml/wrapper/DefaultRapidXmlReader.h rapidxml/wrapper/MultiNodeRapidXMLReader.h util/IceBlobToObject.h util/ObjectToIceBlob.h util/FileSystemPathBuilder.h util/FiniteStateMachine.h util/StringHelpers.h util/StringHelperTemplates.h util/algorithm.h util/OnScopeExit.h util/Predicates.h util/Preprocessor.h util/PropagateConst.h util/Registrar.h util/TemplateMetaProgramming.h util/TripleBuffer.h util/IceReportSkipper.h util/Throttler.h util/distributed/AMDCallbackCollection.h util/distributed/RemoteHandle/ClientSideRemoteHandleControlBlock.h util/distributed/RemoteHandle/RemoteHandle.h util/distributed/RemoteHandle/RemoteHandleControlBlock.h util/SimpleStatemachine.h time.h time_minimal.h time/forward_declarations.h time/ice_conversions.h time/json_conversions.h time/CallbackWaitLock.h time/Clock.h time/ClockType.h time/ClockTypeNames.h time/CycleUtil.h time/DateTime.h time/Duration.h time/Frequency.h time/LocalTimeServer.h time/Metronome.h time/ScopedStopWatch.h time/StopWatch.h time/Timer.h time/TimeUtil.h time/TimeKeeper.h csv/CsvWriter.h csv/CsvReader.h eigen/conversions.h eigen/ice_conversions.h ice_conversions.h ice_conversions/ice_conversions_boost_templates.h ice_conversions/ice_conversions_templates.h ice_conversions/ice_conversions_templates.tpp $
Definition: CMakeLists.txt:12
_detail_AX_MK_CFG_cfg_elem_app_i3
#define _detail_AX_MK_CFG_cfg_elem_app_i3(...)
Definition: create_macro.h:104
_detail_AX_MK_CFG_appl_FOR_EACH
#define _detail_AX_MK_CFG_appl_FOR_EACH(stype, elemmacro,...)
Definition: create_macro.h:54
ARMARX_CONFIG_STRUCT_ADAPT
#define ARMARX_CONFIG_STRUCT_ADAPT(Namespace, Name,...)
Definition: create_macro.h:240
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:120