r#"void f1(const Foo & a0) const noexcept; void f2(Foo a0) const noexcept; void f3(Foo & a0) const noexcept; void f4(const Foo & a0) const noexcept; void f5(Foo & a0) const noexcept;"#; r#"template inline void TestPassObjectsAsParamsWrapper::f1(const Foo & a0) const noexcept { TestPassObjectsAsParams_f1(this->self_, static_cast(a0)); } template inline void TestPassObjectsAsParamsWrapper::f2(Foo a0) const noexcept { TestPassObjectsAsParams_f2(this->self_, a0.release()); } template inline void TestPassObjectsAsParamsWrapper::f3(Foo & a0) const noexcept { TestPassObjectsAsParams_f3(this->self_, static_cast(a0)); } template inline void TestPassObjectsAsParamsWrapper::f4(const Foo & a0) const noexcept { TestPassObjectsAsParams_f4(this->self_, static_cast(a0)); } template inline void TestPassObjectsAsParamsWrapper::f5(Foo & a0) const noexcept { TestPassObjectsAsParams_f5(this->self_, static_cast(a0)); }"#; r#"void TestPassObjectsAsParams_f1(const TestPassObjectsAsParamsOpaque * const self, const FooOpaque * a0); void TestPassObjectsAsParams_f2(const TestPassObjectsAsParamsOpaque * const self, FooOpaque * a0); void TestPassObjectsAsParams_f3(const TestPassObjectsAsParamsOpaque * const self, FooOpaque * a0); void TestPassObjectsAsParams_f4(const TestPassObjectsAsParamsOpaque * const self, const FooOpaque * a0); void TestPassObjectsAsParams_f5(const TestPassObjectsAsParamsOpaque * const self, FooOpaque * a0);"#;