16#ifndef SIMICS_UTILITY_H
17#define SIMICS_UTILITY_H
28#if defined SIMICS_6_API || defined SIMICS_7_API
32template <
typename IFACE>
34 return detail::get_interface<IFACE>(obj);
59 const char delimiter =
'.');
IFACE * get_interface(conf_object_t *obj)
Return the Simics C++ interface class from a configuration object.
Definition: conf-object-util.h:30
Definition: after-bank.h:33
std::vector< std::string > expand_names(const std::string &name, const char delimiter='.')
If name contains an array indicator, i.e.
std::pair< size_t, size_t > overlap_range(size_t r1_start, size_t r1_end, size_t r2_start, size_t r2_end)
Given two ranges [r1_start, r1_end) and [r2_start, r2_end), return the overlap range [o_start,...
int array_index(const std::string &name)
This function looks for a pattern in the input string that resembles an array index,...
size_t hash_str(const std::string &name)
Hashes a string to a size_t value.