PetaVision  Alpha
DependentSharedWeights.hpp
1 /*
2  * DependentSharedWeights.hpp
3  *
4  * Created on: Jan 5, 2018
5  * Author: pschultz
6  */
7 
8 #ifndef DEPENDENTSHAREDWEIGHTS_HPP_
9 #define DEPENDENTSHAREDWEIGHTS_HPP_
10 
11 #include "components/SharedWeights.hpp"
12 
13 namespace PV {
14 
20  protected:
31  virtual void ioParam_sharedWeights(enum ParamsIOFlag ioFlag) override;
32  // end of DependentSharedWeights parameters
34 
35  public:
36  DependentSharedWeights(char const *name, HyPerCol *hc);
37  virtual ~DependentSharedWeights();
38 
39  virtual void setObjectType() override;
40 
41  protected:
43 
44  int initialize(char const *name, HyPerCol *hc);
45 
46  virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override;
47 
48  virtual Response::Status
49  communicateInitInfo(std::shared_ptr<CommunicateInitInfoMessage const> message) override;
50 
51  char const *getOriginalConnName(std::map<std::string, Observer *> const hierarchy) const;
52  SharedWeights *getOriginalSharedWeights(
53  std::map<std::string, Observer *> const hierarchy,
54  char const *originalConnName) const;
55 
56 }; // class DependentSharedWeights
57 
58 } // namespace PV
59 
60 #endif // DEPENDENTSHAREDWEIGHTS_HPP_
virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override
virtual void ioParam_sharedWeights(enum ParamsIOFlag ioFlag) override
shareeWeihgts: DependentSharedWeightss does not use the sharedWeights parameter, but uses the same se...