Giter Site home page Giter Site logo

Comments (6)

ben-strasser avatar ben-strasser commented on July 21, 2024

from fast-cpp-csv-parser.

yuhaim avatar yuhaim commented on July 21, 2024

reminders:
add #include
remove using namespace std; inside

from fast-cpp-csv-parser.

Mayitzin avatar Mayitzin commented on July 21, 2024

Another addition I want to put is when compiling in Windows, especially using C++11 in VS.

When using the numeric limits on set_to_max_on_overflow, it will likely throw a warning that the max function has not enough arguments. This is because Windows defines max as a comparison Macro to get the largest of two values. To avoid this, I changed:

x = std::numeric_limits<T>::max();

To:

x = (std::numeric_limits<T>::max)();

Simply surrounding it with parenthesis will prevent the preprocessor to replace max() with the Windows Macro. Similarly with the min() definition:

x = (std::numeric_limits<T>::min)();

See: Syntax error with std::numeric_limits::max

from fast-cpp-csv-parser.

ben-strasser avatar ben-strasser commented on July 21, 2024

Can you provide a pull request where you enclose all std::numeric_limits::min/max? If you provide patches I can pull, as this issue is still relevant with modern VS.

from fast-cpp-csv-parser.

urandon avatar urandon commented on July 21, 2024

It is an end-user responsibility to #define NOMINMAX before including Windows headers. It is not relevant to VS, it is just windows.h's conflicting macro.

from fast-cpp-csv-parser.

ben-strasser avatar ben-strasser commented on July 21, 2024

@urandon I guess, your comment is a reaction to the parenthesis added yesterday. This change was due to issue #101 . I agree with what you are saying. However, I am uncertain whether you suggest changing something to the current situation.

The reasoning for this change is that it helps some people without harming others. Now that I think about it, it might be more elegant to just use the macros from and avoid numeric_limits. However, I do not think that this difference really matters.

from fast-cpp-csv-parser.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.