#ifdef STATISTICS #ifndef morpheo_behavioural_stage_1_ifetch_predictor_meta_predictor_two_level_branch_predictor_branch_history_table_Statistics_h #define morpheo_behavioural_stage_1_ifetch_predictor_meta_predictor_two_level_branch_predictor_branch_history_table_Statistics_h /* * $Id$ * * [ Description ] * */ #include "Include/Debug.h" #include "Behavioural/include/Statistics.h" #include "Behavioural/include/Parameters_Statistics.h" #include "Behavioural/Generic/Shifter/include/Statistics.h" #include "Behavioural/Generic/RegisterFile/include/Statistics.h" //#include "Behavioural/Generic/Group/include/Statistics.h" #include "Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/include/Parameters.h" //using namespace morpheo::behavioural::generic::group; namespace morpheo { namespace behavioural { namespace stage_1_ifetch { namespace predictor { namespace meta_predictor { namespace two_level_branch_predictor { namespace branch_history_table { class Statistics : public morpheo::behavioural::Statistics { // -----[ fields ]---------------------------------------------------- private : const Parameters _parameters; // -----[ methods ]--------------------------------------------------- public : Statistics (string name , morpheo::behavioural::Parameters_Statistics parameters_statistics , Parameters parameters ); //public : Statistics (Statistics & stat); public : ~Statistics () ; public : string print_body (uint32_t depth); public : string print (uint32_t depth); public : string print (uint32_t depth , string component_stat ); public : void add (); public : friend ostream& operator<< (ostream& output_stream, const Statistics & x); }; }; // end namespace branch_history_table }; // end namespace two_level_branch_predictor }; // end namespace meta_predictor }; // end namespace predictor }; // end namespace stage_1_ifetch }; // end namespace behavioural }; // end namespace morpheo #endif #endif