1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
#define XERR
#include "args.ih"
// inspect arguments from the last back to the first
bool Args::trailingTypes(Builtin::ArgsIter funBegin, Builtin::ArgsIter funEnd,
unsigned argBegin, unsigned argEnd) const
{
// too few trailing args
if (int argDiff = argEnd - argBegin; funEnd - funBegin > argDiff)
return false;
// check trailing args fm the
// last to the first
for (--argEnd ; funEnd-- != funBegin; --argEnd)
{
if (not equalTypes(funEnd, argEnd))
return false;
}
return true;
}
|