Scopira 20080306

stringvector.h

00001 
00002 /*
00003  *  Copyright (c) 2005    National Research Council
00004  *
00005  *  All rights reserved.
00006  *
00007  *  This material is confidential and proprietary information of
00008  *  National Research Council Canada ("Confidential Information").
00009  *  This Confidential Information may only be used and reproduced
00010  *  in accordance with the terms of the license agreement.
00011  *
00012  */
00013 
00014 #ifndef __INCLUDED_SCOPIRA_BASEKIT_STRINGVECTOR_H__
00015 #define __INCLUDED_SCOPIRA_BASEKIT_STRINGVECTOR_H__
00016 
00017 #include <assert.h>
00018 
00019 #include <string>
00020 
00021 #include <scopira/tool/object.h>
00022 #include <scopira/tool/array.h>
00023 #include <scopira/tool/export.h>
00024 
00025 // THIS FILE HAS BEEN FULLY DOCUMENTED
00026 
00027 namespace scopira
00028 {
00029   namespace basekit
00030   {
00031     class stringvector_o;
00032   }
00033 }
00034 
00040 class scopira::basekit::stringvector_o : public virtual scopira::tool::object,
00041   public scopira::tool::basic_array<std::string>
00042 {
00043   private:
00044     typedef scopira::tool::basic_array<std::string> parent_type;
00045   public:
00047     SCOPIRA_EXPORT stringvector_o(void);
00049     SCOPIRA_EXPORT stringvector_o(const stringvector_o &rhs);
00055     SCOPIRA_EXPORT explicit stringvector_o(size_t len);
00056 
00058     SCOPIRA_EXPORT virtual scopira::tool::oflow_i & print(scopira::tool::oflow_i &o) const;
00060     SCOPIRA_EXPORT virtual bool load(scopira::tool::iobjflow_i &in);
00062     SCOPIRA_EXPORT virtual void save(scopira::tool::oobjflow_i &out) const;
00063 };
00064 
00065 #endif
00066