blob: 04287b8c1349e83a35668575cfb7396f20476af0 [file] [log] [blame]
David Tolnay7db73692019-10-20 14:51:12 -04001#include "demo-cxx/demo.h"
2#include "demo-rs/src/main.rs"
3#include <iostream>
4
5namespace org {
David Tolnayaa17a5a2020-03-01 13:44:24 -08006namespace example {
David Tolnay7db73692019-10-20 14:51:12 -04007
8ThingC::ThingC(std::string appname) : appname(std::move(appname)) {}
9
10ThingC::~ThingC() { std::cout << "done with ThingC" << std::endl; }
11
David Tolnayaa17a5a2020-03-01 13:44:24 -080012std::unique_ptr<ThingC> make_demo(rust::Str appname) {
David Tolnay404d6892020-03-01 20:19:41 -080013 return std::unique_ptr<ThingC>(new ThingC(std::string(appname)));
David Tolnay7db73692019-10-20 14:51:12 -040014}
15
16const std::string &get_name(const ThingC &thing) { return thing.appname; }
17
18void do_thing(SharedThing state) { print_r(*state.y); }
19
David Tolnayaa17a5a2020-03-01 13:44:24 -080020} // namespace example
David Tolnay7db73692019-10-20 14:51:12 -040021} // namespace org