A struct encapsulating the required arguments to the selectNode(...) method of a sub-class of CjNodeSelector. More...
#include <CjNodeSelector.hh>

Public Member Functions | |
| CjNodeSelector_select_va_t (int epoch, boost::mt19937 *rng, int start_node=-1, bool skip_start=true, bool skip_fullconn=true, bool selfloop_ok=false) | |
| CjNodeSelector_select_va_t (const CjNetworkProcess_act_va_t &temp, int start_node=-1, bool skip_start=true, bool skip_fullconn=true, bool selfloop_ok=false) | |
| CjNodeSelector_select_va_t (int epoch, std::vector< int > *invalid_choice, boost::mt19937 *rng, int start_node=-1, bool skip_start=true, bool skip_fullconn=true, bool selfloop_ok=false) | |
| CjNodeSelector_select_va_t (std::vector< int > *invalid_choice, const CjNetworkProcess_act_va_t &temp, int start_node=-1, bool skip_start=true, bool skip_fullconn=true, bool selfloop_ok=false) | |
Public Attributes | |
| int | m_epoch |
| The current epoch (if < 0 then this is the end epoch). | |
| boost::mt19937 * | m_rng |
| A source of entropy. This shouldn't be stored in the selector - for use only in selectNode(...). | |
| std::vector< int > * | m_invalid_choice |
| a vector of ints which are either 0 or 1 - if 1 then the node of that index is an invalid choice | |
| int | m_start_node |
| if set to -1 then this node selector will be searching for the start node of a link, otherwise the destination, and this is set to the start node | |
| bool | m_skip_start |
| If true and m_skip_start is not -1 then the start node will not be considered for selection, but if false then may be considered. | |
| bool | m_skip_fullconn |
| If true then a fully connected node will not be selected. | |
| bool | m_selfloop_ok |
| if set to false then the a self-loop isn't counted in the fullconn testing (see m_skip_fullconn) | |
A struct encapsulating the required arguments to the selectNode(...) method of a sub-class of CjNodeSelector.
When creating new sub-classes of CjNodeSelector and it is necessary to add an argument to the selectNode(...), they can be added here rather than updating the declaration of the CjNodeSelector::selectNode(...) and all sub-classes
| std::vector<int>* jmitie::CjNodeSelector_select_va_t::m_invalid_choice |
a vector of ints which are either 0 or 1 - if 1 then the node of that index is an invalid choice
This could be 0, in which case there is nothing to check against. m_skip_start, m_skip_fullconn and m_selfloop_ok should still be checked, though. This is implemented as a pointer so the actual vector can belong to the calling process so it does not have to be re-created every time a CjNodeSelector_select_va_t object is created.
If true then a fully connected node will not be selected.
Fully connected means connected to all other nodes, but not necessarily to itself, unless m_selfloop_ok is set
1.7.1