Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jul 30, 2015, 2:13:21 PM (9 years ago)
Author:
muemart
Message:

Fix MSVC14/Visual Studio 2015 build: std::less must be constexpr

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/libraries/tools/TextureGenerator.cc

    r6417 r10546  
    3939#include "util/Math.h"
    4040
     41#if _MSC_VER >= 1900
     42#define STLSPEC constexpr
     43#else
     44#define STLSPEC inline
     45#endif
     46
    4147namespace std
    4248{
    4349    template <>
    44     inline bool less<orxonox::ColourValue>::operator()(const orxonox::ColourValue& __x, const orxonox::ColourValue& __y) const
     50    STLSPEC bool less<orxonox::ColourValue>::operator()(const orxonox::ColourValue& __x, const orxonox::ColourValue& __y) const
    4551    {
    46         if (__x.r == __y.r)
    47         {
    48             if (__x.g == __y.g)
    49             {
    50                 if (__x.b == __y.b)
    51                 {
    52                     return __x.a < __y.a;
    53                 }
    54                 return __x.b < __y.b;
    55             }
    56             return __x.g < __y.g;
    57         }
    58         return __x.r < __y.r;
     52        //MSVC14 needs this function to be constexpr, but doesn't support C++14's style
     53        //Keep the old code around for superior readability
     54        //if (__x.r == __y.r)
     55        //{
     56        //    if (__x.g == __y.g)
     57        //    {
     58        //        if (__x.b == __y.b)
     59        //        {
     60        //            return __x.a < __y.a;
     61        //        }
     62        //        return __x.b < __y.b;
     63        //    }
     64        //    return __x.g < __y.g;
     65        //}
     66        //return __x.r < __y.r;
     67        return __x.r == __y.r ? __x.g == __y.g ? __x.b == __y.b ? __x.a < __y.a : __x.b < __y.b : __x.g < __y.g :  __x.r < __y.r;
    5968    }
    6069}
Note: See TracChangeset for help on using the changeset viewer.