Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

c++ file generator

0.00/5 (No votes)
10 Jul 2004 1  
generate c++ file and interface header

     generator          interface generator       

Specifications

  • generate c++ header and source based on user input and template file
  • generate c++ interface header based on input file

Technical

  • map user input to <file> <programer> <date> <legal> in template file
  • these tags can be moved anywhere in the template file
  • how interface header is generated
 how  speed  detect
 smart  slow

 automatically

 syntax  fast

 between <interface>..</interface> only



[ex of syntax detection]

 ・ assuming KBox implements Box and Primitive interface
 ・ graph.cpp -> graph.h
 ・ notify how the interface writer detect syntax

class KBox : public Box {
public :
 KBox() {}
 ~KBox() {}

 // <Primitive>

 void setName(TSTR v);
 void setColor(long v);
 TSTR name();
 long color();
 // </Primitive> 


 // <Box>

 void setWidth(int v);
 void setLength(int v);
 void setHeight(int v);
 int  width();
 int  length();
 int  height();
 // </Box>

};
class Primitive {
public :
 virtual void setName(TSTR v)=0;
 virtual void setColor(long v)=0;
 virtual TSTR name()=0;
 virtual long color()=0;
};

class Box {
public :
 virtual void setWidth(int v)=0;
 virtual void setLength(int v)=0;
 virtual void setHeight(int v)=0;
 virtual int  width()=0;
 virtual int  length()=0;
 virtual int  height()=0;
};

History

 date  version  action
 01/05/2004  1.0.0.2   ・ posted
 01/07/2004   ・ change template extension from .txt to .h
  ・ put all painters in painter.dll
 01/10/2004   1.0.0.3   ・ reduce to metal painter supporting mouse over focus
  ・ remove painter.dll util.dll
 01/19/2004   ・ use bitmap instead of text

Disclaimer

This software is provided 'as is' without warranty of any kind...

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here