mrange / cpplinq

LINQ for C++ (cpplinq) is an extensible C++11 library of higher-order functions for range manipulation. cpplinq draws inspiration from LINQ for C#.
http://cpplinq.codeplex.com/
Other
182 stars 39 forks source link

What does CPPLINQ_NOEXCEPT mean? #5

Open danielruc91 opened 8 years ago

danielruc91 commented 8 years ago

May I ask a question? In the code, it's defined that:

define CPPLINQ_NOEXCEPT throw()

But NOEXCEPT seems to say it won't throw() an exception... So what is exactly this macro doing?

WojciechMigda commented 8 years ago

http://en.cppreference.com/w/cpp/language/except_spec

Potential exceptions Each function f, pointer to function fp, and pointer to member function mfp has a set of potential exceptions, which consists of types that might be thrown and possibly the "any" placeholder for the possibility of an exception of arbitrary type. This set is defined as follows: 1) If the declaration of f, fp, or mfp uses throw()(deprecated) or noexcept, the set is empty.