PetaVision  Alpha
IdentDelivery.hpp
1 /*
2  * IdentDelivery.hpp
3  *
4  * Created on: Aug 24, 2017
5  * Author: Pete Schultz
6  */
7 
8 #ifndef IDENTDELIVERY_HPP_
9 #define IDENTDELIVERY_HPP_
10 
11 #include "BaseDelivery.hpp"
12 #include "components/SingleArbor.hpp"
13 
14 namespace PV {
15 
20 class IdentDelivery : public BaseDelivery {
21  protected:
31  virtual void ioParam_receiveGpu(enum ParamsIOFlag ioFlag) override; // End of list of IdentDelivery parameters.
33 
34  public:
35  IdentDelivery(char const *name, HyPerCol *hc);
36 
37  virtual ~IdentDelivery() {}
38 
39  virtual void deliver() override;
40 
41  virtual void deliverUnitInput(float *recvBuffer) override;
42 
43  virtual bool isAllInputReady() override;
44 
45  protected:
46  IdentDelivery() {}
47 
48  int initialize(char const *name, HyPerCol *hc);
49 
50  virtual void setObjectType() override;
51 
52  virtual Response::Status
53  communicateInitInfo(std::shared_ptr<CommunicateInitInfoMessage const> message) override;
54 
55  void checkPreAndPostDimensions();
56 
57  protected:
58  SingleArbor *mSingleArbor = nullptr;
59 
60 }; // end class IdentDelivery
61 
62 } // end namespace PV
63 
64 #endif // IDENTDELIVERY_HPP_
virtual void ioParam_receiveGpu(enum ParamsIOFlag ioFlag) override
IdentDeliver does not use the GPU. It is an error to set receiveGpu to true.
virtual bool isAllInputReady() override