trick/trick_source/codegen/Interface_Code_Gen/PrintFileContents13.hh

59 lines
1.6 KiB
C++
Raw Normal View History

2015-02-26 09:02:31 -06:00
#ifndef PRINTFILECONTENTS13_HH
#define PRINTFILECONTENTS13_HH
2015-02-26 09:02:31 -06:00
2016-10-20 14:53:21 -05:00
#include <iostream>
2015-02-26 09:02:31 -06:00
#include <string>
#include <vector>
#include <map>
#include <set>
#include "PrintFileContentsBase.hh"
/**
This class prints Trick 13 style io_src code. The print command is called when
the container class has added all of the classes and enumerations to this class
to print.
@author somebody
@date July 2012
*/
class PrintFileContents13 : public PrintFileContentsBase {
public:
PrintFileContents13() ;
/** Prints the io_src header information */
2016-10-20 14:53:21 -05:00
virtual void printIOHeader(std::ostream & ostream , std::string header_file_name) ;
2015-02-26 09:02:31 -06:00
std::string enumeration_identifier( EnumValues * e );
/** Prints enumeration attributes */
2016-10-20 14:53:21 -05:00
void print_enum_attr(std::ostream & ostream , EnumValues * in_enum) ;
2015-02-26 09:02:31 -06:00
std::string bit_field_getter_name(ClassValues * c, FieldDescription * f);
std::string bit_field_setter_name(ClassValues * c, FieldDescription * f);
std::string class_identifier( ClassValues * c ) ;
/** Prints attributes for a field */
2016-10-20 14:53:21 -05:00
void print_field_attr(std::ostream & ostream , ClassValues * c, FieldDescription * fv ) ;
2015-02-26 09:02:31 -06:00
/** Prints class attributes */
2016-10-20 14:53:21 -05:00
void print_class_attr(std::ostream & ostream , ClassValues * in_class) ;
2015-02-26 09:02:31 -06:00
/** Prints attributes for a class */
2016-10-20 14:53:21 -05:00
virtual void printClass(std::ostream & ostream , ClassValues * cv) ;
2015-02-26 09:02:31 -06:00
/** Prints attributes for an enum */
2016-10-20 14:53:21 -05:00
virtual void printEnum(std::ostream & ostream , EnumValues * ev) ;
2015-02-26 09:02:31 -06:00
} ;
#endif