OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
t_program Class Reference

#include <t_program.h>

Inheritance diagram for t_program:
Collaboration diagram for t_program:

Public Member Functions

 t_program (std::string path, std::string name)
 
 t_program (std::string path)
 
const std::string & get_path () const
 
const std::string & get_out_path () const
 
bool is_out_path_absolute ()
 
const std::string & get_name () const
 
const std::string & get_namespace () const
 
const std::string & get_include_prefix () const
 
const std::vector< t_typedef * > & get_typedefs () const
 
const std::vector< t_enum * > & get_enums () const
 
const std::vector< t_const * > & get_consts () const
 
const std::vector< t_struct * > & get_structs () const
 
const std::vector< t_struct * > & get_xceptions () const
 
const std::vector< t_struct * > & get_objects () const
 
const std::vector< t_service * > & get_services () const
 
void add_typedef (t_typedef *td)
 
void add_enum (t_enum *te)
 
void add_const (t_const *tc)
 
void add_struct (t_struct *ts)
 
void add_xception (t_struct *tx)
 
void add_service (t_service *ts)
 
const std::vector< t_program * > & get_includes () const
 
void set_out_path (std::string out_path, bool out_path_is_absolute)
 
void set_namespace (std::string name)
 
t_scopescope ()
 
void add_include (std::string path, std::string include_site)
 
std::vector< t_program * > & get_includes ()
 
void set_include_prefix (std::string include_prefix)
 
void set_namespace (std::string language, std::string name_space)
 
std::string get_namespace (std::string language) const
 
void add_cpp_include (std::string path)
 
const std::vector< std::string > & get_cpp_includes ()
 
void add_c_include (std::string path)
 
const std::vector< std::string > & get_c_includes ()
 
- Public Member Functions inherited from t_doc
 t_doc ()
 
void set_doc (const std::string &doc)
 
const std::string & get_doc () const
 
bool has_doc ()
 

Private Attributes

std::string path_
 
std::string name_
 
std::string out_path_
 
bool out_path_is_absolute_
 
std::string namespace_
 
std::vector< t_program * > includes_
 
std::string include_prefix_
 
t_scopescope_
 
std::vector< t_typedef * > typedefs_
 
std::vector< t_enum * > enums_
 
std::vector< t_const * > consts_
 
std::vector< t_struct * > objects_
 
std::vector< t_struct * > structs_
 
std::vector< t_struct * > xceptions_
 
std::vector< t_service * > services_
 
std::map< std::string,
std::string > 
namespaces_
 
std::vector< std::string > cpp_includes_
 
std::vector< std::string > c_includes_
 

Detailed Description

Top level class representing an entire thrift program. A program consists fundamentally of the following:

Typedefs Enumerations Constants Structs Exceptions Services #ifdef SANDESH Sandeshs #endif

The program module also contains the definitions of the base types.

Definition at line 64 of file t_program.h.

Constructor & Destructor Documentation

t_program::t_program ( std::string  path,
std::string  name 
)
inline

Definition at line 66 of file t_program.h.

t_program::t_program ( std::string  path)
inline

Definition at line 74 of file t_program.h.

Here is the call graph for this function:

Member Function Documentation

void t_program::add_c_include ( std::string  path)
inline

Definition at line 232 of file t_program.h.

void t_program::add_const ( t_const tc)
inline

Definition at line 115 of file t_program.h.

void t_program::add_cpp_include ( std::string  path)
inline

Definition at line 224 of file t_program.h.

void t_program::add_enum ( t_enum te)
inline

Definition at line 114 of file t_program.h.

void t_program::add_include ( std::string  path,
std::string  include_site 
)
inline

Definition at line 150 of file t_program.h.

Here is the call graph for this function:

void t_program::add_service ( t_service ts)
inline

Definition at line 120 of file t_program.h.

void t_program::add_struct ( t_struct ts)
inline

Definition at line 116 of file t_program.h.

void t_program::add_typedef ( t_typedef td)
inline

Definition at line 113 of file t_program.h.

void t_program::add_xception ( t_struct tx)
inline

Definition at line 118 of file t_program.h.

const std::vector<std::string>& t_program::get_c_includes ( )
inline

