473,408 Members | 2,427 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,408 software developers and data experts.

ABI backward compatibility

Hi:

I've read some about the pimpl idiom and I know that it provides safe
ABI backward compatibility on shared libraries.

Let's consider the following definitions:

template <class T>
class A
{
public:
A()
{
}

virtual ~A()
{
}

T GetValue() const
{
return mValue;
}

private:
T mValue;
};
class B
{
public:
B(const A<int>& aA)
{
mValue = aA.GetValue();
}

private:
int mValue;
};
How can I provide ABI compatibility in this case, considering that I
cannot use the pimpl idiom in my template class implementation?

Thanks in advance,
Ernesto

Oct 31 '06 #1
2 1816
Please heeeeelp!!!!!

Ernesto Bascón ha escrito:
Hi:

I've read some about the pimpl idiom and I know that it provides safe
ABI backward compatibility on shared libraries.

Let's consider the following definitions:

template <class T>
class A
{
public:
A()
{
}

virtual ~A()
{
}

T GetValue() const
{
return mValue;
}

private:
T mValue;
};
class B
{
public:
B(const A<int>& aA)
{
mValue = aA.GetValue();
}

private:
int mValue;
};
How can I provide ABI compatibility in this case, considering that I
cannot use the pimpl idiom in my template class implementation?

Thanks in advance,
Ernesto
Nov 1 '06 #2
Is there anybody out there?

:)

Ernesto Bascón wrote:
Please heeeeelp!!!!!

Ernesto Bascón ha escrito:
Hi:

I've read some about the pimpl idiom and I know that it provides safe
ABI backward compatibility on shared libraries.

Let's consider the following definitions:

template <class T>
class A
{
public:
A()
{
}

virtual ~A()
{
}

T GetValue() const
{
return mValue;
}

private:
T mValue;
};
class B
{
public:
B(const A<int>& aA)
{
mValue = aA.GetValue();
}

private:
int mValue;
};
How can I provide ABI compatibility in this case, considering that I
cannot use the pimpl idiom in my template class implementation?

Thanks in advance,


Ernesto
Nov 2 '06 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: Peter Kleiweg | last post by:
So how serious are plans to remove things from Python, like lambda and map and reduce? I am just starting out with Python and if there is a danger that the programs I write today won't work next...
1
by: Vyacheslav Lanovets | last post by:
Hello, All! Installed VS 2005... What is annoying is that project files are not backward compatible. For instance, EVC4 vcp files are backward compatible with EVC3 and can be used...
2
by: Neal Becker | last post by:
How can I write code to take advantage of new decorator syntax, while allowing backward compatibility? I almost want a preprocessor. #if PYTHON_VERSION >= 2.4 @staticmethod ....
1
by: Dev | last post by:
Dear Friends, I have created VC++.NET dll by VS.NET2003.Is it possible to use this dll(vs.net2003) into C# version (Vs.net2002)? Is there backward compatibility? If so ..How do to this?..If...
2
by: Dominic | last post by:
Hi everybody, I'm planning to use serialization to persist an object (and possibly its child objects) in my application. However, I'm concerned about the backward compatibility issue. I'm...
1
by: MLibby | last post by:
I'm a Netscape newbie and am using it for backward compatibility testing. How do I debug javascript in Netscape? I set Netscape as the default debugger (design mode | file | Browse With) and I am...
3
by: Madhu | last post by:
We are having a dll backward compatibility issue since we migrated to .NET 2005. As part of our product, we build a dll which is used by other products. Everything was fine when we were build it...
0
by: bhargav mandlem | last post by:
hi friends i have created VC++.NET dll by VS.NET2003.Is it possible to use this dll(vs.net2003) into C# version (Vs.net2002)? Is there backward compatibility? If so ..How do to this?..If anyone...
7
by: Ernesto Bascón | last post by:
Hi everybody: I want to develop a library that uses heavily templates. Is there an idiom or some tips about things that I should care of in order to provide backward compatibility with my...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.