#define ARILES_API_VERSION 2
#include <ariles/adapters_all.h>
{
class ArilesBaseClass
{
#define ARILES_ENTRIES \
ARILES_TYPED_ENTRY(real_member, double) \
ARILES_TYPED_ENTRY_(integer_member, int)
#include ARILES_INITIALIZE
public:
{
real_member = 0.0;
integer_member_ = 12;
}
};
class NonArilesBaseClass
{
public:
};
class MyClass : public ArilesBaseClass,
public NonArilesBaseClass
{
#define ARILES_ENTRIES \
ARILES_PARENT(ArilesBaseClass) \
ARILES_ENTRY_(eigen_vector)
#include ARILES_INITIALIZE
public:
{
real_member = 100.0;
}
};
{
#define ARILES_ENTRIES ARILES_TYPED_ENTRY_(myclass_vector, std::vector<MyClass>)
#include ARILES_INITIALIZE
};
}
#include <iostream>
{
my_container_class.myclass_vector_.size();
ariles::apply<ariles::Defaults>(my_container_class.myclass_vector_[0]);
{
ariles::apply<ariles::yaml_cpp::Writer>("config.yaml", my_container_class);
ariles::apply<ariles::yaml_cpp::Reader>("config.yaml", my_container_class);
ariles::apply<ariles::yaml_cpp::Writer>(std::cout, my_container_class);
}
{
ros::NodeHandle nh;
ariles::apply<ariles::ros::Writer>(nh, my_container_class);
ariles::apply<ariles::ros::Reader>(nh, my_container_class);
ariles::apply<ariles::ros::Writer>(nh, my_container_class, "/some_namespace/");
ariles::apply<ariles::ros::Reader>(nh, my_container_class, "/some_namespace/");
}
{
ariles::apply<ariles::octave::Writer>("debug.m", my_container_class);
}
return (0);
}