7cd5647128fa81cc039f39235fba2a670fdf0d5a
[scilab.git] / scilab / modules / ast / includes / types / void.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2009-2010 - DIGITEO - Antoine ELIAS
4  *
5  *  This file must be used under the terms of the CeCILL.
6  *  This source file is licensed as described in the file COPYING, which
7  *  you should have received as part of this distribution.  The terms
8  *  are also available at
9  *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12
13 #ifndef __VOID_HXX__
14 #define __VOID_HXX__
15
16 #include "types.hxx"
17 #include "void.hxx"
18
19 namespace types
20 {
21 class Void : public InternalType
22 {
23 public :
24     Void() {};
25     virtual                 ~Void();
26
27     InternalType*           clone();
28
29     inline ScilabType       getType(void)
30     {
31         return ScilabVoid;
32     }
33     inline ScilabId         getId(void)
34     {
35         return IdVoid;
36     }
37
38     bool                    isVoid()
39     {
40         return true;
41     }
42
43     void                    whoAmI();
44
45     bool                    toString(std::wostringstream& ostr);
46
47     /* return type as string ( double, int, cell, list, ... )*/
48     virtual std::wstring    getTypeStr()
49     {
50         return L"void";
51     }
52     /* return type as short string ( s, i, ce, l, ... )*/
53     virtual std::wstring    getShortTypeStr()
54     {
55         return L"";
56     }
57 };
58 }
59
60
61 #endif /* !__VOID_HXX__ */