ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Public Member Functions | Private Attributes | List of all members
etiss::interfaces::SimpleInstructionInjector< T > Class Template Reference

#include <Delegate.h>

Collaboration diagram for etiss::interfaces::SimpleInstructionInjector< T >:
Collaboration graph
[legend]

Public Member Functions

 SimpleInstructionInjector (bool useRefetchCompensation=true)
 
void append (T val)
 
template<class InputIt >
void append (InputIt first, InputIt last)
 
void setHelper (unsigned index, std::function< std::list< T >(T)> func)
 Adds a function with an unique ID to the SimpleInstructionInjector. More...
 
bool appendWithHelper (unsigned helper, T val)
 
void appendRepetitions (unsigned count)
 
std::function< etiss::int32(bool, uint64_t &, uint64_t, uint8_t *, unsigned, bool &, bool &)> toFunction ()
 
void swapEndianness ()
 swaps the endianness of all stored buffer values More...
 
bool injectionFinished ()
 
bool logInjectionAddresses ()
 
void logInjectionAddresses (bool val)
 
std::list< uint64_t > & injectionAddresses ()
 

Private Attributes

std::list< T > buffer
 
std::map< unsigned, std::function< std::list< T >T)> > genHelpers
 
bool logInjectionAddresses_
 
bool useRefetchCompensation_
 
std::list< uint64_tinjectionAddresses_
 

Detailed Description

template<typename T>
class etiss::interfaces::SimpleInstructionInjector< T >

Definition at line 163 of file Delegate.h.

Constructor & Destructor Documentation

◆ SimpleInstructionInjector()

template<typename T >
etiss::interfaces::SimpleInstructionInjector< T >::SimpleInstructionInjector ( bool  useRefetchCompensation = true)
inline

Definition at line 168 of file Delegate.h.

Member Function Documentation

◆ append() [1/2]

template<typename T >
template<class InputIt >
void etiss::interfaces::SimpleInstructionInjector< T >::append ( InputIt  first,
InputIt  last 
)
inline

◆ append() [2/2]

template<typename T >
void etiss::interfaces::SimpleInstructionInjector< T >::append ( val)
inline

Definition at line 173 of file Delegate.h.

References etiss::interfaces::SimpleInstructionInjector< T >::buffer.

Referenced by etiss::interfaces::SimpleInstructionInjector< T >::appendWithHelper().

Here is the caller graph for this function:

◆ appendRepetitions()

template<typename T >
void etiss::interfaces::SimpleInstructionInjector< T >::appendRepetitions ( unsigned  count)
inline

◆ appendWithHelper()

template<typename T >
bool etiss::interfaces::SimpleInstructionInjector< T >::appendWithHelper ( unsigned  helper,
val 
)
inline

Definition at line 191 of file Delegate.h.

References etiss::interfaces::SimpleInstructionInjector< T >::append(), and etiss::interfaces::SimpleInstructionInjector< T >::genHelpers.

Here is the call graph for this function:

◆ injectionAddresses()

template<typename T >
std::list<uint64_t>& etiss::interfaces::SimpleInstructionInjector< T >::injectionAddresses ( )
inline

◆ injectionFinished()

template<typename T >
bool etiss::interfaces::SimpleInstructionInjector< T >::injectionFinished ( )
inline

◆ logInjectionAddresses() [1/2]

template<typename T >
bool etiss::interfaces::SimpleInstructionInjector< T >::logInjectionAddresses ( )
inline

◆ logInjectionAddresses() [2/2]

template<typename T >
void etiss::interfaces::SimpleInstructionInjector< T >::logInjectionAddresses ( bool  val)
inline

◆ setHelper()

template<typename T >
void etiss::interfaces::SimpleInstructionInjector< T >::setHelper ( unsigned  index,
std::function< std::list< T >(T)>  func 
)
inline

Adds a function with an unique ID to the SimpleInstructionInjector.

Parameters
IDof the added function.
Functionpointer of the function to add.

Definition at line 186 of file Delegate.h.

References etiss::interfaces::SimpleInstructionInjector< T >::genHelpers.

◆ swapEndianness()

template<typename T >
void etiss::interfaces::SimpleInstructionInjector< T >::swapEndianness ( )
inline

swaps the endianness of all stored buffer values

Definition at line 282 of file Delegate.h.

References etiss::interfaces::SimpleInstructionInjector< T >::buffer.

◆ toFunction()

template<typename T >
std::function<etiss::int32(bool, uint64_t &, uint64_t, uint8_t *, unsigned, bool &, bool &)> etiss::interfaces::SimpleInstructionInjector< T >::toFunction ( )
inline

Member Data Documentation

◆ buffer

template<typename T >
std::list<T> etiss::interfaces::SimpleInstructionInjector< T >::buffer
private

◆ genHelpers

template<typename T >
std::map<unsigned, std::function<std::list<T>T)> > etiss::interfaces::SimpleInstructionInjector< T >::genHelpers
private

◆ injectionAddresses_

template<typename T >
std::list<uint64_t> etiss::interfaces::SimpleInstructionInjector< T >::injectionAddresses_
private

◆ logInjectionAddresses_

template<typename T >
bool etiss::interfaces::SimpleInstructionInjector< T >::logInjectionAddresses_
private

◆ useRefetchCompensation_

template<typename T >
bool etiss::interfaces::SimpleInstructionInjector< T >::useRefetchCompensation_
private

The documentation for this class was generated from the following file: