Empirical
Public Member Functions | Public Attributes | List of all members
emp::InstLib< HARDWARE_T, ARG_T, ARG_COUNT >::InstDef Struct Reference

#include <InstLib.h>

Public Member Functions

 InstDef (const std::string &_n, fun_t _fun, size_t _args, const std::string &_d, ScopeType _s_type, size_t _s_arg, const inst_properties_t &_properties=inst_properties_t())
 
 InstDef (const InstDef &)=default
 

Public Attributes

std::string name
 Name of this instruction. More...
 
fun_t fun_call
 Function to call when executing. More...
 
size_t num_args
 Number of args needed by function. More...
 
std::string desc
 Description of function. More...
 
ScopeType scope_type
 How does this instruction affect scoping? More...
 
size_t scope_arg
 Which arg indictes new scope (if any). More...
 
inst_properties_t properties
 Are there any generic properties associated with this inst def? More...
 

Constructor & Destructor Documentation

template<typename HARDWARE_T , typename ARG_T = size_t, size_t ARG_COUNT = 3>
emp::InstLib< HARDWARE_T, ARG_T, ARG_COUNT >::InstDef::InstDef ( const std::string &  _n,
fun_t  _fun,
size_t  _args,
const std::string &  _d,
ScopeType  _s_type,
size_t  _s_arg,
const inst_properties_t _properties = inst_properties_t() 
)
inline
template<typename HARDWARE_T , typename ARG_T = size_t, size_t ARG_COUNT = 3>
emp::InstLib< HARDWARE_T, ARG_T, ARG_COUNT >::InstDef::InstDef ( const InstDef )
default

Member Data Documentation

template<typename HARDWARE_T , typename ARG_T = size_t, size_t ARG_COUNT = 3>
std::string emp::InstLib< HARDWARE_T, ARG_T, ARG_COUNT >::InstDef::desc

Description of function.

template<typename HARDWARE_T , typename ARG_T = size_t, size_t ARG_COUNT = 3>
fun_t emp::InstLib< HARDWARE_T, ARG_T, ARG_COUNT >::InstDef::fun_call

Function to call when executing.

template<typename HARDWARE_T , typename ARG_T = size_t, size_t ARG_COUNT = 3>
std::string emp::InstLib< HARDWARE_T, ARG_T, ARG_COUNT >::InstDef::name

Name of this instruction.

template<typename HARDWARE_T , typename ARG_T = size_t, size_t ARG_COUNT = 3>
size_t emp::InstLib< HARDWARE_T, ARG_T, ARG_COUNT >::InstDef::num_args

Number of args needed by function.

template<typename HARDWARE_T , typename ARG_T = size_t, size_t ARG_COUNT = 3>
inst_properties_t emp::InstLib< HARDWARE_T, ARG_T, ARG_COUNT >::InstDef::properties

Are there any generic properties associated with this inst def?

template<typename HARDWARE_T , typename ARG_T = size_t, size_t ARG_COUNT = 3>
size_t emp::InstLib< HARDWARE_T, ARG_T, ARG_COUNT >::InstDef::scope_arg

Which arg indictes new scope (if any).

template<typename HARDWARE_T , typename ARG_T = size_t, size_t ARG_COUNT = 3>
ScopeType emp::InstLib< HARDWARE_T, ARG_T, ARG_COUNT >::InstDef::scope_type

How does this instruction affect scoping?


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