Adjust internal header dependencies
diff --git a/src/hb-array.hh b/src/hb-array.hh index 3cce512..a07560f 100644 --- a/src/hb-array.hh +++ b/src/hb-array.hh
@@ -28,13 +28,16 @@ #define HB_ARRAY_HH #include "hb.hh" +#include "hb-dsalgs.hh" +#include "hb-iter.hh" +#include "hb-null.hh" template <typename Type> struct hb_sorted_array_t; template <typename Type> -struct hb_array_t +struct hb_array_t// : hb_iter_t<hb_array_t<Type>, Type> { typedef Type item_t; enum { item_size = hb_static_size (Type) };
diff --git a/src/hb-dsalgs.hh b/src/hb-dsalgs.hh index 48ce989..aa1c521 100644 --- a/src/hb-dsalgs.hh +++ b/src/hb-dsalgs.hh
@@ -28,7 +28,6 @@ #define HB_DSALGS_HH #include "hb.hh" - #include "hb-null.hh"
diff --git a/src/hb-iter.hh b/src/hb-iter.hh index 8767936..ffb6c49 100644 --- a/src/hb-iter.hh +++ b/src/hb-iter.hh
@@ -28,6 +28,7 @@ #define HB_ITER_HH #include "hb.hh" +#include "hb-null.hh" /* Unified iterator object.
diff --git a/src/hb-vector.hh b/src/hb-vector.hh index 4e962d2..a9fa123 100644 --- a/src/hb-vector.hh +++ b/src/hb-vector.hh
@@ -29,6 +29,7 @@ #include "hb.hh" #include "hb-array.hh" +#include "hb-null.hh" template <typename Type, unsigned int PreallocedCount=8>
diff --git a/src/hb.hh b/src/hb.hh index dbfcc20..18f4e5c 100644 --- a/src/hb.hh +++ b/src/hb.hh
@@ -545,14 +545,17 @@ #define hb_remove_pointer(T) hb_remove_pointer<T>::value -/* Headers we include for everyone. Keep sorted. They express dependency amongst - * themselves, but no other file should include them.*/ +/* Headers we include for everyone. Keep topologically sorted by dependency. + * They express dependency amongst themselves, but no other file should include + * them directly.*/ #include "hb-atomic.hh" -#include "hb-debug.hh" -#include "hb-dsalgs.hh" -#include "hb-iter.hh" #include "hb-mutex.hh" #include "hb-null.hh" -#include "hb-object.hh" +#include "hb-dsalgs.hh" // Requires: hb-null +#include "hb-iter.hh" // Requires: hb-null +#include "hb-debug.hh" // Requires: hb-atomic hb-dsalgs +#include "hb-array.hh" // Requires: hb-dsalgs hb-iter hb-null +#include "hb-vector.hh" // Requires: hb-array hb-null +#include "hb-object.hh" // Requires: hb-atomic hb-mutex hb-vector #endif /* HB_HH */
diff --git a/src/test-iter.cc b/src/test-iter.cc index 4daa971..5cd0cc6 100644 --- a/src/test-iter.cc +++ b/src/test-iter.cc
@@ -24,6 +24,7 @@ * Google Author(s): Behdad Esfahbod */ +#include "hb.hh" #include "hb-iter.hh" #include "hb-array.hh"
diff --git a/src/test-unicode-ranges.cc b/src/test-unicode-ranges.cc index d5d39b9..0eef8c2 100644 --- a/src/test-unicode-ranges.cc +++ b/src/test-unicode-ranges.cc
@@ -24,6 +24,7 @@ * Google Author(s): Garret Rieger */ +#include "hb.hh" #include "hb-ot-os2-unicode-ranges.hh" static void