NDMeshStreamer: don't force the user to define process in case it is not neeed,
authorLukasz Wesolowski <wesolwsk@illinois.edu>
Wed, 24 Oct 2012 18:00:24 +0000 (13:00 -0500)
committerLukasz Wesolowski <wesolwsk@illinois.edu>
Wed, 24 Oct 2012 18:31:41 +0000 (13:31 -0500)
such as with the new chunk mesh streamer.

src/libs/ck-libs/NDMeshStreamer/NDMeshStreamer.h

index 395a5f0c9551ed1a311d093a8c81ae3e05b8dc3b..0d676a13542c0990eb2a9a269cc999087313da14 100644 (file)
@@ -69,7 +69,7 @@ public:
   virtual void process(const dtype& data) {
     CkAbort("Error. MeshStreamerArrayClient::process() is being called. "
             "This virtual function should have been defined by the user.\n");
-  };     
+  }     
   void setDetector(CompletionDetector *detectorLocalObj) {
     detectorLocalObj_ = detectorLocalObj;
   }
@@ -94,7 +94,11 @@ template <class dtype>
 class MeshStreamerGroupClient : public CBase_MeshStreamerGroupClient<dtype>{
 
 public:
-  virtual void process(const dtype& data) = 0;
+  virtual void process(const dtype& data) {
+    CkAbort("Error. MeshStreamerGroupClient::process() is being called. "
+            "This virtual function should have been defined by the user.\n");
+  }     
+
   virtual void receiveArray(dtype *data, int numItems, int sourcePe) {
     for (int i = 0; i < numItems; i++) {
       process(data[i]);