C++ Device API Reference Manual
Reference documentation for the Simics C++ Device API.
 
Loading...
Searching...
No Matches
simics::detail Namespace Reference

Classes

struct  attr_from_std_helper
 
struct  attr_from_std_helper< attr_value_t >
 
struct  attr_from_std_helper< bool >
 
struct  attr_from_std_helper< char[N]>
 
struct  attr_from_std_helper< ConfObjectRef >
 
struct  attr_from_std_helper< const char * >
 
struct  attr_from_std_helper< data_attribute >
 
struct  attr_from_std_helper< std::array< V, N > >
 
struct  attr_from_std_helper< std::deque< V > >
 
struct  attr_from_std_helper< std::list< V > >
 
struct  attr_from_std_helper< std::map< X, Y > >
 
struct  attr_from_std_helper< std::pair< X, Y > >
 
struct  attr_from_std_helper< std::set< V > >
 
struct  attr_from_std_helper< std::string >
 
struct  attr_from_std_helper< std::tuple< Args... > >
 
struct  attr_from_std_helper< std::vector< V > >
 
struct  attr_from_std_helper< V[N]>
 
struct  attr_getter_helper
 
struct  attr_getter_helper< T &(*)(O &)>
 
struct  attr_getter_helper< T O::* >
 
struct  attr_getter_helper< T(*)(O &)>
 
struct  attr_getter_helper< T(O::*)() const >
 
struct  attr_getter_helper< T(O::*)()>
 
struct  attr_getter_helper_dual
 
struct  attr_getter_helper_dual< T O::*, C >
 
struct  attr_getter_helper_dual< T(O::*)() const, C >
 
struct  attr_getter_helper_dual< T(O::*)(), C >
 
struct  attr_list_type_str_helper
 
struct  attr_setter_helper
 
struct  attr_setter_helper< T &(*)(O &)>
 
struct  attr_setter_helper< T O::* >
 
struct  attr_setter_helper< void(*)(O &, T &)>
 
struct  attr_setter_helper< void(*)(O &, T)>
 
struct  attr_setter_helper< void(O::*)(T &)>
 
struct  attr_setter_helper< void(O::*)(T)>
 
struct  attr_setter_helper_dual
 
struct  attr_setter_helper_dual< T O::*, C >
 
struct  attr_setter_helper_dual< void(O::*)(T &), C >
 
struct  attr_setter_helper_dual< void(O::*)(T), C >
 
struct  attr_to_std_helper
 
struct  attr_to_std_helper< attr_value_t >
 
struct  attr_to_std_helper< bool >
 
struct  attr_to_std_helper< ConfObjectRef >
 
struct  attr_to_std_helper< const char * >
 
struct  attr_to_std_helper< data_attribute >
 
struct  attr_to_std_helper< std::array< V, N > >
 
struct  attr_to_std_helper< std::deque< V > >
 
struct  attr_to_std_helper< std::list< V > >
 
struct  attr_to_std_helper< std::map< X, Y > >
 
struct  attr_to_std_helper< std::pair< X, Y > >
 
struct  attr_to_std_helper< std::set< V > >
 
struct  attr_to_std_helper< std::string >
 
struct  attr_to_std_helper< std::tuple< Args... > >
 
struct  attr_to_std_helper< std::vector< V > >
 
struct  attr_type_str_helper
 
struct  attr_type_str_helper< std::array< T, N > >
 
struct  attr_type_str_helper< std::map< X, Y > >
 
struct  attr_type_str_helper< std::pair< X, Y > >
 
struct  attr_type_str_helper< std::tuple< Args... > >
 
struct  attr_type_str_helper< std::vector< uint8 > >
 
class  ConstSizeT
 Literal type that extends size_t type. More...
 
struct  derived_from_connectbase_and_constructible_from_confobjectref
 
struct  event_helper
 
struct  event_helper< T O::*, C >
 
struct  has_init_class
 
struct  has_init_class< T, typename Voider< decltype(T::init_class)>::type >
 
class  HierarchicalObjectName
 Represents name of a bank/register/field. More...
 
struct  is_array_of_connectbase
 
struct  is_array_of_connectbase< std::array< T, N > >
 
struct  is_container_of_connectbase
 
struct  is_container_of_connectbase< std::deque< T, Alloc > >
 
struct  is_container_of_connectbase< std::list< T, Alloc > >
 
struct  is_container_of_connectbase< std::vector< T, Alloc > >
 
class  SetIllegalType
 
class  SetIllegalValue
 
class  SetInterfaceNotFound
 
class  SetNotWritable
 
struct  Voider
 

Typedefs

using data_attribute = std::vector< uint8 >
 

Functions

template<typename C , typename T = typename C::value_type>
attr_value_t from_container (const C &src)
 
template<typename C , typename T = typename C::value_type>
to_container (const attr_value_t &src)
 
set_error_t handle_exception (const std::exception &e)
 
template<typename IFACE >
IFACE * get_interface (conf_object_t *obj)
 Return the Simics C++ interface class from a configuration object.
 
template<class T >
std::enable_if<!has_init_class< T >::value >::type init_class (ConfClass *)
 
template<class T >
std::enable_if< has_init_class< T >::value >::type init_class (ConfClass *cls)
 

Variables

const std::unordered_map< std::type_index, const std::string > type_strs
 

Typedef Documentation

◆ data_attribute

using simics::detail::data_attribute = typedef std::vector<uint8>

Function Documentation

◆ from_container()

template<typename C , typename T = typename C::value_type>
attr_value_t simics::detail::from_container ( const C &  src)

◆ get_interface()

template<typename IFACE >
IFACE * simics::detail::get_interface ( conf_object_t *  obj)

Return the Simics C++ interface class from a configuration object.

◆ handle_exception()

set_error_t simics::detail::handle_exception ( const std::exception &  e)
inline

◆ init_class() [1/2]

template<class T >
std::enable_if<!has_init_class< T >::value >::type simics::detail::init_class ( ConfClass )

◆ init_class() [2/2]

template<class T >
std::enable_if< has_init_class< T >::value >::type simics::detail::init_class ( ConfClass cls)

◆ to_container()

template<typename C , typename T = typename C::value_type>
C simics::detail::to_container ( const attr_value_t &  src)

Variable Documentation

◆ type_strs

const std::unordered_map<std::type_index, const std::string> simics::detail::type_strs
Initial value:
{
{std::type_index(typeid(bool)), "b"},
{std::type_index(typeid(char)), "i"},
{std::type_index(typeid(signed char)), "i"},
{std::type_index(typeid(unsigned char)), "i"},
{std::type_index(typeid(short)), "i"},
{std::type_index(typeid(unsigned short)), "i"},
{std::type_index(typeid(int)), "i"},
{std::type_index(typeid(unsigned int)), "i"},
{std::type_index(typeid(long int)), "i"},
{std::type_index(typeid(unsigned long int)), "i"},
{std::type_index(typeid(long long int)), "i"},
{std::type_index(typeid(unsigned long long int)),
"i"},
{std::type_index(typeid(float)), "f"},
{std::type_index(typeid(double)), "f"},
{std::type_index(typeid(simics::ConfObjectRef)), "[os]|o|n"},
{std::type_index(typeid(std::string)), "s"},
{std::type_index(typeid(const char *)), "s|n"},
{std::type_index(typeid(attr_value_t)), "a"},
}
Represents Simics C type conf_object_t.
Definition: conf-object.h:38