Merge 6.0 into master
[scilab.git] / scilab / modules / ast / includes / types / struct.hxx
index 0b2d6f4..387e891 100644 (file)
@@ -79,12 +79,12 @@ public :
     bool                        operator!=(const InternalType& it);
 
     /* return type as string ( double, int, cell, list, ... )*/
-    virtual std::wstring        getTypeStr()
+    virtual std::wstring        getTypeStr() const
     {
         return L"struct";
     }
     /* return type as short string ( s, i, ce, l, ... )*/
-    virtual std::wstring        getShortTypeStr()
+    virtual std::wstring        getShortTypeStr() const
     {
         return L"st";
     }
@@ -111,9 +111,9 @@ public :
     Struct*                     removeField(const std::wstring& _sKey);
     bool                        toString(std::wostringstream& ostr);
     List*                       extractFieldWithoutClone(const std::wstring& _wstField);
-    std::vector<InternalType*>  extractFields(std::vector<std::wstring> _wstFields);
-    std::vector<InternalType*>  extractFields(typed_list* _pArgs);
-    inline InternalType *       extractField(const std::wstring& wstField);
+    typed_list                  extractFields(std::vector<std::wstring> _wstFields);
+    typed_list                  extractFields(typed_list* _pArgs);
+    InternalType *              extractField(const std::wstring& wstField);
 
     Struct*                     resize(int* _piDims, int _iDims);
     Struct*                     resize(int _iNewRows, int _iNewCols);
@@ -133,6 +133,8 @@ public :
         return -1;
     }
 
+    bool                        getMemory(int* _piSize, int* _piSizePlusType);
+
 private :
     virtual SingleStruct*       getNullValue();
     virtual Struct*             createEmpty(int _iDims, int* _piDims, bool _bComplex = false);