C:/ESLX/projects/TLMWG/tlm2/include/tlm/tlm_h/tlm_trans/tlm_generic_payload/tlm_phase.h File Reference

#include <string>
#include <iostream>
#include <vector>

Include dependency graph for tlm_phase.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  tlm

Classes

class  tlm::tlm_phase

Defines

#define DECLARE_EXTENDED_PHASE(name_arg)

Enumerations

enum  tlm::tlm_phase_enum {
  tlm::UNINITIALIZED_PHASE = 0, tlm::BEGIN_REQ = 1, tlm::END_REQ, tlm::BEGIN_RESP,
  tlm::END_RESP
}

Functions

unsigned int tlm::create_phase_number ()
std::vector< const
char * > & 
tlm::get_phase_name_vec ()
std::ostream & tlm::operator<< (std::ostream &s, const tlm_phase &p)


Define Documentation

#define DECLARE_EXTENDED_PHASE ( name_arg   ) 

Value:

class tlm_phase_##name_arg:public tlm::tlm_phase{ \
public:\
static const tlm_phase_##name_arg& get_phase(){static tlm_phase_##name_arg tmp; return tmp;}\
private:\
tlm_phase_##name_arg():tlm::tlm_phase(tlm::create_phase_number()){tlm::get_phase_name_vec().push_back(get_char_##name_arg());};\
tlm_phase_##name_arg(const tlm_phase_##name_arg&); \
tlm_phase_##name_arg& operator=(const tlm_phase_##name_arg&); \
static inline const char* get_char_##name_arg(){static const char* tmp=#name_arg; return tmp;} \
}; \
static const tlm_phase_##name_arg& name_arg=tlm_phase_##name_arg::get_phase()

Definition at line 67 of file tlm_phase.h.


Generated on Thu Jun 5 17:43:29 2008 for TLM 2 by  doxygen 1.5.3