Changeset 1441 for code/branches/console/src/core/ArgumentCompleter.h
- Timestamp:
- May 27, 2008, 6:29:08 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/console/src/core/ArgumentCompleter.h
r1436 r1441 30 30 #define _ArgumentCompleter_H__ 31 31 32 #include <list>33 #include <string>34 35 32 #include "CorePrereqs.h" 33 #include "ArgumentCompletionListElement.h" 36 34 37 35 namespace orxonox … … 40 38 { 41 39 public: 42 ArgumentCompleter( std::list<std::pair<std::string, std::string> >(*function) (void)) : paramCount_(0), function_0_(function) {}43 ArgumentCompleter( std::list<std::pair<std::string, std::string> >(*function) (const std::string& param1)) : paramCount_(1), function_1_(function) {}44 ArgumentCompleter( std::list<std::pair<std::string, std::string> >(*function) (const std::string& param1, const std::string& param2)) : paramCount_(2), function_2_(function) {}45 ArgumentCompleter( std::list<std::pair<std::string, std::string> >(*function) (const std::string& param1, const std::string& param2, const std::string& param3)) : paramCount_(3), function_3_(function) {}46 ArgumentCompleter( std::list<std::pair<std::string, std::string> >(*function) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4)) : paramCount_(4), function_4_(function) {}47 ArgumentCompleter( std::list<std::pair<std::string, std::string> >(*function) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4, const std::string& param5)) : paramCount_(5), function_5_(function) {}40 ArgumentCompleter(ArgumentCompletionList (*function) (void)) : paramCount_(0), function_0_(function) {} 41 ArgumentCompleter(ArgumentCompletionList (*function) (const std::string& param1)) : paramCount_(1), function_1_(function) {} 42 ArgumentCompleter(ArgumentCompletionList (*function) (const std::string& param1, const std::string& param2)) : paramCount_(2), function_2_(function) {} 43 ArgumentCompleter(ArgumentCompletionList (*function) (const std::string& param1, const std::string& param2, const std::string& param3)) : paramCount_(3), function_3_(function) {} 44 ArgumentCompleter(ArgumentCompletionList (*function) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4)) : paramCount_(4), function_4_(function) {} 45 ArgumentCompleter(ArgumentCompletionList (*function) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4, const std::string& param5)) : paramCount_(5), function_5_(function) {} 48 46 49 std::list<std::pair<std::string, std::string> >operator()(const std::string& param1 = "", const std::string& param2 = "", const std::string& param3 = "", const std::string& param4 = "", const std::string& param5 = "")47 ArgumentCompletionList operator()(const std::string& param1 = "", const std::string& param2 = "", const std::string& param3 = "", const std::string& param4 = "", const std::string& param5 = "") 50 48 { 51 49 switch (this->paramCount_) … … 64 62 return (*this->function_5_)(param1, param2, param3, param4, param5); 65 63 default: 66 return std::list<std::pair<std::string, std::string> >();64 return ArgumentCompletionList(); 67 65 } 68 66 } … … 70 68 private: 71 69 unsigned char paramCount_; 72 std::list<std::pair<std::string, std::string> >(*function_0_) (void);73 std::list<std::pair<std::string, std::string> >(*function_1_) (const std::string& param1);74 std::list<std::pair<std::string, std::string> >(*function_2_) (const std::string& param1, const std::string& param2);75 std::list<std::pair<std::string, std::string> >(*function_3_) (const std::string& param1, const std::string& param2, const std::string& param3);76 std::list<std::pair<std::string, std::string> >(*function_4_) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4);77 std::list<std::pair<std::string, std::string> >(*function_5_) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4, const std::string& param5);70 ArgumentCompletionList (*function_0_) (void); 71 ArgumentCompletionList (*function_1_) (const std::string& param1); 72 ArgumentCompletionList (*function_2_) (const std::string& param1, const std::string& param2); 73 ArgumentCompletionList (*function_3_) (const std::string& param1, const std::string& param2, const std::string& param3); 74 ArgumentCompletionList (*function_4_) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4); 75 ArgumentCompletionList (*function_5_) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4, const std::string& param5); 78 76 }; 79 77 }
Note: See TracChangeset
for help on using the changeset viewer.