template
class Bimap {
public:
class Data {
private:
template Data& set(T);
template<>
@Albert
I had a similar problem when I wanted to add a "trim-excess-capacity" to a custom made container. The std::vector swap trick and changing the declaration of the existing container were not valid options. So I've come up with this:
template struct DeleteImp
{
static void Trim(T* to, unsigned int count);
};
template struct DeleteImp
{
static void Trim(T* to, unsigned int count) {}
};
template struct DeleteImp
{
static void Trim(T* to, unsigned int count)
{
for(unsigned int i=0; i
used by my container like this:
DeleteImp::isPointer>::Trim(buf + length, truelength-length);
You may also want to check out this resource.