| 
|   | NeuronUpdateGroupMerged (size_t index, const std::string &precision, const std::string &timePrecision, const BackendBase &backend, const std::vector< std::reference_wrapper< const NeuronGroupInternal >> &groups) | 
|   | 
| bool  | isInSynWUMParamHeterogeneous (size_t childIndex, size_t paramIndex) const | 
|   | Should the incoming synapse weight update model parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isInSynWUMDerivedParamHeterogeneous (size_t childIndex, size_t paramIndex) const | 
|   | Should the incoming synapse weight update model derived parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isOutSynWUMParamHeterogeneous (size_t childIndex, size_t paramIndex) const | 
|   | Should the outgoing synapse weight update model parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isOutSynWUMDerivedParamHeterogeneous (size_t childIndex, size_t paramIndex) const | 
|   | Should the outgoing synapse weight update model derived parameter be implemented heterogeneously?  More...
  | 
|   | 
| const std::vector< SynapseGroupInternal * > &  | getSortedArchetypeInSynWithPostCode () const | 
|   | Get sorted vectors of incoming synapse groups with postsynaptic code belonging to archetype group.  More...
  | 
|   | 
| const std::vector< SynapseGroupInternal * > &  | getSortedArchetypeOutSynWithPreCode () const | 
|   | Get sorted vectors of outgoing synapse groups with presynaptic code belonging to archetype group.  More...
  | 
|   | 
| boost::uuids::detail::sha1::digest_type  | getHashDigest () const | 
|   | Get hash digest used for detecting changes.  More...
  | 
|   | 
| void  | generateRunner (const BackendBase &backend, CodeStream &definitionsInternal, CodeStream &definitionsInternalFunc, CodeStream &definitionsInternalVar, CodeStream &runnerVarDecl, CodeStream &runnerMergedStructAlloc) const | 
|   | 
| void  | generateNeuronUpdate (const BackendBase &backend, CodeStream &os, const ModelSpecMerged &modelMerged, Substitutions &popSubs, BackendBase::GroupHandler< NeuronUpdateGroupMerged > genEmitTrueSpike, BackendBase::GroupHandler< NeuronUpdateGroupMerged > genEmitSpikeLikeEvent) const | 
|   | 
| void  | generateWUVarUpdate (const BackendBase &backend, CodeStream &os, const ModelSpecMerged &modelMerged, Substitutions &popSubs) const | 
|   | 
| std::string  | getVarIndex (unsigned int batchSize, VarAccessDuplication varDuplication, const std::string &index) const | 
|   | 
| std::string  | getReadVarIndex (bool delay, unsigned int batchSize, VarAccessDuplication varDuplication, const std::string &index) const | 
|   | 
| std::string  | getWriteVarIndex (bool delay, unsigned int batchSize, VarAccessDuplication varDuplication, const std::string &index) const | 
|   | 
| bool  | isParamHeterogeneous (size_t index) const | 
|   | Should the parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isDerivedParamHeterogeneous (size_t index) const | 
|   | Should the derived parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isVarInitParamHeterogeneous (size_t varIndex, size_t paramIndex) const | 
|   | Should the var init parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isVarInitDerivedParamHeterogeneous (size_t varIndex, size_t paramIndex) const | 
|   | Should the var init derived parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isCurrentSourceParamHeterogeneous (size_t childIndex, size_t paramIndex) const | 
|   | Should the current source parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isCurrentSourceDerivedParamHeterogeneous (size_t childIndex, size_t paramIndex) const | 
|   | Should the current source derived parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isCurrentSourceVarInitParamHeterogeneous (size_t childIndex, size_t varIndex, size_t paramIndex) const | 
|   | Should the current source var init parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isCurrentSourceVarInitDerivedParamHeterogeneous (size_t childIndex, size_t varIndex, size_t paramIndex) const | 
|   | Should the current source var init derived parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isPSMParamHeterogeneous (size_t childIndex, size_t paramIndex) const | 
|   | Should the postsynaptic model parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isPSMDerivedParamHeterogeneous (size_t childIndex, size_t varIndex) const | 
|   | Should the postsynaptic model derived parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isPSMGlobalVarHeterogeneous (size_t childIndex, size_t paramIndex) const | 
|   | Should the GLOBALG postsynaptic model variable be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isPSMVarInitParamHeterogeneous (size_t childIndex, size_t varIndex, size_t paramIndex) const | 
|   | Should the postsynaptic model var init parameter be implemented heterogeneously?  More...
  | 
