Кодогенерирующий скрипт
require 'rubygems'
require 'RuCodeGen'
cpp_value_incapsulator :host_config_t do |c|
c.decl_file :script_relative => "host_config.impl.hpp"
c.impl_file :script_relative => "host_config.impl.cpp"
c.attr_prefix "m_"
c.attr :host, "std::string", :default => "localhost"
c.attr :post, "short", :default => 8080
end
Результат кодогенерации
Файл host_config.impl.hpp
class host_config_t
{
private :
std::string m_host;
short m_post;
public :
host_config_t();
const std::string &
host() const;
void
host( const std::string & v__ );
short
post() const;
void
post( short v__ );
};
Файл host_config.impl.cpp
host_config_t::host_config_t()
: m_host("localhost")
, m_post(8080)
{}
const std::string &
host_config_t::host() const
{ return m_host; }
void
host_config_t::host( const std::string & v__ )
{ m_host = v__; }
short
host_config_t::post() const
{ return m_post; }
void
host_config_t::post( short v__ )
{ m_post = v__; }