TLM-2.0
2.0.4
Accellera TLM-2.0 proof-of-concept library
tlm_analysis_fifo.h
Go to the documentation of this file.
1
/*****************************************************************************
2
3
Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
4
more contributor license agreements. See the NOTICE file distributed
5
with this work for additional information regarding copyright ownership.
6
Accellera licenses this file to you under the Apache License, Version 2.0
7
(the "License"); you may not use this file except in compliance with the
8
License. You may obtain a copy of the License at
9
10
http://www.apache.org/licenses/LICENSE-2.0
11
12
Unless required by applicable law or agreed to in writing, software
13
distributed under the License is distributed on an "AS IS" BASIS,
14
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15
implied. See the License for the specific language governing
16
permissions and limitations under the License.
17
18
*****************************************************************************/
19
20
#ifndef __TLM_ANALYSIS_FIFO_H__
21
#define __TLM_ANALYSIS_FIFO_H__
22
23
#include "
tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo.h
"
24
#include "
tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h
"
25
#include "
tlm_core/tlm_1/tlm_analysis/tlm_analysis_triple.h
"
26
27
namespace
tlm
{
28
29
template
<
typename
T >
30
class
tlm_analysis_fifo
:
31
public
tlm_fifo
< T > ,
32
public
virtual
tlm_analysis_if
< T > ,
33
public
virtual
tlm_analysis_if
< tlm_analysis_triple< T > > {
34
35
public
:
36
37
// analysis fifo is an unbounded tlm_fifo
38
39
tlm_analysis_fifo
(
const
char
*nm ) :
tlm_fifo
<T>( nm , -16 ) {}
40
tlm_analysis_fifo
() :
tlm_fifo
<T>( -16 ) {}
41
42
void
write
(
const
tlm_analysis_triple<T>
&t ) {
43
nb_put
( t );
44
}
45
46
void
write
(
const
T &t ) {
47
nb_put
( t );
48
}
49
50
};
51
52
}
// namespace tlm
53
54
#endif
tlm::tlm_fifo
Definition:
tlm_fifo.h:45
tlm::tlm_analysis_fifo::write
void write(const T &t)
Definition:
tlm_analysis_fifo.h:46
tlm::tlm_analysis_fifo
Definition:
tlm_analysis_fifo.h:30
tlm::tlm_analysis_fifo::tlm_analysis_fifo
tlm_analysis_fifo()
Definition:
tlm_analysis_fifo.h:40
tlm::tlm_analysis_fifo::write
void write(const tlm_analysis_triple< T > &t)
Definition:
tlm_analysis_fifo.h:42
tlm_analysis_if.h
tlm::tlm_fifo::nb_put
bool nb_put(const T &)
Definition:
tlm_fifo_put_get.h:109
tlm::tlm_analysis_fifo::tlm_analysis_fifo
tlm_analysis_fifo(const char *nm)
Definition:
tlm_analysis_fifo.h:39
tlm_analysis_triple.h
tlm
Definition:
tlm_analysis_fifo.h:27
tlm_fifo.h
tlm::tlm_analysis_triple
Definition:
tlm_analysis_triple.h:28
tlm::tlm_analysis_if
Definition:
tlm_analysis_if.h:28
tlm_core
tlm_1
tlm_analysis
tlm_analysis_fifo.h
Generated on Sun Oct 28 2018 23:12:13 for TLM-2.0 by
1.8.13