|   | 
| bool  | isPSMVarInitDerivedParamHeterogeneous (size_t childIndex, size_t varIndex, size_t paramIndex) const | 
|   | Should the postsynaptic model var init derived parameter be implemented heterogeneously?  More...
  | 
|   | 
| const std::vector< SynapseGroupInternal * > &  | getSortedArchetypeMergedInSyns () const | 
|   | Get sorted vectors of merged incoming synapse groups belonging to archetype group.  More...
  | 
|   | 
| const std::vector< SynapseGroupInternal * > &  | getSortedArchetypeMergedPreOutputOutSyns () const | 
|   | Get sorted vectors of merged outgoing synapse groups with presynaptic output belonging to archetype group.  More...
  | 
|   | 
| const std::vector< CurrentSourceInternal * > &  | getSortedArchetypeCurrentSources () const | 
|   | Get sorted vectors of current sources belonging to archetype group.  More...
  | 
|   | 
|   | GroupMerged (size_t index, const std::string &precision, const std::vector< std::reference_wrapper< const GroupInternal >> groups) | 
|   | 
| size_t  | getIndex () const | 
|   | 
| const GroupInternal &  | getArchetype () const | 
|   | Get 'archetype' neuron group - it's properties represent those of all other merged neuron groups.  More...
  | 
|   | 
| const std::string &  | getMemorySpace () const | 
|   | Get name of memory space assigned to group.  More...
  | 
|   | 
| const std::vector< std::reference_wrapper< const GroupInternal > > &  | getGroups () const | 
|   | Gets access to underlying vector of neuron groups which have been merged.  More...
  | 
|   | 
| const std::vector< Field > &  | getFields () const | 
|   | Get group fields.  More...
  | 
|   | 
| std::vector< Field >  | getSortedFields (const BackendBase &backend) const | 
|   | Get group fields, sorted into order they will appear in struct.  More...
  | 
|   | 
| void  | generateStruct (CodeStream &os, const BackendBase &backend, const std::string &name, bool host=false) const | 
|   | Generate declaration of struct to hold this merged group.  More...
  | 
|   | 
| void  | generateStructFieldArgumentDefinitions (CodeStream &os, const BackendBase &backend) const | 
|   | 
| size_t  | getStructArraySize (const BackendBase &backend) const | 
|   | 
| void  | assignMemorySpaces (const BackendBase &backend, BackendBase::MemorySpaces &memorySpaces) | 
|   | Assign memory spaces to group.  More...
  | 
|   | 
 | 
| enum   | FieldType  | 
|   | 
| typedef NeuronGroupInternal  | GroupInternal | 
|   | 
| typedef std::function< std::string(const NeuronGroupInternal &, size_t)>  | GetFieldValueFunc | 
|   | 
| typedef std::tuple< std::string, std::string, GetFieldValueFunc, FieldType >  | Field | 
|   | 
|   | NeuronGroupMergedBase (size_t index, const std::string &precision, const std::string &timePrecision, const BackendBase &backend, bool init, const std::vector< std::reference_wrapper< const NeuronGroupInternal >> &groups) | 
|   | 
| void  | updateBaseHash (bool init, boost::uuids::detail::sha1 &hash) const | 
|   | 
| template<typename T , typename G , typename H >  | 
| void  | orderNeuronGroupChildren (std::vector< std::vector< T *>> &sortedGroupChildren, G getVectorFunc, H getHashDigestFunc) const | 
|   | 
| bool  | isVarInitParamReferenced (size_t varIndex, size_t paramIndex) const | 
|   | Is the var init parameter referenced?  More...
  | 
|   | 
| bool  | isVarInitDerivedParamReferenced (size_t varIndex, size_t paramIndex) const | 
|   | Is the var init derived parameter referenced?  More...
  | 
|   | 
| bool  | isCurrentSourceParamReferenced (size_t childIndex, size_t paramIndex) const | 
|   | Is the current source parameter referenced?  More...
  | 
