Тула или утилита для генерации форвардов
От: Vain Россия google.ru
Дата: 29.08.06 13:31
Оценка:
Не подскажете такую?
Надо чтобы из файла SomeFile.hpp можно было вытащить форварды скажем в файл SomeFile_fwd.hpp.
Т.е. если есть SomeFile.hpp
#pragma once

#include "BlaBla1.hpp"
#include "BlaBla2.hpp"

#ifndef SOMEPUPERFACTOR
#define SOMEPUPERFACTOR 10
#endif

template<class T> class T_ALLOCATOR_DEFAULT;

namespace MYSCOPE {
  template<class T,int PTTN = 0,class A = T_ALLOCATOR_DEFAULT<T> >
  class T_MYCONT {
    //Blabla
  };

  void MyTestFoo(int a = 10) {
    //Blabla
  }
}


И получаем SomeFile_fwd.hpp
#pragma once

#ifndef SOMEPUPERFACTOR
#define SOMEPUPERFACTOR 10
#endif

template<class T> class T_ALLOCATOR_DEFAULT;

namespace MYSCOPE {
  template<class T,int PTTN = 0,class A = T_ALLOCATOR_DEFAULT<T> > class T_MYCONT;
  void MyTestFoo(int a = 10);
}


И если можно модифицировать исходный SomeFile.hpp, то он становиться после процессинга таким:
#pragma once

#include "BlaBla1.hpp"
#include "BlaBla2.hpp"
#include "SomeFile_fwd.hpp"

namespace MYSCOPE {
  template<class T,int PTTN,class A>
  class T_MYCONT {
    //Blabla
  };

  void MyTestFoo(int a) {
    //Blabla
  }
}


И потом если SomeFile.hpp как-то изменился то можно было бы просто перегенерировать SomeFile_fwd.hpp..
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.