diff options
Diffstat (limited to 'TAO/tao/Arg_Shifter.h')
-rw-r--r-- | TAO/tao/Arg_Shifter.h | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/TAO/tao/Arg_Shifter.h b/TAO/tao/Arg_Shifter.h deleted file mode 100644 index d0952b48e01..00000000000 --- a/TAO/tao/Arg_Shifter.h +++ /dev/null @@ -1,97 +0,0 @@ -// This may look like C, but it's really -*- C++ -*- -// $Id$ - -// ======================================================================== -// -// = LIBRARY -// TAO -// -// = FILENAME -// Arg_Shifter.h -// -// = AUTHOR -// Seth Widoff -// -// ======================================================================== - -#if !defined (TAO_ARG_SHIFTER_H) -#define TAO_ARG_SHIFTER_H - -class Arg_Shifter -{ - // = TITLE - // This ADT shifts known args to the back of the argv vector, so - // deeper levels of argument parsing can locate the yet - // unprocessed arguments at the beginning of the vector. - // - // = DESCRIPTION - // The Arg_Shifter copies the pointers of the argv vector into a - // temporary array. As the Arg_Shifter iterates over the temp, is - // places known arguments in the rear of the argv and unknown - // ones in the beginning. So, after having visited all the - // arguments in the temp vector, Arg_Shifter has placed all the - // unknown arguments in their original order at the front of - // argv. -public: - Arg_Shifter (int &argc, char **argv, char **temp = 0); - // Initialize the Arg_Shifter to the vector over which to iterate, - // also providing the temporary array if the client doesn't want the - // arg_shifter to dynamically allocate its own. If internal dynamic - // allocation fails, the Arg_Shifter will set all the indices to the - // end of the vector, forbidding iteration. Following iteration over - // argv, the argc value will contain the number of unconsumed - // arguments. - - ~Arg_Shifter (void); - - char *get_current (void) const; - // Get the current head of the vector. - - int consume_arg (int number = 1); - // Consume <number> argument(s) by sticking them/it on the end of - // the vector. - - int ignore_arg (int number = 1); - // Place <number> arguments in the same relative order ahead of the - // known arguemnts in the vector. - - int is_anything_left (void) const; - // Returns the number of args left to see in the vector. - - int is_option_next (void) const; - // Returns 1 if there's a next item in the vector and it begins with - // '-'. - - int is_parameter_next (void) const; - // Returns 1 if there's a next item in the vector and it doesn't - // begin with '-'. - - int num_ignored_args (void) const; - // Returns the number of irrelevant args seen. - -private: - int &argc_; - // The size of the argument vector. - - int total_size_; - // The size of argv_. - - char **temp_; - // The temporary array over which we traverse. - - char **argv_; - // The array in which the arguments are reordered. - - int current_index_; - // The element in <temp_> we're currently examining. - - int back_; - // The index of <argv_> in which we'll stick the next unknown - // argument. - - int front_; - // The index of <argv_> in which we'll stick the next known - // argument. -}; - -#endif /* TAO_ARG_SHIFTER_H */ |