How to confert C++ classes to interfaces?
От: _Mandor_  
Дата: 14.01.04 11:13
Оценка:
Народ, есть некая библиотека классов, как сконвертить ее в интерфейсы разом?
Может какие тулзы есть?

14.01.04 14:50: Перенесено модератором из 'C/C++' — ПК
Re: How to confert C++ classes to interfaces?
От: Павел Кузнецов  
Дата: 14.01.04 11:24
Оценка:
Здравствуйте, _Mandor_, Вы писали:

M> Народ, есть некая библиотека классов, как сконвертить ее в интерфейсы разом?

M> Может какие тулзы есть?

Что ты понимаешь под "сконвертить ее в интерфейсы"?
Posted via RSDN NNTP Server 1.7 "Bedlam"
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re: How to confert C++ classes to interfaces?
От: Кодт Россия  
Дата: 14.01.04 11:33
Оценка:
Здравствуйте, _Mandor_, Вы писали:

_M_>Народ, есть некая библиотека классов, как сконвертить ее в интерфейсы разом?

Это как? Все виртуальные методы обозвать абстрактными?
class Hello
{
  bla-bla-bla

  virtual xxx();
  virtual yyy() { ... }

  bla-bla-bla
};

// получаем

class Hello_interface
{

  virtual xxx() = 0;
  virtual yyy() = 0;

};

Наверное, регекспы могут такое сделать.
Или, в крайнем случае, парсер на лексе/бизоне.
Перекуём баги на фичи!
Re[2]: How to confert C++ classes to interfaces?
От: _Mandor_  
Дата: 14.01.04 11:48
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Что ты понимаешь под "сконвертить ее в интерфейсы"?


Ну вот есть типа

class CTest {
publuc:
    int i;
    int SomeMethod();
}


надо чтоб получилось

interface ITest: public IDispatch
{
public:
    virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_i( 
            /* [in] */ int inVal) = 0;
    virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_i( 
            /* [retval][out] */ int *poutVal) = 0;
    virtual HRESULT STDMETHODCALLTYPE SomeMethod( 
        /* [retval][out] */ int *Result) = 0;
}
// ......
class _CTest: public ITest
{
private:
    CTest* pBody;
public:
    _CTest();
    virtual ~_CTest();
public:
    STDMETHOD(get_i)(int* poutVal);
    STDMETHOD(put_i)(int inVal);
    STDMETHOD(SomeMethod)(int* Result);
}
Re[3]: How to confert C++ classes to interfaces?
От: ArtDenis Россия  
Дата: 14.01.04 13:54
Оценка:
Здравствуйте, _Mandor_, Вы писали:

_M_>Ну вот есть типа

_M_> ...

Синтаксический анализатор грамматики C++ + собственные ручки
... << RSDN@Home 1.1.0 stable >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.