Program Listing for File MessageSpecialisationHandler.h

Return to documentation for file (include/flamegpu/runtime/messaging/MessageSpecialisationHandler.h)

#ifndef INCLUDE_FLAMEGPU_RUNTIME_MESSAGING_MESSAGESPECIALISATIONHANDLER_H_
#define INCLUDE_FLAMEGPU_RUNTIME_MESSAGING_MESSAGESPECIALISATIONHANDLER_H_

namespace flamegpu {
namespace detail {
class CUDAScatter;
}  // namespace detail
class MessageSpecialisationHandler {
 public:
    MessageSpecialisationHandler() { }
    virtual ~MessageSpecialisationHandler() { }
    virtual void init(detail::CUDAScatter &scatter, unsigned int streamId, cudaStream_t stream) = 0;
    virtual void buildIndex(detail::CUDAScatter &scatter, unsigned int streamId, cudaStream_t stream) { }
    virtual void allocateMetaDataDevicePtr(cudaStream_t stream) { }
    virtual void freeMetaDataDevicePtr() { }
    virtual const void *getMetaDataDevicePtr() const { return nullptr; }
};

}  // namespace flamegpu

#endif  // INCLUDE_FLAMEGPU_RUNTIME_MESSAGING_MESSAGESPECIALISATIONHANDLER_H_