stlwrap.h

00001 //==========================================================================
00002 //  STLWRAP.H - part of
00003 //                     OMNeT++/OMNEST
00004 //            Discrete System Simulation in C++
00005 //
00006 //==========================================================================
00007 
00008 /*--------------------------------------------------------------*
00009   Copyright (C) 1992-2008 Andras Varga
00010   Copyright (C) 2006-2008 OpenSim Ltd.
00011 
00012   This file is distributed WITHOUT ANY WARRANTY. See the file
00013   `license' for details on this and other legal matters.
00014 *--------------------------------------------------------------*/
00015 
00016 #ifndef __STLWRAP_H
00017 #define __STLWRAP_H
00018 
00019 #include "simkerneldefs.h"
00020 #include <string>
00021 #include <vector>
00022 
00023 NAMESPACE_BEGIN
00024 
00025 //
00026 // Note: We *may* need to use these classes in public API functions exposed
00027 // in a dll interface
00028 //
00029 
00042 class SIM_API stdstring : public std::string
00043 {
00044   public:
00045     explicit stdstring() {}
00046     stdstring(const std::string& rhs) : std::string(rhs) {}
00047     stdstring(const std::string& rhs, size_type pos, size_type n) : std::string(rhs,pos,n) {}
00048     stdstring(const char *s, size_type n) : std::string(s,n) {}
00049     stdstring(const char *s) : std::string(s) {}
00050     stdstring(size_type n, char c) : std::string(n,c) {}
00051     stdstring(const_iterator first, const_iterator last) : std::string(first,last) {}
00052 };
00053 
00054 
00059 class SIM_API stdstringvector : public std::vector<stdstring>
00060 {
00061   public:
00062     explicit stdstringvector() {}
00063     explicit stdstringvector(size_type n, const stdstring& v = stdstring()) : std::vector<stdstring>(n,v) {}
00064     stdstringvector(const stdstringvector& x) : std::vector<stdstring>(x) {}
00065     stdstringvector(const_iterator first, const_iterator last) : std::vector<stdstring>(first,last) {}
00066 };
00067 
00072 class SIM_API stdcharpvector : public std::vector<const char *>
00073 {
00074   public:
00075     explicit stdcharpvector() {}
00076     explicit stdcharpvector(size_type n, const char *v = 0) : std::vector<const char *>(n,v) {}
00077     stdcharpvector(const stdcharpvector& x) : std::vector<const char *>(x) {}
00078     stdcharpvector(const_iterator first, const_iterator last) : std::vector<const char *>(first,last) {}
00079 };
00080 
00081 
00082 NAMESPACE_END
00083 
00084 
00085 #endif
00086 
Generated on Tue Dec 2 11:16:27 2014 for OMNeT++ Simulation Library by  doxygen 1.6.3