EvolvingObjects
|
00001 /* 00002 (c) Thales group, 2012 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Lesser General Public 00006 License as published by the Free Software Foundation; 00007 version 2 of the License. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Lesser General Public License for more details. 00013 00014 You should have received a copy of the GNU Lesser General Public 00015 License along with this library; if not, write to the Free Software 00016 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 Contact: http://eodev.sourceforge.net 00018 00019 Authors: 00020 Benjamin Bouvier <benjamin.bouvier@gmail.com> 00021 */ 00022 # include "Array.h" 00023 00024 namespace eoserial 00025 { 00026 std::ostream& Array::print( std::ostream& out ) const 00027 { 00028 out << "["; 00029 bool first = true; 00030 for (ArrayChildren::const_iterator it = begin(), 00031 end = this->end(); 00032 it != end; 00033 ++it) 00034 { 00035 if ( first ) 00036 { 00037 first = false; 00038 } else { 00039 out << ", "; 00040 } 00041 (*it)->print( out ); 00042 } 00043 out << "]\n"; 00044 return out; 00045 } 00046 00047 Array::~Array() 00048 { 00049 for (ArrayChildren::iterator it = begin(), 00050 end = this->end(); 00051 it != end; 00052 ++it) 00053 { 00054 delete *it; 00055 } 00056 } 00057 00058 } // namespace eoserial