|   | 
| bool  | isCurrentSourceDerivedParamReferenced (size_t childIndex, size_t paramIndex) const | 
|   | Is the current source derived parameter referenced?  More...
  | 
|   | 
| bool  | isCurrentSourceVarInitParamReferenced (size_t childIndex, size_t varIndex, size_t paramIndex) const | 
|   | Is the current source var init parameter referenced?  More...
  | 
|   | 
| bool  | isCurrentSourceVarInitDerivedParamReferenced (size_t childIndex, size_t varIndex, size_t paramIndex) const | 
|   | Is the current source var init derived parameter referenced?  More...
  | 
|   | 
| bool  | isPSMParamReferenced (size_t childIndex, size_t paramIndex) const | 
|   | Is the postsynaptic model parameter referenced?  More...
  | 
|   | 
| bool  | isPSMDerivedParamReferenced (size_t childIndex, size_t varIndex) const | 
|   | Is the postsynaptic model derived parameter referenced?  More...
  | 
|   | 
| bool  | isPSMGlobalVarReferenced (size_t childIndex, size_t varIndex) const | 
|   | Is the GLOBALG postsynaptic model variable referenced?  More...
  | 
|   | 
| bool  | isPSMVarInitParamReferenced (size_t childIndex, size_t varIndex, size_t paramIndex) const | 
|   | Is the postsynaptic model var init parameter referenced?  More...
  | 
|   | 
| bool  | isPSMVarInitDerivedParamReferenced (size_t childIndex, size_t varIndex, size_t paramIndex) const | 
|   | Is the postsynaptic model var init derived parameter referenced?  More...
  | 
|   | 
| template<typename T , typename G >  | 
| bool  | isChildParamValueHeterogeneous (size_t childIndex, size_t paramIndex, const std::vector< std::vector< T >> &sortedGroupChildren, G getParamValuesFn) const | 
|   | 
| template<typename T  = NeuronGroupMergedBase, typename C , typename H , typename V >  | 
| void  | addHeterogeneousChildParams (const Snippet::Base::StringVec ¶mNames, const std::vector< std::vector< C >> &sortedGroupChildren, size_t childIndex, const std::string &prefix, H isChildParamHeterogeneousFn, V getValueFn) | 
|   | 
| template<typename T  = NeuronGroupMergedBase, typename C , typename H , typename V >  | 
| void  | addHeterogeneousChildDerivedParams (const Snippet::Base::DerivedParamVec &derivedParams, const std::vector< std::vector< C >> &sortedGroupChildren, size_t childIndex, const std::string &prefix, H isChildDerivedParamHeterogeneousFn, V getValueFn) | 
|   | 
| template<typename T  = NeuronGroupMergedBase, typename C , typename H , typename V >  | 
| void  | addHeterogeneousChildVarInitParams (const Snippet::Base::StringVec ¶mNames, const std::vector< std::vector< C >> &sortedGroupChildren, size_t childIndex, size_t varIndex, const std::string &prefix, H isChildParamHeterogeneousFn, V getVarInitialiserFn) | 
|   | 
| template<typename T  = NeuronGroupMergedBase, typename C , typename H , typename V >  | 
| void  | addHeterogeneousChildVarInitDerivedParams (const Snippet::Base::DerivedParamVec &derivedParams, const std::vector< std::vector< C >> &sortedGroupChildren, size_t childIndex, size_t varIndex, const std::string &prefix, H isChildDerivedParamHeterogeneousFn, V getVarInitialiserFn) | 
|   | 
| template<typename S >  | 
| void  | addChildEGPs (const std::vector< Snippet::Base::EGP > &egps, size_t childIndex, const std::string &arrayPrefix, const std::string &prefix, S getEGPSuffixFn) | 
|   | 
| template<typename T  = NeuronGroupMergedBase, typename C , typename V , typename R >  | 
| void  | updateChildParamHash (const std::vector< std::vector< C >> &sortedGroupChildren, size_t childIndex, R isChildParamReferencedFn, V getValueFn, boost::uuids::detail::sha1 &hash) const | 
|   | 
| template<typename T  = NeuronGroupMergedBase, typename C , typename V , typename R >  | 
| void  | updateChildDerivedParamHash (const std::vector< std::vector< C >> &sortedGroupChildren, size_t childIndex, R isChildDerivedParamReferencedFn, V getValueFn, boost::uuids::detail::sha1 &hash) const | 
|   | 
| template<typename T  = NeuronGroupMergedBase, typename C , typename R , typename V >  | 
| void  | updateChildVarInitParamsHash (const std::vector< std::vector< C >> &sortedGroupChildren, size_t childIndex, size_t varIndex, R isChildParamReferencedFn, V getVarInitialiserFn, boost::uuids::detail::sha1 &hash) const | 
|   | 
| template<typename T  = NeuronGroupMergedBase, typename C , typename R , typename V >  | 
| void  | updateChildVarInitDerivedParamsHash (const std::vector< std::vector< C >> &sortedGroupChildren, size_t childIndex, size_t varIndex, R isChildDerivedParamReferencedFn, V getVarInitialiserFn, boost::uuids::detail::sha1 &hash) const | 
|   | 
| void  | addMergedInSynPointerField (const std::string &type, const std::string &name, size_t archetypeIndex, const std::string &prefix) | 
|   | 
| void  | addMergedPreOutputOutSynPointerField (const std::string &type, const std::string &name, size_t archetypeIndex, const std::string &prefix) | 
|   | 
| bool  | isParamReferenced (const std::vector< std::string > &codeStrings, const std::string ¶mName) const | 
|   | Helper to test whether parameter is referenced in vector of codestrings.  More...
  | 
