summaryrefslogtreecommitdiff
path: root/TAO/tao/arg_shifter.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/arg_shifter.h')
-rw-r--r--TAO/tao/arg_shifter.h99
1 files changed, 0 insertions, 99 deletions
diff --git a/TAO/tao/arg_shifter.h b/TAO/tao/arg_shifter.h
deleted file mode 100644
index 4b1017828fa..00000000000
--- a/TAO/tao/arg_shifter.h
+++ /dev/null
@@ -1,99 +0,0 @@
-// This may look like C, but it's really -*- C++ -*-
-
-// ========================================================================
-//
-// = LIBRARY
-// TAO
-//
-// = FILENAME
-// arg_shifter
-//
-// = AUTHOR
-// Seth Widoff
-//
-// = VERSION
-// $Id$
-// ========================================================================
-
-#if !defined (TAO_ARG_SHIFTER_H)
-#define TAO_ARG_SHIFTER_H
-
-class Arg_Shifter
- // = TITLE
- // Happy ADT to shift 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);
- // Sumbit to the Arg_Shifter 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 */