> If you remove C due to the macro, then D is now equal to 3 from incrementing its value based off of B's value instead of C.

Yes, I know it... But I talk not about it.. I talk about using QT_DEPRECATED_SINCE in common case, according to enum values.

What if I need to deprecate the specific value, then how need to do it (how to say to user about it)?

E.g. currently it does with this way:

enum Foo {
  A, B, C, D
}

#ifdef QT_DEPRECATED
#if defined _MSC_VER
#pragma deprecated(C)
#endif
#endif

So, my question is: how to deprecate the specific enum value with a right way for all compilers/platforms?

> ... and that becomes a problem when you, for instance, have saved the value as a setting or in a data file,

hmmm.. yes.. it can be..

> to say nothing about binary compatibility.

But BC breaks in any case when you are use QT_DEPRECATED_SINCE macro (yes?). E.g. when you deprecate some of public API.




12.08.2015 21:05, André Somers пишет:


Op 12 aug. 2015 om 19:52 heeft Keith Gardner <kreios4...@gmail.com <mailto:kreios4...@gmail.com>> het volgende geschreven:



On Wed, Aug 12, 2015 at 11:54 AM Denis Shienkov <denis.shien...@gmail.com <mailto:denis.shien...@gmail.com>> wrote:

    > skips three making Four == 3.

    yes, and what? :)


    > This obviously needs to be:
    > Four = 4

    Ok, seems it was a bad example with One-Four.. Let's consider
    another abstract example:

    enum Foo {
        A,
        B,
     #if QT_DEPRECATED_SINCE(5, 2)
        C,
    #endif
        D
    };


From your example, the initial values are the following:
  A = 0
  B = 1
  C = 2
  D = 3

If you remove C due to the macro, then D is now equal to 3 from incrementing its value based off of B's value instead of C.

... and that becomes a problem when you, for instance, have saved the value as a setting or in a data file, to say nothing about binary compatibility.

André

_______________________________________________
Development mailing list
Development@qt-project.org <mailto:Development@qt-project.org>
http://lists.qt-project.org/mailman/listinfo/development


_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to