1- #if __cplusplus >= 201103L
1+ // -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; indent-tabs-mode: nil; -*-
2+ //
3+ // algorithm.h: Rcpp R/C++ interface class library -- data frames
4+ //
5+ // Copyright (C) 2016 - 2017 Daniel C. Dillon
6+ //
7+ // This file is part of Rcpp.
8+ //
9+ // Rcpp is free software: you can redistribute it and/or modify it
10+ // under the terms of the GNU General Public License as published by
11+ // the Free Software Foundation, either version 2 of the License, or
12+ // (at your option) any later version.
13+ //
14+ // Rcpp is distributed in the hope that it will be useful, but
15+ // WITHOUT ANY WARRANTY; without even the implied warranty of
16+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+ // GNU General Public License for more details.
18+ //
19+ // You should have received a copy of the GNU General Public License
20+ // along with Rcpp. If not, see <http://www.gnu.org/licenses/>.
21+
22+ #ifndef Rcpp__Algorithm_h
23+ #define Rcpp__Algorithm_h
24+
25+ #if __cplusplus >= 201103L || __INTEL_CXX11_MODE__ == 1
226# define RCPP_CONSTEXPR constexpr
327#else
428# define RCPP_CONSTEXPR const
@@ -211,7 +235,7 @@ template< typename InputIterator >
211235typename traits::enable_if< helpers::decays_to_ctype< typename std::iterator_traits< InputIterator >::value_type >::value,
212236 typename helpers::ctype< typename std::iterator_traits< InputIterator >::value_type >::type >::type
213237 sum (InputIterator begin, InputIterator end) {
214-
238+
215239 typedef typename helpers::ctype< typename std::iterator_traits< InputIterator >::value_type >::type value_type;
216240 typedef typename helpers::rtype< value_type > rtype;
217241
@@ -236,7 +260,7 @@ template< typename InputIterator >
236260typename traits::enable_if< helpers::decays_to_ctype< typename std::iterator_traits< InputIterator >::value_type >::value,
237261 typename helpers::ctype< typename std::iterator_traits< InputIterator >::value_type >::type >::type
238262 sum_nona (InputIterator begin, InputIterator end) {
239-
263+
240264 typedef typename helpers::ctype< typename std::iterator_traits< InputIterator >::value_type >::type value_type;
241265 typedef typename helpers::rtype< value_type > rtype;
242266
@@ -465,3 +489,5 @@ void sqrt(InputIterator begin, InputIterator end, OutputIterator out) {
465489} // namespace Rcpp
466490
467491#undef RCPP_CONSTEXPR
492+
493+ #endif
0 commit comments