cuCollections
cuCollections copied to clipboard
[FEA] Support linking multiple versions of cuco in the same project
CUB and Thrust both allow for custom namespaces via e.g. CUB_NS_PREFIX and CUB_NS_POSTFIX, such that multiple shared libraries can each utilize their own copy of it (and thus different versions can safely coexist). (see NVIDIA/thrust#1401 )
cuco should also implement this feature.
@allisonvacanti suggested to utilize versioned inline namespaces to solve this problem:
namespace cuco {
inline namespace CUCO_VERSION {
void foo();
} /* inline namespace CUCO_VERSION */
} /* namespace cuco */
This option requires #190 to be implemented.