Rcpp Version 0.12.12
protection.h
Go to the documentation of this file.
1 // Copyright (C) 2013 Romain Francois
2 //
3 // This file is part of Rcpp.
4 //
5 // Rcpp is free software: you can redistribute it and/or modify it
6 // under the terms of the GNU General Public License as published by
7 // the Free Software Foundation, either version 2 of the License, or
8 // (at your option) any later version.
9 //
10 // Rcpp is distributed in the hope that it will be useful, but
11 // WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with Rcpp. If not, see <http://www.gnu.org/licenses/>.
17 
18 #ifndef Rcpp_protection_meat_H
19 #define Rcpp_protection_meat_H
20 
21 namespace Rcpp{
22 
23  template <typename T>
24  template <typename U>
25  Armor<T>::Armor( U x ) : data() {
26  init( wrap(x) ) ;
27  }
28 
29  template <typename T>
30  template <typename U>
31  inline Armor<T>& Armor<T>::operator=( const U& x ){
32  REPROTECT(data = wrap(x), index) ;
33  return *this ;
34  }
35 
36 }
37 
38 #endif
PROTECT_INDEX index
Definition: Armor.h:50
Armor()
Definition: Armor.h:27
void init(SEXP x)
Definition: Armor.h:45
SEXP data
Definition: Armor.h:49
SEXP wrap(const Date &date)
Definition: Date.h:38
Armor & operator=(const U &x)
Rcpp API.
Definition: algo.h:28