Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:49:29

0001 #ifndef HeterogeneousCore_SonicCore_SonicClientTypes
0002 #define HeterogeneousCore_SonicCore_SonicClientTypes
0003 
0004 //this base class exists to limit the impact of dependent scope in derived classes
0005 template <typename InputT, typename OutputT = InputT>
0006 class SonicClientTypes {
0007 public:
0008   //typedefs for outside accessibility
0009   typedef InputT Input;
0010   typedef OutputT Output;
0011   //destructor
0012   virtual ~SonicClientTypes() = default;
0013 
0014   //accessors
0015   Input& input() { return input_; }
0016   const Output& output() const { return output_; }
0017 
0018 protected:
0019   Input input_;
0020   Output output_;
0021 };
0022 
0023 #endif