C:/ESLX/projects/TLMWG/tlm2/include/tlm/tlm_h/tlm_analysis/tlm_analysis_triple.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002 
00003   The following code is derived, directly or indirectly, from the SystemC
00004   source code Copyright (c) 1996-2008 by all Contributors.
00005   All Rights reserved.
00006 
00007   The contents of this file are subject to the restrictions and limitations
00008   set forth in the SystemC Open Source License Version 3.0 (the "License");
00009   You may not use this file except in compliance with such restrictions and
00010   limitations. You may obtain instructions on how to receive a copy of the
00011   License at http://www.systemc.org/. Software distributed by Contributors
00012   under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
00013   ANY KIND, either express or implied. See the License for the specific
00014   language governing rights and limitations under the License.
00015 
00016  *****************************************************************************/
00017 
00018 #ifndef __TLM_ANALYSIS_TRIPLE_H__
00019 #define __TLM_ANALYSIS_TRIPLE_H__
00020 
00021 //#include <systemc>
00022 
00023 namespace tlm {
00024 
00025 template< typename T>
00026 struct tlm_analysis_triple {
00027 
00028   sc_core::sc_time start_time;
00029   T transaction;
00030   sc_core::sc_time end_time;
00031 
00032   tlm_analysis_triple() {}
00033 
00034   tlm_analysis_triple( const tlm_analysis_triple &triple ) {
00035     start_time = triple.start_time;
00036     transaction = triple.transaction;
00037     end_time = triple.end_time;
00038   }
00039 
00040   tlm_analysis_triple( const T &t ) {
00041     transaction = t;
00042   }
00043 
00044   operator T() { return transaction; }
00045   operator const T &() const { return transaction; }
00046 
00047 };
00048 
00049 } // namespace tlm
00050 
00051 #endif

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