base/zz_arguments.h

Go to the documentation of this file.
00001 /* libzz
00002  *
00003  * This program is distributed under the GNU General Public License, version 2.
00004  * A copy of this license is included with this source.
00005  *
00006  * Copyright 2000-2006, Toni Thomsson <toni@tonjac.org> 
00007 */
00008 
00009 #ifndef zz_arguments_h
00010 #define zz_arguments_h
00011 
00012 #include <zz_string.h>
00013 #include <zz_exception.h>
00014 #include <map>
00015 #include <zz_export.h>
00016 #include <zz_parameter_map.h>
00017 
00018 #ifdef _WIN32
00019         using namespace std;
00020         #pragma warning(disable: 4786) // Debugsymbols truncated
00021         #pragma warning(disable: 4251) // DLL-interface missing for private map members
00022 #endif
00023 
00029     class ZZ_API CzzArguments : public CzzParameterMap
00030 {
00031 public:
00032 
00041         CzzArguments( int argc,
00042                                         char** argv,
00043                                         char delmiter,
00044                                         int minargs     );
00045 
00051         CzzArguments( CzzArguments& args );
00052         
00056         CzzArguments( void );
00057 
00058         virtual ~CzzArguments();
00059 
00063         int Count( void ) { return m_Count; };
00064 
00070         CzzString Get( int pos );
00071 
00077         CzzString Get( const CzzString& name );
00078 
00082         CzzString operator[]( int pos );
00086         CzzString operator[]( const CzzString& name     );
00087 
00089         char getDelmiter( void ) { return m_Delmiter; };
00090 
00092         int getMinArgs( void ) { return m_MinArgs; };
00093 
00095         map<int, CzzString > getPosList( void ) { return m_ArgsByPos; };
00096 
00098         map<CzzString, CzzString > getNameList( void ) { return m_ArgsByName; };
00099 
00100         
00101 private:
00102 
00103         int m_Count;
00104         char m_Delmiter;
00105         int m_MinArgs;
00106         map<int, CzzString > m_ArgsByPos;
00107         map<CzzString, CzzString > m_ArgsByName;
00108 };
00109 
00110 #endif // zz_arguments_h
00111 

Generated on Thu Sep 21 21:45:41 2006 for tonjac.org MINI/C++ library by  doxygen 1.4.6-NO