// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm // template instantiations for Buffer and its pimpl // valid for all backends #define BUFFER_T_INSTANTIATION(BufferType) \ template class DeviceBuffer; \ template class DeviceBuffer; \ template class Buffer; \ template class Buffer; \ template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); BUFFER_T_INSTANTIATION(char); BUFFER_T_INSTANTIATION(unsigned char); BUFFER_T_INSTANTIATION(uchar3); BUFFER_T_INSTANTIATION(int16_t); BUFFER_T_INSTANTIATION(uint16_t); BUFFER_T_INSTANTIATION(int); BUFFER_T_INSTANTIATION(int2); BUFFER_T_INSTANTIATION(unsigned int); BUFFER_T_INSTANTIATION(float); BUFFER_T_INSTANTIATION(float2); BUFFER_T_INSTANTIATION(float4); // Buffer type conversions to arbitrary types // add manually as needed template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num); template Buffer::Buffer(DeviceBuffer *pimpl, size_t num);