cRuneRange
Overview
Module with functions and types to work with a cRuneRange values.
Example
#include "clingo/lang/expect.h"
#include "clingo/type/cRuneRange.h"
int main( void )
{
init_tap_c_();
cRuneRange ascii = utf32_rune_range_c( 0x0000, 0x007F );
cRuneRange digits = rune_range_c( "0", "9" );
cRuneRange buginese = utf16_rune_range_c( 0x1A00, 0x1A1F );
expect_c_( in_rune_range_c_( ascii, "a" ) );
expect_c_( !in_rune_range_c_( digits, "a" ) );
expect_c_( !in_rune_range_c_( buginese, "a" ) );
expect_c_( in_rune_range_c_( ascii, "5" ) );
expect_c_( in_rune_range_c_( digits, "5" ) );
expect_c_( !in_rune_range_c_( buginese, "a" ) );
expect_c_( !in_rune_range_c_( ascii, "ᨒ" ) );
expect_c_( !in_rune_range_c_( digits, "ᨒ" ) );
expect_c_( in_rune_range_c_( buginese, "ᨒ" ) );
expect_c_( eq_rune_range_c( ascii, ascii ) );
expect_c_( !eq_rune_range_c( ascii, digits ) );
return finish_tap_c_();
}
Types and Definitions
cRuneRange
struct cRuneRange
{
int64_t min;
int64_t max;
};
typedef struct cRuneRange cRuneRange;
A cRuneRange is bounded inclusively below and above [min..max].
Functions
init
build_rune_range_c
cRuneRange build_rune_range_c( cRune min, cRune max );
Creates a cRuneRange.
make_rune_range_c
cRuneRange make_rune_range_c( cChars min, cChars max );
Creates a cRuneRange from the UTF-8 encoded code points at the front.
rune_range_c
cRuneRange rune_range_c( char const min[static 1], char const max[static 1] );
Creates a cRuneRange from the UTF-8 encoded code points at the front.
utf16_rune_range_c
cRuneRange utf16_rune_range_c( uint16_t min, uint16_t max );
Creates a cRuneRange from a UTF-16 encoded code points.
utf32_rune_range_c
cRuneRange utf32_rune_range_c( uint32_t min, uint32_t max );
Creates a cRuneRange from a UTF-32 encoded code points.
overall
eq_rune_range_c
bool eq_rune_range_c( cRuneRange a, cRuneRange b );
in_rune_range_c
#define in_rune_range_c_( Range, Cstr ) \
in_rune_range_c( (Range), rune_c( Cstr ) )
bool in_rune_range_c( cRuneRange range, cRune r );
Returns true if r is greater or equal than min and less or equal than max, otherwise false.
rune_range_is_valid_c
bool rune_range_is_valid_c( cRuneRange range );