export_statement.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of ACADO Toolkit.
3  *
4  * ACADO Toolkit -- A Toolkit for Automatic Control and Dynamic Optimization.
5  * Copyright (C) 2008-2014 by Boris Houska, Hans Joachim Ferreau,
6  * Milan Vukov, Rien Quirynen, KU Leuven.
7  * Developed within the Optimization in Engineering Center (OPTEC)
8  * under supervision of Moritz Diehl. All rights reserved.
9  *
10  * ACADO Toolkit is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 3 of the License, or (at your option) any later version.
14  *
15  * ACADO Toolkit is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with ACADO Toolkit; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23  *
24  */
25 
26 
27 
35 #ifndef ACADO_TOOLKIT_EXPORT_STATEMENT_HPP
36 #define ACADO_TOOLKIT_EXPORT_STATEMENT_HPP
37 
39 
40 #include <memory>
41 
43 
44 
45 class ExportIndex;
46 class MemoryAllocator;
47 
48 
60 {
61  //
62  // PUBLIC MEMBER FUNCTIONS:
63  //
64  public:
65 
67  typedef std::shared_ptr< ExportStatement > StatementPtr;
68 
70  typedef std::vector< StatementPtr > StatementPtrArray;
71 
73  typedef std::shared_ptr< MemoryAllocator > MemoryAllocatorPtr;
74 
76  ExportStatement( );
77 
83  );
84 
86  virtual ~ExportStatement( );
87 
93  );
94 
99  virtual ExportStatement* clone( ) const = 0;
100 
101 
112  virtual returnValue exportDataDeclaration( std::ostream& stream,
113  const std::string& _realString = "real_t",
114  const std::string& _intString = "int",
115  int _precision = 16
116  ) const;
117 
128  virtual returnValue exportCode( std::ostream& stream,
129  const std::string& _realString = "real_t",
130  const std::string& _intString = "int",
131  int _precision = 16
132  ) const = 0;
133 
136  {
137  return *this;
138  }
139 
142  {
143  return *this;
144  }
145 
147  virtual ExportStatement& allocate( MemoryAllocatorPtr )
148  {
149  return *this;
150  }
151 
152 
153  public:
154  static std::string fcnPrefix;
155  static std::string varPrefix;
156 };
157 
158 
160 
161 
162 #endif // ACADO_TOOLKIT_EXPORT_STATEMENT_HPP
163 
164 // end of file.
virtual returnValue exportDataDeclaration(std::ostream &stream, const std::string &_realString="real_t", const std::string &_intString="int", int _precision=16) const
Allows to pass back messages to the calling function.
std::vector< StatementPtr > StatementPtrArray
ExportStatement & operator=(const ExportStatement &arg)
#define CLOSE_NAMESPACE_ACADO
Defines a scalar-valued index variable to be used for exporting code.
virtual ExportStatement & release(const ExportIndex &)
virtual ExportStatement * clone() const =0
static std::string fcnPrefix
virtual ~ExportStatement()
virtual returnValue exportCode(std::ostream &stream, const std::string &_realString="real_t", const std::string &_intString="int", int _precision=16) const =0
Base class for all kind of statements to be exported by the code generation tool. ...
virtual ExportStatement & acquire(ExportIndex &)
virtual ExportStatement & allocate(MemoryAllocatorPtr)
#define BEGIN_NAMESPACE_ACADO
std::shared_ptr< ExportStatement > StatementPtr
std::shared_ptr< MemoryAllocator > MemoryAllocatorPtr
static std::string varPrefix


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:34:34