internal/range.h rework

Eliminate macros for better readability.
This commit is contained in:
卜部昌平 2019-12-04 13:06:15 +09:00
parent 719efe72b0
commit 797c46917e
Notes: git 2019-12-26 20:45:58 +09:00

View File

@ -9,10 +9,29 @@
* modify this file, provided that the conditions mentioned in the
* file COPYING are met. Consult the file for details.
*/
#include "internal/struct.h" /* for RSTRUCT */
/* range.c */
#define RANGE_BEG(r) (RSTRUCT(r)->as.ary[0])
#define RANGE_END(r) (RSTRUCT(r)->as.ary[1])
#define RANGE_EXCL(r) (RSTRUCT(r)->as.ary[2])
static inline VALUE RANGE_BEG(VALUE r);
static inline VALUE RANGE_END(VALUE r);
static inline VALUE RANGE_EXCL(VALUE r);
static inline VALUE
RANGE_BEG(VALUE r)
{
return RSTRUCT(r)->as.ary[0];
}
static inline VALUE
RANGE_END(VALUE r)
{
return RSTRUCT(r)->as.ary[1];
}
static inline VALUE
RANGE_EXCL(VALUE r)
{
return RSTRUCT(r)->as.ary[2];
}
#endif /* INTERNAL_RANGE_H */