-#ifndef JSW_ATREE_H\r
-#define JSW_ATREE_H\r
-\r
-/*\r
- Andersson tree library\r
-\r
- > Created (Julienne Walker): September 10, 2005\r
-\r
- This code is in the public domain. Anyone may\r
- use it or change it in any way that they see\r
- fit. The author assumes no responsibility for \r
- damages incurred through use of the original\r
- code or any variations thereof.\r
-\r
- It is requested, but not required, that due\r
- credit is given to the original author and\r
- anyone who has modified the code through\r
- a header comment, such as this one.\r
-*/\r
-#ifdef __cplusplus\r
-#include <cstddef>\r
-\r
-using std::size_t;\r
-\r
-extern "C" {\r
-#else\r
-#include <stddef.h>\r
-#endif\r
-\r
-/* Opaque types */\r
-typedef struct jsw_atree jsw_atree_t;\r
-typedef struct jsw_atrav jsw_atrav_t;\r
-\r
-/* User-defined item handling */\r
-typedef int (*cmp_f) ( const void *p1, const void *p2 );\r
-typedef void *(*dup_f) ( void *p );\r
-typedef void (*rel_f) ( void *p );\r
-\r
-/* Andersson tree functions */\r
-jsw_atree_t *jsw_anew ( cmp_f cmp, dup_f dup, rel_f rel );\r
-void jsw_adelete ( jsw_atree_t *tree );\r
-void *jsw_afind ( jsw_atree_t *tree, void *data );\r
-int jsw_ainsert ( jsw_atree_t *tree, void *data );\r
-int jsw_aerase ( jsw_atree_t *tree, void *data );\r
-size_t jsw_asize ( jsw_atree_t *tree );\r
-\r
-/* Traversal functions */\r
-jsw_atrav_t *jsw_atnew ( void );\r
-void jsw_atdelete ( jsw_atrav_t *trav );\r
-void *jsw_atfirst ( jsw_atrav_t *trav, jsw_atree_t *tree );\r
-void *jsw_atlast ( jsw_atrav_t *trav, jsw_atree_t *tree );\r
-void *jsw_atnext ( jsw_atrav_t *trav );\r
-void *jsw_atprev ( jsw_atrav_t *trav );\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
-\r
-#endif\r
+#ifndef JSW_ATREE_H
+#define JSW_ATREE_H
+
+/*
+ Andersson tree library
+
+ > Created (Julienne Walker): September 10, 2005
+
+ This code is in the public domain. Anyone may
+ use it or change it in any way that they see
+ fit. The author assumes no responsibility for
+ damages incurred through use of the original
+ code or any variations thereof.
+
+ It is requested, but not required, that due
+ credit is given to the original author and
+ anyone who has modified the code through
+ a header comment, such as this one.
+*/
+#ifdef __cplusplus
+#include <cstddef>
+
+using std::size_t;
+
+extern "C" {
+#else
+#include <stddef.h>
+#endif
+
+/* Opaque types */
+typedef struct jsw_atree jsw_atree_t;
+typedef struct jsw_atrav jsw_atrav_t;
+
+/* User-defined item handling */
+typedef int (*cmp_f) ( const void *p1, const void *p2 );
+typedef void *(*dup_f) ( void *p );
+typedef void (*rel_f) ( void *p );
+
+/* Andersson tree functions */
+jsw_atree_t *jsw_anew ( cmp_f cmp, dup_f dup, rel_f rel );
+void jsw_adelete ( jsw_atree_t *tree );
+void *jsw_afind ( jsw_atree_t *tree, void *data );
+int jsw_ainsert ( jsw_atree_t *tree, void *data );
+int jsw_aerase ( jsw_atree_t *tree, void *data );
+size_t jsw_asize ( jsw_atree_t *tree );
+
+/* Traversal functions */
+jsw_atrav_t *jsw_atnew ( void );
+void jsw_atdelete ( jsw_atrav_t *trav );
+void *jsw_atfirst ( jsw_atrav_t *trav, jsw_atree_t *tree );
+void *jsw_atlast ( jsw_atrav_t *trav, jsw_atree_t *tree );
+void *jsw_atnext ( jsw_atrav_t *trav );
+void *jsw_atprev ( jsw_atrav_t *trav );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif