Enlightenment CVS committal

Author  : mej
Project : eterm
Module  : libast

Dir     : eterm/libast/include


Modified Files:
        libast.h 


Log Message:
Thu Feb 20 00:44:26 2003                        Michael Jennings (mej)

The beginnings of doxygen documentation.

===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/include/libast.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- libast.h    19 Feb 2003 21:10:19 -0000      1.28
+++ libast.h    20 Feb 2003 05:44:44 -0000      1.29
@@ -105,6 +105,7 @@
 #include <libast/tok.h>
 #include <libast/url.h>
 
+#include <libast/iterator_if.h>
 #include <libast/list_if.h>
 #include <libast/vector_if.h>
 
@@ -115,8 +116,86 @@
 #include <libast/avl_tree.h>
 
 /******************************* GENERIC GOOP *********************************/
+/**
+ * Mark a variable as used.
+ *
+ * This macro is used to explicitly mark a variable as "used."  It intentionally
+ * generates no real code, but suppresses gcc warnings about unused variables
+ * and/or parameters.  That way, the programmer can explicitly acknowledge that
+ * certain variables/parameters are intentionally unused, making the warnings
+ * more effective by eliminating false positives.
+ *
+ * @param x Any variable or parameter name.
+ */
 #define USE_VAR(x)   (void) x
 
+/**
+ * @def MIN(a, b)
+ * Return the lesser of @a a or @a b.
+ *
+ * This macro compares its two parameters, @a a and @a b, and returns the lesser
+ * of the two (the minimum).  When building under gcc, a GNU-specific extension
+ * is used which prevents expressions used as parameters from being evaluated
+ * multiple times.
+ *
+ * @param a Any expression that evaluates to a value.
+ * @param b Any expression that evaluates to a value.
+ * @return The lesser of the two values
+ */
+/**
+ * @def MAX(a, b)
+ * Return the greater of @a a or @a b.
+ *
+ * This macro compares its two parameters, @a a and @a b, and returns the greater
+ * of the two (the maximum).  When building under gcc, a GNU-specific extension
+ * is used which prevents expressions used as parameters from being evaluated
+ * multiple times.
+ *
+ * @param a Any expression that evaluates to a value.
+ * @param b Any expression that evaluates to a value.
+ * @return The greater of the two values
+ */
+/**
+ * @def LOWER_BOUND(current, other)
+ * Force a lower bound on a variable.
+ *
+ * This macro checks the value of its first parameter, @a current, and makes sure
+ * it is greater than or equal to the value of @a other.  If @a current is less
+ * than @a other, @a current is assigned the value of @a other.  In essence, this
+ * establishes a "lower bound" on @a current equal to the value of @a other.
+ *
+ * @param current The variable to check.
+ * @param other   The value by which @a current will be bound.
+ * @return The new value of @a current.
+ */
+/**
+ * @def UPPER_BOUND(current, other)
+ * Force an upper bound on a variable.
+ *
+ * This macro checks the value of its first parameter, @a current, and makes sure
+ * it is less than or equal to the value of @a other.  If @a current is greater
+ * than @a other, @a current is assigned the value of @a other.  In essence, this
+ * establishes an "upper bound" on @a current equal to the value of @a other.
+ *
+ * @param current The variable to check.
+ * @param other   The value by which @a current will be bound.
+ * @return The new value of @a current.
+ */
+/**
+ * @def BOUND(val, min, max)
+ * Force a variable to be within a given range.
+ *
+ * This macro checks the value of its first parameter, @a val, and makes sure
+ * it is between @a min and @a max, inclusive.  If @a val is above this range, it
+ * is assigned the value of @a max.  Likewise, if @a val is below this range, it
+ * is assigned the value of @a min.  In essence, this establishes both an "upper
+ * bound" and a "lower bound" on @a val.
+ *
+ * @param val The variable to check.
+ * @param min The lowest value @a val may have.
+ * @param max The highest value @a val may have.
+ * @return The new value of @a val.
+ */
 #ifdef MIN
 # undef MIN
 #endif
@@ -130,41 +209,78 @@
 # define UPPER_BOUND(current, other)    __extension__ ({__typeof__(other) o = 
(other); ((current) > o) ? ((current) = o) : (current);})
 # define BOUND(val, min, max)           __extension__ ({__typeof__(min) m1 = (min); 
__typeof__(max) m2 = (max); ((val) < m1) ? ((val) = m1) : (((val) > m2) ? ((val) = m2) 
: (val));})
 #else
-# define MIN(a,b)                      (((a) < (b)) ? (a) : (b))
+# define MIN(a,b)                          (((a) < (b)) ? (a) : (b))
 # define MAX(a,b)                       (((a) > (b)) ? (a) : (b))
 # define LOWER_BOUND(current, other)    (((current) < (other)) ? ((current) = 
