--- parser3/src/include/pa_array.h 2002/08/01 11:41:14 1.55 +++ parser3/src/include/pa_array.h 2003/04/11 15:00:05 1.58 @@ -1,14 +1,14 @@ /** @file Parser: Array & Array_iter classes decls. - Copyright (c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2001, 2003 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) */ #ifndef PA_ARRAY_H #define PA_ARRAY_H -static const char* IDENT_ARRAY_Y="$Date: 2002/08/01 11:41:14 $"; +static const char* IDENT_ARRAY_Y="$Date: 2003/04/11 15:00:05 $"; #include "pa_pool.h" #include "pa_types.h" @@ -64,7 +64,6 @@ public: public: Array(Pool& apool, int initial_rows=CR_INITIAL_ROWS_DEFAULT); - Array(const Array& source, int offset=0); /// size Array. how many items are in it int size() const { return fused_rows; } @@ -77,7 +76,10 @@ public: Array& operator += (const Item *src) { return *this+=const_cast(src); } /// append other Array portion to this one. starting from offset - Array& append_array(const Array& src, int offset=0); + Array& append_array(const Array& src, + int offset=0, + int limit=-1, //< negative limit means 'all'. zero limit means 'nothing' + bool reverse=false); Item *get(int index) const; int get_int(int index) const { return reinterpret_cast(get(index)); } @@ -108,11 +110,6 @@ public: private: - /// constructor helper - void construct_new(int initial_rows); - -private: - /// several record elements struct Chunk { int count; ///< the number of rows in chunk