Я не думаю, что это необходимо. С Objective-C ++ вам совсем не нужен мост. Данный класс C ++ определен
class Foo {
public:
void someMethod(void);
}
вы можете использовать этот класс в любом месте кода Objective-C ++. Например, в методе:
- (void)myObjCMethod {
Foo myFoo;
myFoo.someMethod();
//etc.
}
У вас могут быть переменные экземпляра, которые указывают на классы C ++, поэтому вы можете определить класс Objective-C, например,
@interface Bar : NSObject {
Foo *foo;
}
@property (assign) Foo * foo;
@end
@implementation
@synthesize foo;
- (void)dalloc {
delete foo;
[super dealloc];
}
- (id)init {
if(self = [super init]) {
foo = new Foo();
}
return self;
}
- (void)aMethod {
self.foo->barMethod();
}
Я не думаю, что вы можете шаблонизировать метод Objective-C, но создание экземпляров шаблонов C ++ в Objective-C ++ является честной игрой. Так же, как Objective-C является строгим надмножеством C, Objective-C ++ является надмножеством C ++, добавляя классы в стиле Objective-C и передачу сообщений.
Если вы действительно хотите «соединить» класс C ++, у вас будут общие проблемы, поскольку такие вещи, как множественное наследование и перегрузка операторов, не поддерживаются в объектной модели Objective-C.