Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #include <typeinfo>
00032
00033 template<class T>
00034 void
00035 cmtk::CommandLine::List<T>
00036 ::Evaluate( const size_t argc, const char* argv[], size_t& index )
00037 {
00038 if ( index+1 < argc )
00039 {
00040 ++index;
00041 m_pList->push_back( this->Convert<T>( argv[index] ) );
00042 }
00043 else
00044 {
00045 throw( Exception( "List command line option needs an argument.", index ) );
00046 }
00047 }
00048
00049 template<class T>
00050 mxml_node_t*
00051 cmtk::CommandLine::List<T>
00052 ::MakeXML( mxml_node_t *const parent ) const
00053 {
00054 if ( ! (this->m_Properties & PROPS_NOXML) )
00055 {
00056 mxml_node_t *node = Item::Helper<T>::MakeXML( this, parent );
00057 mxmlElementSetAttr( node, "multiple", "true" );
00058
00059 return node;
00060 }
00061 return NULL;
00062 }