|   | 
| bool  | isParamValueHeterogeneous (size_t index, P getParamValuesFn) const | 
|   | Helper to test whether parameter values are heterogeneous within merged group.  More...
  | 
|   | 
| void  | addField (const std::string &type, const std::string &name, GetFieldValueFunc getFieldValue, FieldType fieldType=FieldType::Standard) | 
|   | 
| void  | addScalarField (const std::string &name, GetFieldValueFunc getFieldValue, FieldType fieldType=FieldType::Standard) | 
|   | 
| void  | addPointerField (const std::string &type, const std::string &name, const std::string &prefix) | 
|   | 
| void  | addVars (const Models::Base::VarVec &vars, const std::string &arrayPrefix) | 
|   | 
| void  | addVarReferences (const Models::Base::VarRefVec &varReferences, const std::string &arrayPrefix, V getVarRefFn) | 
|   | 
| void  | addEGPs (const Snippet::Base::EGPVec &egps, const std::string &arrayPrefix, const std::string &varName="") | 
|   | 
| void  | addEGPReferences (const Models::Base::EGPRefVec &egpRefs, const std::string &arrayPrefix, E getEGPRefFn) | 
|   | 
| void  | addHeterogeneousParams (const Snippet::Base::StringVec ¶mNames, const std::string &suffix, P getParamValues, H isHeterogeneous) | 
|   | 
| void  | addHeterogeneousDerivedParams (const Snippet::Base::DerivedParamVec &derivedParams, const std::string &suffix, D getDerivedParamValues, H isHeterogeneous) | 
|   | 
| void  | addHeterogeneousVarInitParams (const Models::Base::VarVec &vars, V getVarInitialisers, H isHeterogeneous) | 
|   | 
| void  | addHeterogeneousVarInitDerivedParams (const Models::Base::VarVec &vars, V getVarInitialisers, H isHeterogeneous) | 
|   | 
| void  | updateHash (H getHashableFn, boost::uuids::detail::sha1 &hash) const | 
|   | Helper to update hash with the hash of calling getHashableFn on each group.  More...
  | 
|   | 
| void  | updateParamHash (R isParamReferencedFn, V getValueFn, boost::uuids::detail::sha1 &hash) const | 
|   | 
| void  | updateVarInitParamHash (V getVarInitialisers, R isParamReferencedFn, boost::uuids::detail::sha1 &hash) const | 
|   | 
| void  | updateVarInitDerivedParamHash (V getVarInitialisers, R isDerivedParamReferencedFn, boost::uuids::detail::sha1 &hash) const | 
|   | 
| void  | generateRunnerBase (const BackendBase &backend, CodeStream &definitionsInternal, CodeStream &definitionsInternalFunc, CodeStream &definitionsInternalVar, CodeStream &runnerVarDecl, CodeStream &runnerMergedStructAlloc, const std::string &name, bool host=false) const | 
|   |