Rcpp Version 1.0.14
Loading...
Searching...
No Matches
lapply.h
Go to the documentation of this file.
1
// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*-
2
//
3
// lapply.h: Rcpp R/C++ interface class library -- lapply
4
//
5
// Copyright (C) 2010 - 2011 Dirk Eddelbuettel and Romain Francois
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__sugar__lapply_h
23
#define Rcpp__sugar__lapply_h
24
25
namespace
Rcpp
{
26
namespace
sugar{
27
28
template
<
int
RTYPE,
bool
NA,
typename
T,
typename
Function>
29
class
Lapply
:
public
VectorBase
<
30
VECSXP ,
31
true ,
32
Lapply<RTYPE,NA,T,Function>
33
> {
34
public
:
35
typedef
Rcpp::VectorBase<RTYPE,NA,T>
VEC
;
36
typedef
typename ::Rcpp::traits::result_of<Function>::type
result_type
;
37
38
Lapply
(
const
VEC
&
vec_
,
Function
fun_
) :
39
vec
(
vec_
),
fun
(
fun_
){}
40
41
inline
SEXP
operator[]
(
R_xlen_t
i )
const
{
42
return
Rcpp::wrap
(
fun
(
vec
[i] ) );
43
}
44
inline
R_xlen_t
size
()
const
{
return
vec
.
size
() ; }
45
46
private
:
47
const
VEC
&
vec
;
48
Function
fun
;
49
} ;
50
51
}
// sugar
52
53
template
<
int
RTYPE,
bool
NA,
typename
T,
typename
Function >
54
inline
sugar::Lapply<RTYPE,NA,T,Function>
55
lapply
(
const
Rcpp::VectorBase<RTYPE,NA,T>
& t,
Function
fun ){
56
return
sugar::Lapply<RTYPE,NA,T,Function>
( t, fun ) ;
57
}
58
59
}
// Rcpp
60
61
#endif
Rcpp::VectorBase
Definition
VectorBase.h:29
Rcpp::VectorBase::size
R_xlen_t size() const
Definition
VectorBase.h:49
Rcpp::sugar::Lapply
Definition
lapply.h:33
Rcpp::sugar::Lapply::Lapply
Lapply(const VEC &vec_, Function fun_)
Definition
lapply.h:38
Rcpp::sugar::Lapply::vec
const VEC & vec
Definition
lapply.h:47
Rcpp::sugar::Lapply::fun
Function fun
Definition
lapply.h:48
Rcpp::sugar::Lapply::result_type
::Rcpp::traits::result_of< Function >::type result_type
Definition
lapply.h:36
Rcpp::sugar::Lapply::operator[]
SEXP operator[](R_xlen_t i) const
Definition
lapply.h:41
Rcpp::sugar::Lapply::size
R_xlen_t size() const
Definition
lapply.h:44
Rcpp::sugar::Lapply::VEC
Rcpp::VectorBase< RTYPE, NA, T > VEC
Definition
lapply.h:35
Rcpp
Rcpp API.
Definition
algo.h:28
Rcpp::Function
Function_Impl< PreserveStorage > Function
Definition
Function.h:131
Rcpp::as
T as(SEXP x)
Definition
as.h:151
Rcpp::lapply
sugar::Lapply< RTYPE, NA, T, Function > lapply(const Rcpp::VectorBase< RTYPE, NA, T > &t, Function fun)
Definition
lapply.h:55
Rcpp::wrap
SEXP wrap(const Date &date)
Definition
Date.h:38
inst
include
Rcpp
sugar
functions
lapply.h
Generated on Sun Jan 12 2025 11:21:43 for Rcpp Version 1.0.14 by
1.9.8