Definition at line 236 of file t_program.h.

const std::vector<t_const*>& t_program::get_consts ( ) const
inline

Definition at line 103 of file t_program.h.

const std::vector<std::string>& t_program::get_cpp_includes ( )
inline

Definition at line 228 of file t_program.h.

const std::vector<t_enum*>& t_program::get_enums ( ) const
inline

Definition at line 102 of file t_program.h.

const std::string& t_program::get_include_prefix ( ) const
inline

Definition at line 98 of file t_program.h.

const std::vector<t_program*>& t_program::get_includes ( ) const
inline

Definition at line 126 of file t_program.h.

std::vector<t_program*>& t_program::get_includes ( )
inline

Definition at line 165 of file t_program.h.

const std::string& t_program::get_name ( ) const
inline

Definition at line 92 of file t_program.h.

const std::string& t_program::get_namespace ( ) const
inline

Definition at line 95 of file t_program.h.

std::string t_program::get_namespace ( std::string  language) const
inline

Definition at line 213 of file t_program.h.

const std::vector<t_struct*>& t_program::get_objects ( ) const
inline

Definition at line 106 of file t_program.h.

const std::string& t_program::get_out_path ( ) const
inline

Definition at line 86 of file t_program.h.

const std::string& t_program::get_path ( ) const
inline

Definition at line 83 of file t_program.h.

const std::vector<t_service*>& t_program::get_services ( ) const
inline

Definition at line 107 of file t_program.h.

const std::vector<t_struct*>& t_program::get_structs ( ) const
inline

Definition at line 104 of file t_program.h.

const std::vector<t_typedef*>& t_program::get_typedefs ( ) const
inline

Definition at line 101 of file t_program.h.

const std::vector<t_struct*>& t_program::get_xceptions ( ) const
inline

Definition at line 105 of file t_program.h.

bool t_program::is_out_path_absolute ( )
inline

Definition at line 89 of file t_program.h.

t_scope* t_program::scope ( )
inline

Definition at line 144 of file t_program.h.

void t_program::set_include_prefix ( std::string  include_prefix)
inline

Definition at line 169 of file t_program.h.

void t_program::set_namespace ( std::string  name)
inline

Definition at line 139 of file t_program.h.

void t_program::set_namespace ( std::string  language,
std::string  name_space 
)
inline

Definition at line 180 of file t_program.h.

Here is the call graph for this function:

void t_program::set_out_path ( std::string  out_path,
bool  out_path_is_absolute 
)
inline

Definition at line 128 of file t_program.h.

Member Data Documentation

std::vector<std::string> t_program::c_includes_
private

Definition at line 299 of file t_program.h.

std::vector<t_const*> t_program::consts_
private

Definition at line 283 of file t_program.h.

std::vector<std::string> t_program::cpp_includes_
private

Definition at line 296 of file t_program.h.

std::vector<t_enum*> t_program::enums_
private

Definition at line 282 of file t_program.h.

std::string t_program::include_prefix_
private

Definition at line 275 of file t_program.h.

std::vector<t_program*> t_program::includes_
private

Definition at line 272 of file t_program.h.

std::string t_program::name_
private

Definition at line 260 of file t_program.h.

std::string t_program::namespace_
private

Definition at line 269 of file t_program.h.

std::map<std::string, std::string> t_program::namespaces_
private

Definition at line 293 of file t_program.h.

std::vector<t_struct*> t_program::objects_
private

Definition at line 284 of file t_program.h.

std::string t_program::out_path_
private

Definition at line 263 of file t_program.h.

bool t_program::out_path_is_absolute_
private

Definition at line 266 of file t_program.h.

std::string t_program::path_
private

Definition at line 257 of file t_program.h.

t_scope* t_program::scope_
private

Definition at line 278 of file t_program.h.

std::vector<t_service*> t_program::services_
private

Definition at line 287 of file t_program.h.

std::vector<t_struct*> t_program::structs_
private

Definition at line 285 of file t_program.h.

std::vector<t_typedef*> t_program::typedefs_
private

Definition at line 281 of file t_program.h.

std::vector<t_struct*> t_program::xceptions_
private

Definition at line 286 of file t_program.h.


The documentation for this class was generated from the following file: