License Header change: Removed the LICENSE_END before beta
[scilab.git] / scilab / modules / ast / includes / types / listoperation.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2009-2010 - DIGITEO - Antoine ELIAS
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15
16 #ifndef __LISTOPERATION_HXX__
17 #define __LISTOPERATION_HXX__
18
19 #include <list>
20 #include "types.hxx"
21
22 namespace types
23 {
24 class EXTERN_AST ListOperation : public InternalType
25 {
26 public :
27     ListOperation(): InternalType() {};
28     virtual                 ~ListOperation();
29
30     ListOperation*          clone();
31
32     inline ScilabType       getType(void)
33     {
34         return ScilabListOperation;
35     }
36     inline ScilabId         getId(void)
37     {
38         return IdListOperation;
39     }
40
41     bool                    isListOperation()
42     {
43         return true;
44     }
45
46     void                    whoAmI();
47
48     bool                    toString(std::wostringstream& ostr);
49     virtual bool            isAssignable(void)
50     {
51         return false;
52     }
53
54     /* return type as string ( double, int, cell, list, ... )*/
55     virtual std::wstring    getTypeStr()
56     {
57         return L"listoperation";
58     }
59     /* return type as short string ( s, i, ce, l, ... )*/
60     virtual std::wstring    getShortTypeStr()
61     {
62         return L"";
63     }
64 };
65 }
66
67
68 #endif /* !__LISTOPERATION_HXX__ */