(other)) : (current))
 # define UPPER_BOUND(current, other)    (((current) > (other)) ? ((current) = 
(other)) : (current))
 # define BOUND(val, min, max)           (((val) < (min)) ? ((val) = (min)) : (((val) 
> (max)) ? ((val) = (max)) : (val)))
 #endif
+/** @def AT_LEAST(current, other) Alias for LOWER_BOUND().  This macro is an alias 
+for LOWER_BOUND(). */
 #define AT_LEAST(current, other)        LOWER_BOUND(current, other)
+/** @def MAX_IT(current, other) Alias for LOWER_BOUND().  This macro is an alias for 
+LOWER_BOUND(). */
 #define MAX_IT(current, other)          LOWER_BOUND(current, other)
+/** @def AT_MOST(current, other) Alias for UPPER_BOUND().  This macro is an alias for 
+UPPER_BOUND(). */
 #define AT_MOST(current, other)         UPPER_BOUND(current, other)
+/** @def MIN_IT(current, other) Alias for UPPER_BOUND().  This macro is an alias for 
+UPPER_BOUND(). */
 #define MIN_IT(current, other)          UPPER_BOUND(current, other)
+/** @def CONTAIN(val, min, max) Alias for BOUND().  This macro is an alias for 
+BOUND(). */
 #define CONTAIN(val, min, max)          BOUND(val, min, max)
+/**
+ * Swaps two values.
+ *
+ * This macro swaps the values of its first two parameters using the third as 
+temporary storage.
+ *
+ * @param one The first variable.
+ * @param two The second variable.
+ * @param tmp A temporary holding spot used during swapping.
+ */
 #define SWAP_IT(one, two, tmp)          do {(tmp) = (one); (one) = (two); (two) = 
(tmp);} while (0)
 
 /****************************** DEBUGGING GOOP ********************************/
 #ifndef LIBAST_DEBUG_FD
+/**
+ * Where to send debugging output.
+ *
+ * This defines where debugging output should be sent.  Should be either stdout or 
+stderr.
+ */
 # define LIBAST_DEBUG_FD  (stderr)
 #endif
 #ifndef DEBUG
+/**
+ * Maximum compile-time debugging level.
+ *
+ * LibAST supports debugging levels, allowing for progressively more verbosity of 
+debugging
+ * output as the level gets higher.  This defines the compile-time maximum; support 
+for higher
+ * debugging levels than this will not even be compiled in, so use care when setting 
+this.
+ */
 # define DEBUG 0
 #endif
 
+/** UNDOCUMENTED. */
 #define DEBUG_LEVEL       (libast_debug_level)
+/** UNDOCUMENTED. */
 #define DEBUG_FLAGS       (libast_debug_flags)
 
-/* A NOP.  Does nothing. */
+/** Does nothing.  This macro is a nop (no operation).  It does nothing. */
 #define NOP ((void)0)
 
-/* A macro and an #define to FIXME-ize individual calls or entire code blocks. */
+/** A fix-me NOP.  This is the same as NOP(), but is used to mark something needing 
+to be fixed. */
 #define FIXME_NOP(x)
+/** Mark a block of code needing fixing.  This marks a block of code needing fixing 
+and removes it. */
 #define FIXME_BLOCK 0
 
-/* An "unused block" marker similar to the above. */
+/** Mark unused blocks of code.  This marks a block of code as unused and removes it. 
+*/
 #define UNUSED_BLOCK 0
 
-/* The basic debugging output leader. */
+/**
+ * @def __DEBUG()
+ * Format and print debugging output.
+ *
+ * This macro formats and prints debugging output by prepending a timestamp, the 
+filename, the
+ * line number, and (if available) the function name.
+ *
+ * This is an internal macro and should not be used directly.
+ */
 #if defined(__FILE__) && defined(__LINE__)
 # ifdef __GNUC__
 #  define __DEBUG()  fprintf(LIBAST_DEBUG_FD, "[%lu] %12s | %4d: %s(): ", (unsigned 
long) time(NULL), __FILE__, __LINE__, __FUNCTION__)
@@ -175,7 +291,12 @@
 # define __DEBUG()   NOP
 #endif
 
-/* A quick and dirty macro to say, "Hi!  I got here without crashing!" */
+/**
+ * Assert reaching a line of code.
+ *
+ * This macro is simply a quick-and-dirty way of printing out a unique message which 
+proves
+ * that a particular portion of code was reached and executed properly.
+ */
 #define MOO()  do {__DEBUG(); libast_dprintf("Moo.\n");} while (0)
 
 /* Assertion/abort macros which are quite a bit more useful than assert() and 
abort().  These are defined




-------------------------------------------------------
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to