[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Sv: new cvs tar



>I'm uploading a new cvs archive now: cvsnew-1999-09-15.tar.gz
>Changes are :
>* PenguinPlay.h is split up and some things were added, others fixed, many
>  macros renamed
>* src/ppUtils.cc renamed to ppUtils.cpp and some minor things in the
>  debugging code were changed (shouldn't affect anything)
>* The PenguinFile docs were updated a (little) bit
>

*defines.h*
#ifdef PP_CPLUSPLUS
#  define PP_NAMESPACE_BEGIN namespace pp {
#  define PP_NAMESPACE_END   }
#  define PP_I_NAMESPACE_BEGIN namespace internal {
#  define PP_I_NAMESPACE_END   }
#  define PP_EXTC extern "C"
#else
#  define PP_NAMESPACE_BEGIN
#  define PP_NAMESPACE_END
#  define PP_I_NAMESPACE_BEGIN
#  define PP_I_NAMESPACE_END
#  define PP_EXTC extern
#endif

That is what makes most sense. I think it'll be a bit inconvinient, though.
Perhaps this would be an idea:

#ifdef PP_CPLUSPLUS
#  define PP_NAMESPACE_BEGIN namespace pp {namespace internal{
#  define PP_NAMESPACE_END   }}
#  define PP_EXTC extern "C"
#else
#  define PP_NAMESPACE_BEGIN
#  define PP_NAMESPACE_END
#  define PP_EXTC extern
#endif

It isn't obvious that PP_NAMESPACE_BEGIN is ::pp::internal, and not ::pp. I
see that. However, we will be defining everything in ::pp::internal anyway.
The only place we will need just the ::pp namespace is in the file that
includes the "public" parts PPlay from ::pp::internal into ::pp. So in each
and every file, we'd have to write:

PP_NAMESPACE_BEGIN
PP_I_NAMESPACE_BEGIN

// ...

PP_I_NAMESPACE_END
PP_NAMESPACE_END

Rather than just:

PP_NAMESPACE_BEGIN

// ...

PP_NAMESPACE_END

That's a bit more convinient.

---

Are we sure we really want to use the stuff in LayerO.h? I don't like them.

If we are going to use them, then the macroes used in that file needs to
loose their leading _, and the inclusion guard should be all upper-case.

---

*types.h*
/*
 * Integers with guaranteed _minimum_ size.
 * These could be larger than you expect,
 * they are designed for speed.
 *
 * FIX: Are the unsigned ones needed? Are they useful?
 */
typedef          long int ppInt32;
[...]

Well, why not?

---

PenguinPlay.h is alot more readable now, and its easier to find things.