summaryrefslogtreecommitdiff
path: root/core/index_spike_arrival.hpp
blob: c5bff9f702ca82d522332445a8d6ca7334a35e28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef B0LYLjBmmWhE4fufCZdMp6k8weE
#define B0LYLjBmmWhE4fufCZdMp6k8weE

#include <boost/static_assert.hpp>
#include <boost/tuple/tuple.hpp>

#include "index_spike.hpp"
#include "simlimits.hpp"

// fake class used to simplify sim_loop; look at Filter<SpikeArrival>
template<>
class Index<SpikeArrival> {
public:
  typedef Ptr<SpikeArrival>::ptr_t ptr_t;
  typedef Index<Spike>::neuron_ptr_t neuron_ptr_t;
  typedef Ptr<Synapse>::offset_t local_synapse_ptr_t;
  typedef boost::tuple<> con_arg_t;

  static constexpr ptr_t nil() {
    BOOST_STATIC_ASSERT(( (ptr_t) -1 > 0 ));
    return -1;
  }

  // NOP ctor for TypeMap
  Index(con_arg_t = con_arg_t()) {}

  // check for correct # of synapses
  BOOST_STATIC_ASSERT(maxSynapsesPerNeuron <= 256);
  STATIC_ASSERT_IS_POWER_OF_TWO(maxSynapsesPerNeuron);
};

#endif // B0LYLjBmmWhE4fufCZdMp6k8weE
contact: Jan Huwald // Impressum