CXXR (C++ R)
DottedArgs.hpp
Go to the documentation of this file.
1 /*CXXR $Id: DottedArgs.hpp 1348 2013-02-25 17:49:03Z arr $
2  *CXXR
3  *CXXR This file is part of CXXR, a project to refactor the R interpreter
4  *CXXR into C++. It may consist in whole or in part of program code and
5  *CXXR documentation taken from the R project itself, incorporated into
6  *CXXR CXXR (and possibly MODIFIED) under the terms of the GNU General Public
7  *CXXR Licence.
8  *CXXR
9  *CXXR CXXR is Copyright (C) 2008-13 Andrew R. Runnalls, subject to such other
10  *CXXR copyrights and copyright restrictions as may be stated below.
11  *CXXR
12  *CXXR CXXR is not part of the R project, and bugs and other issues should
13  *CXXR not be reported via r-bugs or other R project channels; instead refer
14  *CXXR to the CXXR website.
15  *CXXR */
16 
17 /*
18  * R : A Computer Language for Statistical Data Analysis
19  * Copyright (C) 1995, 1996 Robert Gentleman and Ross Ihaka
20  * Copyright (C) 1999-2006 The R Development Core Team.
21  *
22  * This program is free software; you can redistribute it and/or modify
23  * it under the terms of the GNU General Public License as published by
24  * the Free Software Foundation; either version 2.1 of the License, or
25  * (at your option) any later version.
26  *
27  * This program is distributed in the hope that it will be useful,
28  * but WITHOUT ANY WARRANTY; without even the implied warranty of
29  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30  * GNU Lesser General Public License for more details.
31  *
32  * You should have received a copy of the GNU General Public License
33  * along with this program; if not, a copy is available at
34  * http://www.r-project.org/Licenses/
35  */
36 
41 #ifndef DOTTEDARGS_HPP
42 #define DOTTEDARGS_HPP
43 
44 #include "CXXR/ConsCell.h"
45 
46 namespace CXXR {
53  class DottedArgs : public ConsCell {
54  public:
64  explicit DottedArgs(RObject* cr = 0, PairList* tl = 0,
65  const RObject* tg = 0)
66  : ConsCell(DOTSXP, cr, tl, tg)
67  {}
68 
73  DottedArgs(const DottedArgs& pattern)
74  : ConsCell(pattern)
75  {}
76 
81  static const char* staticTypeName()
82  {
83  return "...";
84  }
85 
86  // Virtual functions of RObject:
87  DottedArgs* clone() const;
89  const char* typeName() const;
90  private:
91  // Declared private to ensure that DottedArgs objects are
92  // allocated only using 'new':
93  ~DottedArgs() {}
94 
95  // Not implemented yet. Declared to prevent
96  // compiler-generated versions:
97  DottedArgs& operator=(const DottedArgs&);
98  };
99 } // namespace CXXR
100 
101 #endif /* DOTTEDARGS_HPP */