TLM-2.0: include/tlm/tlm_h/tlm_generic_payload/tlm_phase.h File Reference

# include/tlm/tlm_h/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.

## Classes
class | tlm::tlm_phase
## Namespaces
namespace | tlm
## 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.