Skip to content

File query_bitset.h

FileList > cubrid > src > optimizer > query_bitset.h

Go to the source code of this file

  • #include <stdio.h>
  • #include <string.h>

Classes

Type Name
struct bitset
struct bitset_iterator

Public Types

Type Name
typedef struct bitset BITSET
typedef unsigned int BITSET_CARRIER
typedef struct bitset_iterator BITSET_ITERATOR
typedef struct qo_env QO_ENV

Public Attributes

Type Name
BITSET EMPTY_SET

Public Functions

Type Name
void bitset_add (BITSET * dst, int x)
void bitset_assign (BITSET * dst, const BITSET * src)
int bitset_cardinality (const BITSET * s)
void bitset_delset (BITSET * s)
void bitset_difference (BITSET * dst, const BITSET * src)
void bitset_exchange (BITSET * v1, BITSET * v2)
void bitset_extend (BITSET * dst, int nwords)
int bitset_first_member (const BITSET * s)
void bitset_init (BITSET * s, QO_ENV * env)
void bitset_intersect (BITSET * dst, const BITSET * src)
int bitset_intersects (const BITSET * r, const BITSET * s)
void bitset_invert (BITSET * dst)
int bitset_is_empty (const BITSET * s)
int bitset_is_equivalent (const BITSET * r, const BITSET * s)
int bitset_iterate (const BITSET * s, BITSET_ITERATOR * si)
int bitset_next_member (BITSET_ITERATOR * si)
int bitset_position (const BITSET * s, int x)
void bitset_print (const BITSET * s, FILE * fp)
void bitset_remove (BITSET * dst, int x)
int bitset_subset (const BITSET * r, const BITSET * s)
void bitset_union (BITSET * dst, const BITSET * src)
void set_stats (FILE * fp)

Macros

Type Name
define BITPATTERN (s) ([**assert**](malloc__2__8__3_8c.md#define-assert) ([**BITSET\_IS\_VALID**](query__bitset_8h.md#define-bitset_is_valid) (&(s))), (s).setp[0])
define BITSET_CLEAR (s) /* multi line expression */
define BITSET_IS_VALID (p) ((([**p**](dynamic__load_8c.md#variable-p))-&gt;nwords &gt; 0) && (([**p**](dynamic__load_8c.md#variable-p))-&gt;setp != [**NULL**](freelistheap_8h.md#define-null)))
define BITSET_MEMBER (s, x) /* multi line expression */
define NELEMENTS 64
define NWORDS /* multi line expression */
define _BIT (x) (([**x**](broker__monitor_8c.md#function-timeout)) & [**\_MASK**](query__bitset_8h.md#define-_mask))
define _LOG2_WORDSIZE 5
define _MASK ((1[**L**](broker__monitor_8c.md#function-timeout) &lt;&lt; [**\_LOG2\_WORDSIZE**](query__bitset_8h.md#define-_log2_wordsize)) - 1)
define _WORD (x) (([**x**](broker__monitor_8c.md#function-timeout)) &gt;&gt; [**\_LOG2\_WORDSIZE**](query__bitset_8h.md#define-_log2_wordsize))
define _WORDSIZE 32 /\* [**Number**](broker__monitor_8c.md#function-timeout) [**of**](broker__monitor_8c.md#function-timeout) bits in [**BITSET\_CARRIER**](query__bitset_8h.md#typedef-bitset_carrier) \*/

Public Types Documentation

typedef BITSET

typedef struct bitset BITSET;

typedef BITSET_CARRIER

typedef unsigned int BITSET_CARRIER;

typedef BITSET_ITERATOR

typedef struct bitset_iterator BITSET_ITERATOR;

typedef QO_ENV

typedef struct qo_env QO_ENV;

Public Attributes Documentation

variable EMPTY_SET

BITSET EMPTY_SET;

Public Functions Documentation

function bitset_add

void bitset_add (
    BITSET * dst,
    int x
) 

function bitset_assign

void bitset_assign (
    BITSET * dst,
    const  BITSET * src
) 

function bitset_cardinality

int bitset_cardinality (
    const  BITSET * s
) 

function bitset_delset

void bitset_delset (
    BITSET * s
) 

function bitset_difference

void bitset_difference (
    BITSET * dst,
    const  BITSET * src
) 

function bitset_exchange

void bitset_exchange (
    BITSET * v1,
    BITSET * v2
) 

function bitset_extend

void bitset_extend (
    BITSET * dst,
    int nwords
) 

function bitset_first_member

int bitset_first_member (
    const  BITSET * s
) 

function bitset_init

void bitset_init (
    BITSET * s,
    QO_ENV * env
) 

function bitset_intersect

void bitset_intersect (
    BITSET * dst,
    const  BITSET * src
) 

function bitset_intersects

int bitset_intersects (
    const  BITSET * r,
    const  BITSET * s
) 

function bitset_invert

void bitset_invert (
    BITSET * dst
) 

function bitset_is_empty

int bitset_is_empty (
    const  BITSET * s
) 

function bitset_is_equivalent

int bitset_is_equivalent (
    const  BITSET * r,
    const  BITSET * s
) 

function bitset_iterate

int bitset_iterate (
    const  BITSET * s,
    BITSET_ITERATOR * si
) 

function bitset_next_member

int bitset_next_member (
    BITSET_ITERATOR * si
) 

function bitset_position

int bitset_position (
    const  BITSET * s,
    int x
) 

function bitset_print

void bitset_print (
    const  BITSET * s,
    FILE * fp
) 

function bitset_remove

void bitset_remove (
    BITSET * dst,
    int x
) 

function bitset_subset

int bitset_subset (
    const  BITSET * r,
    const  BITSET * s
) 

function bitset_union

void bitset_union (
    BITSET * dst,
    const  BITSET * src
) 

function set_stats

void set_stats (
    FILE * fp
) 

Macro Definition Documentation

define BITPATTERN

#define BITPATTERN (
    s
) `( assert ( BITSET_IS_VALID (&(s))), (s).setp[0])`

define BITSET_CLEAR

#define BITSET_CLEAR (
    s
) `( assert ( BITSET_IS_VALID (&(s))), \ memset (( char *)(s).setp, 0, (s).nwords * sizeof ( BITSET_CARRIER )))`

define BITSET_IS_VALID

#define BITSET_IS_VALID (
    p
) `((( p )->nwords > 0) && (( p )->setp != NULL ))`

define BITSET_MEMBER

#define BITSET_MEMBER (
    s,
    x
) `/* multi line expression */`

define NELEMENTS

#define NELEMENTS `64`

define NWORDS

#define NWORDS `/* multi line expression */`

define _BIT

#define _BIT (
    x
) `(( x ) & _MASK )`

define _LOG2_WORDSIZE

#define _LOG2_WORDSIZE `5`

define _MASK

#define _MASK `((1 L << _LOG2_WORDSIZE ) - 1)`

define _WORD

#define _WORD (
    x
) `(( x ) >> _LOG2_WORDSIZE )`

define _WORDSIZE

#define _WORDSIZE `32   /* Number  of bits in BITSET_CARRIER */`


The documentation for this class was generated from the following file cubrid/src/optimizer/query_bitset.h