Main Page | Class List | Directories | File List | Class Members | File Members

iterators.c File Reference

#include "global.h"
#include "main.h"
#include "object.h"
#include "mapping.h"
#include "multiset.h"
#include "svalue.h"
#include "array.h"
#include "pike_macros.h"
#include "pike_error.h"
#include "pike_memory.h"
#include "dynamic_buffer.h"
#include "interpret.h"
#include "las.h"
#include "gc.h"
#include "stralloc.h"
#include "pike_security.h"
#include "opcodes.h"
#include "program.h"
#include "operators.h"
#include "builtin_functions.h"
#include "constants.h"

Classes

struct  mapping_iterator_struct
struct  array_iterator_struct
struct  multiset_iterator_struct
struct  string_iterator_struct
struct  file_line_iterator_struct
struct  string_split_iterator_struct

Defines

#define PRECOMPILE_API_VERSION   2
#define sp   Pike_sp
#define class_Iterator_defined
#define f_Iterator_create_defined
#define f_Iterator_cq__backtick_21_defined
#define f_Iterator_cq__backtick_add_defined
#define f_Iterator_cq__backtick_add_eq_defined
#define f_Iterator_cq__backtick_2D_defined
#define f_Iterator_index_defined
#define f_Iterator_value_defined
#define f_Iterator_cq__sizeof_defined
#define f_Iterator_cq__random_defined
#define f_Iterator_first_defined
#define f_Iterator_next_defined
#define f_Iterator_set_index_defined
#define class_mapping_iterator_defined
#define var_bucket_mapping_iterator_defined
#define var_m_mapping_iterator_defined
#define var_md_mapping_iterator_defined
#define var_current_mapping_iterator_defined
#define THIS   ((struct mapping_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
#define THIS_MAPPING_ITERATOR   ((struct mapping_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
#define OBJ2_MAPPING_ITERATOR(o)   ((struct mapping_iterator_struct *)(o->storage+mapping_iterator_storage_offset))
#define GET_MAPPING_ITERATOR_STORAGE   ((struct mapping_iterator_struct *)(o->storage+mapping_iterator_storage_offset)
#define f_mapping_iterator_value_defined
#define f_mapping_iterator_index_defined
#define f_mapping_iterator_cq__backtick_add_defined
#define f_mapping_iterator_cq__backtick_add_eq_defined
#define f_mapping_iterator_first_defined
#define f_mapping_iterator_cq__random_defined
#define f_mapping_iterator_next_defined
#define f_mapping_iterator_cq__backtick_21_defined
#define f_mapping_iterator_create_defined
#define internal_init_mapping_iterator_defined
#define mapping_iterator_event_handler_defined
#define internal_exit_mapping_iterator_defined
#define mapping_iterator_event_handler_defined
#define class_array_iterator_defined
#define var_pos_array_iterator_defined
#define var_a_array_iterator_defined
#define THIS   ((struct array_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
#define THIS_ARRAY_ITERATOR   ((struct array_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
#define OBJ2_ARRAY_ITERATOR(o)   ((struct array_iterator_struct *)(o->storage+array_iterator_storage_offset))
#define GET_ARRAY_ITERATOR_STORAGE   ((struct array_iterator_struct *)(o->storage+array_iterator_storage_offset)
#define f_array_iterator_value_defined
#define f_array_iterator_index_defined
#define f_array_iterator_cq__backtick_add_defined
#define f_array_iterator_cq__backtick_add_eq_defined
#define f_array_iterator_cq__backtick_2D_defined
#define f_array_iterator_first_defined
#define f_array_iterator_set_index_defined
#define f_array_iterator_cq__random_defined
#define f_array_iterator_next_defined
#define f_array_iterator_cq__backtick_21_defined
#define f_array_iterator_create_defined
#define internal_init_array_iterator_defined
#define array_iterator_event_handler_defined
#define internal_exit_array_iterator_defined
#define array_iterator_event_handler_defined
#define class_multiset_iterator_defined
#define var_l_multiset_iterator_defined
#define var_lock_index_multiset_iterator_defined
#define var_nodepos_multiset_iterator_defined
#define THIS   ((struct multiset_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
#define THIS_MULTISET_ITERATOR   ((struct multiset_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
#define OBJ2_MULTISET_ITERATOR(o)   ((struct multiset_iterator_struct *)(o->storage+multiset_iterator_storage_offset))
#define GET_MULTISET_ITERATOR_STORAGE   ((struct multiset_iterator_struct *)(o->storage+multiset_iterator_storage_offset)
#define f_multiset_iterator_value_defined
#define f_multiset_iterator_index_defined
#define f_multiset_iterator_cq__backtick_add_eq_defined
#define f_multiset_iterator_cq__backtick_add_defined
#define f_multiset_iterator_cq__backtick_2D_defined
#define f_multiset_iterator_first_defined
#define f_multiset_iterator_next_defined
#define f_multiset_iterator_cq__backtick_21_defined
#define f_multiset_iterator_cq__random_defined
#define f_multiset_iterator_lock_index_defined
#define f_multiset_iterator_unlock_index_defined
#define f_multiset_iterator_create_defined
#define internal_init_multiset_iterator_defined
#define multiset_iterator_event_handler_defined
#define internal_exit_multiset_iterator_defined
#define multiset_iterator_event_handler_defined
#define class_string_iterator_defined
#define var_pos_string_iterator_defined
#define var_s_string_iterator_defined
#define THIS   ((struct string_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
#define THIS_STRING_ITERATOR   ((struct string_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
#define OBJ2_STRING_ITERATOR(o)   ((struct string_iterator_struct *)(o->storage+string_iterator_storage_offset))
#define GET_STRING_ITERATOR_STORAGE   ((struct string_iterator_struct *)(o->storage+string_iterator_storage_offset)
#define f_string_iterator_value_defined
#define f_string_iterator_index_defined
#define f_string_iterator_cq__backtick_add_defined
#define f_string_iterator_cq__backtick_add_eq_defined
#define f_string_iterator_cq__backtick_2D_defined
#define f_string_iterator_first_defined
#define f_string_iterator_set_index_defined
#define f_string_iterator_cq__random_defined
#define f_string_iterator_next_defined
#define f_string_iterator_cq__backtick_21_defined
#define f_string_iterator_cq__search_defined
#define f_string_iterator_create_defined
#define internal_init_string_iterator_defined
#define string_iterator_event_handler_defined
#define internal_exit_string_iterator_defined
#define string_iterator_event_handler_defined
#define class_file_line_iterator_defined
#define var_buffer_file_line_iterator_defined
#define var_current_file_line_iterator_defined
#define var_offset_file_line_iterator_defined
#define var_index_file_line_iterator_defined
#define var_feed_file_line_iterator_defined
#define THIS   ((struct file_line_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
#define THIS_FILE_LINE_ITERATOR   ((struct file_line_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
#define OBJ2_FILE_LINE_ITERATOR(o)   ((struct file_line_iterator_struct *)(o->storage+file_line_iterator_storage_offset))
#define GET_FILE_LINE_ITERATOR_STORAGE   ((struct file_line_iterator_struct *)(o->storage+file_line_iterator_storage_offset)
#define f_file_line_iterator_value_defined
#define f_file_line_iterator_index_defined
#define f_file_line_iterator_cq__backtick_add_defined
#define f_file_line_iterator_cq__backtick_add_eq_defined
#define f_file_line_iterator_next_defined
#define f_file_line_iterator_cq__backtick_21_defined
#define f_file_line_iterator_create_defined
#define internal_init_file_line_iterator_defined
#define file_line_iterator_event_handler_defined
#define internal_exit_file_line_iterator_defined
#define file_line_iterator_event_handler_defined
#define class_string_split_iterator_defined
#define var_buffer_string_split_iterator_defined
#define var_current_string_split_iterator_defined
#define var_offset_string_split_iterator_defined
#define var_index_string_split_iterator_defined
#define var_split_set_string_split_iterator_defined
#define var_split_set_size_string_split_iterator_defined
#define var_flags_string_split_iterator_defined
#define var_feed_string_split_iterator_defined
#define THIS   ((struct string_split_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
#define THIS_STRING_SPLIT_ITERATOR   ((struct string_split_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
#define OBJ2_STRING_SPLIT_ITERATOR(o)   ((struct string_split_iterator_struct *)(o->storage+string_split_iterator_storage_offset))
#define GET_STRING_SPLIT_ITERATOR_STORAGE   ((struct string_split_iterator_struct *)(o->storage+string_split_iterator_storage_offset)
#define SIMPLE_SKIP(THIS, SHIFT, OFF)
#define SIMPLE_SKIP_CASE(THIS, SHIFT, OFF)
#define COMPLEX_SKIP(THIS, SHIFT, OFF)
#define COMPLEX_SKIP_CASE(THIS, SHIFT, OFF)
#define SIMPLE_SCAN(THIS, SHIFT, OFF)
#define SIMPLE_SCAN_CASE(THIS, SHIFT, OFF)
#define COMPLEX_SCAN(THIS, SHIFT, OFF)
#define COMPLEX_SCAN_CASE(THIS, SHIFT, OFF)
#define SIMPLE_SCAN_PUSH(THIS, SHIFT, OFF)
#define SIMPLE_SCAN_CASE_PUSH(THIS, SHIFT, OFF)
#define COMPLEX_SCAN_PUSH(THIS, SHIFT, OFF)
#define COMPLEX_SCAN_CASE_PUSH(THIS, SHIFT, OFF)
#define NEW_SKIP_CASE(SHIFT, FLAGS)
#define NEW_SCAN_MORE_CASE(SHIFT)
#define f_string_split_iterator_value_defined
#define f_string_split_iterator_index_defined
#define f_string_split_iterator_cq__backtick_add_defined
#define f_string_split_iterator_cq__backtick_add_eq_defined
#define f_string_split_iterator_next_defined
#define f_string_split_iterator_cq__backtick_21_defined
#define f_string_split_iterator_cq__sizeof_defined
#define f_string_split_iterator_create_defined
#define internal_init_string_split_iterator_defined
#define string_split_iterator_event_handler_defined
#define internal_exit_string_split_iterator_defined
#define string_split_iterator_event_handler_defined
#define internal_optimize_string_split_iterator_defined
#define string_split_iterator_optimize_callback_defined
#define f_get_iterator_defined
#define tObjImpl_MAPPING_ITERATOR   tObj
#define tObjImpl_ARRAY_ITERATOR   tObj
#define tObjImpl_MULTISET_ITERATOR   tObj
#define tObjImpl_STRING_ITERATOR   tObj
#define tObjImpl_FILE_LINE_ITERATOR   tObj
#define tObjImpl_STRING_SPLIT_ITERATOR   tObj

Functions

void f_mapping_iterator_value (INT32 args)
void f_mapping_iterator_index (INT32 args)
void f_mapping_iterator_cq__backtick_add (INT32 args)
void f_mapping_iterator_cq__backtick_add_eq (INT32 args)
void f_mapping_iterator_first (INT32 args)
void f_mapping_iterator_cq__random (INT32 args)
void f_mapping_iterator_next (INT32 args)
void f_mapping_iterator_cq__backtick_21 (INT32 args)
void f_mapping_iterator_create (INT32 args)
void f_array_iterator_value (INT32 args)
void f_array_iterator_index (INT32 args)
void f_array_iterator_cq__backtick_add (INT32 args)
void f_array_iterator_cq__backtick_add_eq (INT32 args)
void f_array_iterator_cq__backtick_2D (INT32 args)
void f_array_iterator_first (INT32 args)
void f_array_iterator_set_index (INT32 args)
void f_array_iterator_cq__random (INT32 args)
void f_array_iterator_next (INT32 args)
void f_array_iterator_cq__backtick_21 (INT32 args)
void f_array_iterator_create (INT32 args)
void f_multiset_iterator_value (INT32 args)
void f_multiset_iterator_index (INT32 args)
void f_multiset_iterator_cq__backtick_add_eq (INT32 args)
void f_multiset_iterator_cq__backtick_add (INT32 args)
void f_multiset_iterator_cq__backtick_2D (INT32 args)
void f_multiset_iterator_first (INT32 args)
void f_multiset_iterator_next (INT32 args)
void f_multiset_iterator_cq__backtick_21 (INT32 args)
void f_multiset_iterator_cq__random (INT32 args)
void f_multiset_iterator_lock_index (INT32 args)
void f_multiset_iterator_unlock_index (INT32 args)
void f_multiset_iterator_create (INT32 args)
void f_string_iterator_value (INT32 args)
void f_string_iterator_index (INT32 args)
void f_string_iterator_cq__backtick_add (INT32 args)
void f_string_iterator_cq__backtick_add_eq (INT32 args)
void f_string_iterator_cq__backtick_2D (INT32 args)
void f_string_iterator_first (INT32 args)
void f_string_iterator_set_index (INT32 args)
void f_string_iterator_cq__random (INT32 args)
void f_string_iterator_next (INT32 args)
void f_string_iterator_cq__backtick_21 (INT32 args)
void f_string_iterator_cq__search (INT32 args)
void f_string_iterator_create (INT32 args)
void f_file_line_iterator_value (INT32 args)
void f_file_line_iterator_index (INT32 args)
void f_file_line_iterator_cq__backtick_add (INT32 args)
void f_file_line_iterator_cq__backtick_add_eq (INT32 args)
void f_file_line_iterator_next (INT32 args)
void f_file_line_iterator_cq__backtick_21 (INT32 args)
void f_file_line_iterator_create (INT32 args)
void f_string_split_iterator_value (INT32 args)
void f_string_split_iterator_index (INT32 args)
void f_string_split_iterator_cq__backtick_add (INT32 args)
void f_string_split_iterator_cq__backtick_add_eq (INT32 args)
void f_string_split_iterator_next (INT32 args)
void f_string_split_iterator_cq__backtick_21 (INT32 args)
void f_string_split_iterator_cq__sizeof (INT32 args)
void f_string_split_iterator_create (INT32 args)
void f_get_iterator (INT32 args)
int foreach_iterate (struct object *o, int do_step)
void init_iterators (void)
void exit_iterators (void)

Variables

programIterator_program = NULL
ptrdiff_t f_Iterator_create_fun_num = 0
ptrdiff_t f_Iterator_cq__backtick_21_fun_num = 0
ptrdiff_t f_Iterator_cq__backtick_add_fun_num = 0
ptrdiff_t f_Iterator_cq__backtick_add_eq_fun_num = 0
ptrdiff_t f_Iterator_cq__backtick_2D_fun_num = 0
ptrdiff_t f_Iterator_index_fun_num = 0
ptrdiff_t f_Iterator_value_fun_num = 0
ptrdiff_t f_Iterator_cq__sizeof_fun_num = 0
ptrdiff_t f_Iterator_cq__random_fun_num = 0
ptrdiff_t f_Iterator_first_fun_num = 0
ptrdiff_t f_Iterator_next_fun_num = 0
ptrdiff_t f_Iterator_set_index_fun_num = 0
programmapping_iterator_program = NULL
ptrdiff_t f_mapping_iterator_value_fun_num = 0
ptrdiff_t f_mapping_iterator_index_fun_num = 0
ptrdiff_t f_mapping_iterator_cq__backtick_add_fun_num = 0
ptrdiff_t f_mapping_iterator_cq__backtick_add_eq_fun_num = 0
ptrdiff_t f_mapping_iterator_first_fun_num = 0
ptrdiff_t f_mapping_iterator_cq__random_fun_num = 0
ptrdiff_t f_mapping_iterator_next_fun_num = 0
ptrdiff_t f_mapping_iterator_cq__backtick_21_fun_num = 0
ptrdiff_t f_mapping_iterator_create_fun_num = 0
programarray_iterator_program = NULL
ptrdiff_t f_array_iterator_value_fun_num = 0
ptrdiff_t f_array_iterator_index_fun_num = 0
ptrdiff_t f_array_iterator_cq__backtick_add_fun_num = 0
ptrdiff_t f_array_iterator_cq__backtick_add_eq_fun_num = 0
ptrdiff_t f_array_iterator_cq__backtick_2D_fun_num = 0
ptrdiff_t f_array_iterator_first_fun_num = 0
ptrdiff_t f_array_iterator_set_index_fun_num = 0
ptrdiff_t f_array_iterator_cq__random_fun_num = 0
ptrdiff_t f_array_iterator_next_fun_num = 0
ptrdiff_t f_array_iterator_cq__backtick_21_fun_num = 0
ptrdiff_t f_array_iterator_create_fun_num = 0
programmultiset_iterator_program = NULL
ptrdiff_t f_multiset_iterator_value_fun_num = 0
ptrdiff_t f_multiset_iterator_index_fun_num = 0
ptrdiff_t f_multiset_iterator_cq__backtick_add_eq_fun_num = 0
ptrdiff_t f_multiset_iterator_cq__backtick_add_fun_num = 0
ptrdiff_t f_multiset_iterator_cq__backtick_2D_fun_num = 0
ptrdiff_t f_multiset_iterator_first_fun_num = 0
ptrdiff_t f_multiset_iterator_next_fun_num = 0
ptrdiff_t f_multiset_iterator_cq__backtick_21_fun_num = 0
ptrdiff_t f_multiset_iterator_cq__random_fun_num = 0
ptrdiff_t f_multiset_iterator_lock_index_fun_num = 0
ptrdiff_t f_multiset_iterator_unlock_index_fun_num = 0
ptrdiff_t f_multiset_iterator_create_fun_num = 0
programstring_iterator_program = NULL
ptrdiff_t f_string_iterator_value_fun_num = 0
ptrdiff_t f_string_iterator_index_fun_num = 0
ptrdiff_t f_string_iterator_cq__backtick_add_fun_num = 0
ptrdiff_t f_string_iterator_cq__backtick_add_eq_fun_num = 0
ptrdiff_t f_string_iterator_cq__backtick_2D_fun_num = 0
ptrdiff_t f_string_iterator_first_fun_num = 0
ptrdiff_t f_string_iterator_set_index_fun_num = 0
ptrdiff_t f_string_iterator_cq__random_fun_num = 0
ptrdiff_t f_string_iterator_next_fun_num = 0
ptrdiff_t f_string_iterator_cq__backtick_21_fun_num = 0
ptrdiff_t f_string_iterator_cq__search_fun_num = 0
ptrdiff_t f_string_iterator_create_fun_num = 0
programfile_line_iterator_program = NULL
ptrdiff_t f_file_line_iterator_value_fun_num = 0
ptrdiff_t f_file_line_iterator_index_fun_num = 0
ptrdiff_t f_file_line_iterator_cq__backtick_add_fun_num = 0
ptrdiff_t f_file_line_iterator_cq__backtick_add_eq_fun_num = 0
ptrdiff_t f_file_line_iterator_next_fun_num = 0
ptrdiff_t f_file_line_iterator_cq__backtick_21_fun_num = 0
ptrdiff_t f_file_line_iterator_create_fun_num = 0
programstring_split_iterator_program = NULL
ptrdiff_t f_string_split_iterator_value_fun_num = 0
ptrdiff_t f_string_split_iterator_index_fun_num = 0
ptrdiff_t f_string_split_iterator_cq__backtick_add_fun_num = 0
ptrdiff_t f_string_split_iterator_cq__backtick_add_eq_fun_num = 0
ptrdiff_t f_string_split_iterator_next_fun_num = 0
ptrdiff_t f_string_split_iterator_cq__backtick_21_fun_num = 0
ptrdiff_t f_string_split_iterator_cq__sizeof_fun_num = 0
ptrdiff_t f_string_split_iterator_create_fun_num = 0

Define Documentation

#define array_iterator_event_handler_defined
 

#define array_iterator_event_handler_defined
 

#define class_array_iterator_defined
 

#define class_file_line_iterator_defined
 

#define class_Iterator_defined
 

#define class_mapping_iterator_defined
 

#define class_multiset_iterator_defined
 

#define class_string_iterator_defined
 

#define class_string_split_iterator_defined
 

#define COMPLEX_SCAN THIS,
SHIFT,
OFF   ) 
 

Value:

do {                                                            \
    PIKE_CONCAT(p_wchar, SHIFT) *s =                            \
      PIKE_CONCAT(STR,SHIFT)(THIS->buffer);                     \
    while(OFF < THIS->buffer->len) {                            \
      int i;                                                    \
      p_wchar2 ch = s[OFF];                                     \
      for (i=0; i < THIS->split_set_size; i++) {                \
        if (ch == THIS->split_set[i]) {                         \
          goto PIKE_CONCAT(break_scan,SHIFT);                   \
        }                                                       \
      }                                                         \
      OFF++;                                                    \
    }                                                           \
  PIKE_CONCAT(break_scan, SHIFT): ;/* gcc complains without ;*/ \
  } while(0)

#define COMPLEX_SCAN_CASE THIS,
SHIFT,
OFF   ) 
 

Value:

case SHIFT:                                     \
    COMPLEX_SCAN(THIS, SHIFT, OFF);             \
    break

#define COMPLEX_SCAN_CASE_PUSH THIS,
SHIFT,
OFF   ) 
 

Value:

case SHIFT:                                             \
    COMPLEX_SCAN_PUSH(THIS, SHIFT, OFF);                \
    break

#define COMPLEX_SCAN_PUSH THIS,
SHIFT,
OFF   ) 
 

Value:

do {                                                                    \
    PIKE_CONCAT(p_wchar, SHIFT) *s =                                    \
      PIKE_CONCAT(STR,SHIFT)(THIS->buffer);                             \
    while(OFF < THIS->buffer->len) {                                    \
      int i;                                                            \
      p_wchar2 ch = s[OFF];                                             \
      for (i=0; i < THIS->split_set_size; i++) {                        \
        if (ch == THIS->split_set[i]) {                                 \
          push_string(PIKE_CONCAT(make_shared_binary_string, SHIFT)     \
            (s+offset, OFF-offset));                                    \
          goto PIKE_CONCAT(break_scan,SHIFT);                           \
        }                                                               \
      }                                                                 \
      OFF++;                                                            \
    }                                                                   \
    push_string(PIKE_CONCAT(make_shared_binary_string, SHIFT)           \
      (s+offset, OFF-offset));                                          \
  PIKE_CONCAT(break_scan, SHIFT):                                       \
    ;                                                                   \
  } while(0)

#define COMPLEX_SKIP THIS,
SHIFT,
OFF   ) 
 

Value:

do {                                                    \
    PIKE_CONCAT(p_wchar, SHIFT) *s =                    \
      PIKE_CONCAT(STR,SHIFT)(THIS->buffer);             \
    while(OFF < THIS->buffer->len) {                    \
      int i;                                            \
      p_wchar2 ch = s[OFF];                             \
      for (i=0; i < THIS->split_set_size; i++) {        \
        if (ch == THIS->split_set[i]) {                 \
          goto PIKE_CONCAT(continue_skip,SHIFT);        \
        }                                               \
      }                                                 \
      break;                                            \
    PIKE_CONCAT(continue_skip,SHIFT):                   \
      OFF++;                                            \
    }                                                   \
  } while(0)

#define COMPLEX_SKIP_CASE THIS,
SHIFT,
OFF   ) 
 

Value:

case SHIFT:                                     \
    COMPLEX_SKIP(THIS, SHIFT, OFF);             \
    break

#define f_array_iterator_cq__backtick_21_defined
 

#define f_array_iterator_cq__backtick_2D_defined
 

#define f_array_iterator_cq__backtick_add_defined
 

#define f_array_iterator_cq__backtick_add_eq_defined
 

#define f_array_iterator_cq__random_defined
 

#define f_array_iterator_create_defined
 

#define f_array_iterator_first_defined
 

#define f_array_iterator_index_defined
 

#define f_array_iterator_next_defined
 

#define f_array_iterator_set_index_defined
 

#define f_array_iterator_value_defined
 

#define f_file_line_iterator_cq__backtick_21_defined
 

#define f_file_line_iterator_cq__backtick_add_defined
 

#define f_file_line_iterator_cq__backtick_add_eq_defined
 

#define f_file_line_iterator_create_defined
 

#define f_file_line_iterator_index_defined
 

#define f_file_line_iterator_next_defined
 

#define f_file_line_iterator_value_defined
 

#define f_get_iterator_defined
 

#define f_Iterator_cq__backtick_21_defined
 

#define f_Iterator_cq__backtick_2D_defined
 

#define f_Iterator_cq__backtick_add_defined
 

#define f_Iterator_cq__backtick_add_eq_defined
 

#define f_Iterator_cq__random_defined
 

#define f_Iterator_cq__sizeof_defined
 

#define f_Iterator_create_defined
 

#define f_Iterator_first_defined
 

#define f_Iterator_index_defined
 

#define f_Iterator_next_defined
 

#define f_Iterator_set_index_defined
 

#define f_Iterator_value_defined
 

#define f_mapping_iterator_cq__backtick_21_defined
 

#define f_mapping_iterator_cq__backtick_add_defined
 

#define f_mapping_iterator_cq__backtick_add_eq_defined
 

#define f_mapping_iterator_cq__random_defined
 

#define f_mapping_iterator_create_defined
 

#define f_mapping_iterator_first_defined
 

#define f_mapping_iterator_index_defined
 

#define f_mapping_iterator_next_defined
 

#define f_mapping_iterator_value_defined
 

#define f_multiset_iterator_cq__backtick_21_defined
 

#define f_multiset_iterator_cq__backtick_2D_defined
 

#define f_multiset_iterator_cq__backtick_add_defined
 

#define f_multiset_iterator_cq__backtick_add_eq_defined
 

#define f_multiset_iterator_cq__random_defined
 

#define f_multiset_iterator_create_defined
 

#define f_multiset_iterator_first_defined
 

#define f_multiset_iterator_index_defined
 

#define f_multiset_iterator_lock_index_defined
 

#define f_multiset_iterator_next_defined
 

#define f_multiset_iterator_unlock_index_defined
 

#define f_multiset_iterator_value_defined
 

#define f_string_iterator_cq__backtick_21_defined
 

#define f_string_iterator_cq__backtick_2D_defined
 

#define f_string_iterator_cq__backtick_add_defined
 

#define f_string_iterator_cq__backtick_add_eq_defined
 

#define f_string_iterator_cq__random_defined
 

#define f_string_iterator_cq__search_defined
 

#define f_string_iterator_create_defined
 

#define f_string_iterator_first_defined
 

#define f_string_iterator_index_defined
 

#define f_string_iterator_next_defined
 

#define f_string_iterator_set_index_defined
 

#define f_string_iterator_value_defined
 

#define f_string_split_iterator_cq__backtick_21_defined
 

#define f_string_split_iterator_cq__backtick_add_defined
 

#define f_string_split_iterator_cq__backtick_add_eq_defined
 

#define f_string_split_iterator_cq__sizeof_defined
 

#define f_string_split_iterator_create_defined
 

#define f_string_split_iterator_index_defined
 

#define f_string_split_iterator_next_defined
 

#define f_string_split_iterator_value_defined
 

#define file_line_iterator_event_handler_defined
 

#define file_line_iterator_event_handler_defined
 

#define GET_ARRAY_ITERATOR_STORAGE   ((struct array_iterator_struct *)(o->storage+array_iterator_storage_offset)
 

#define GET_FILE_LINE_ITERATOR_STORAGE   ((struct file_line_iterator_struct *)(o->storage+file_line_iterator_storage_offset)
 

#define GET_MAPPING_ITERATOR_STORAGE   ((struct mapping_iterator_struct *)(o->storage+mapping_iterator_storage_offset)
 

#define GET_MULTISET_ITERATOR_STORAGE   ((struct multiset_iterator_struct *)(o->storage+multiset_iterator_storage_offset)
 

#define GET_STRING_ITERATOR_STORAGE   ((struct string_iterator_struct *)(o->storage+string_iterator_storage_offset)
 

#define GET_STRING_SPLIT_ITERATOR_STORAGE   ((struct string_split_iterator_struct *)(o->storage+string_split_iterator_storage_offset)
 

#define internal_exit_array_iterator_defined
 

#define internal_exit_file_line_iterator_defined
 

#define internal_exit_mapping_iterator_defined
 

#define internal_exit_multiset_iterator_defined
 

#define internal_exit_string_iterator_defined
 

#define internal_exit_string_split_iterator_defined
 

#define internal_init_array_iterator_defined
 

#define internal_init_file_line_iterator_defined
 

#define internal_init_mapping_iterator_defined
 

#define internal_init_multiset_iterator_defined
 

#define internal_init_string_iterator_defined
 

#define internal_init_string_split_iterator_defined
 

#define internal_optimize_string_split_iterator_defined
 

#define mapping_iterator_event_handler_defined
 

#define mapping_iterator_event_handler_defined
 

#define multiset_iterator_event_handler_defined
 

#define multiset_iterator_event_handler_defined
 

#define NEW_SCAN_MORE_CASE SHIFT   ) 
 

#define NEW_SKIP_CASE SHIFT,
FLAGS   ) 
 

#define OBJ2_ARRAY_ITERATOR  )     ((struct array_iterator_struct *)(o->storage+array_iterator_storage_offset))
 

#define OBJ2_FILE_LINE_ITERATOR  )     ((struct file_line_iterator_struct *)(o->storage+file_line_iterator_storage_offset))
 

#define OBJ2_MAPPING_ITERATOR  )     ((struct mapping_iterator_struct *)(o->storage+mapping_iterator_storage_offset))
 

#define OBJ2_MULTISET_ITERATOR  )     ((struct multiset_iterator_struct *)(o->storage+multiset_iterator_storage_offset))
 

#define OBJ2_STRING_ITERATOR  )     ((struct string_iterator_struct *)(o->storage+string_iterator_storage_offset))
 

#define OBJ2_STRING_SPLIT_ITERATOR  )     ((struct string_split_iterator_struct *)(o->storage+string_split_iterator_storage_offset))
 

#define PRECOMPILE_API_VERSION   2
 

#define SIMPLE_SCAN THIS,
SHIFT,
OFF   ) 
 

Value:

do {                                            \
    PIKE_CONCAT(p_wchar, SHIFT) *s =            \
      PIKE_CONCAT(STR,SHIFT)(THIS->buffer);     \
    while((OFF < THIS->buffer->len) &&          \
          s[OFF] != THIS->split_set[0]) {       \
      OFF++;                                    \
    }                                           \
  } while(0)

#define SIMPLE_SCAN_CASE THIS,
SHIFT,
OFF   ) 
 

Value:

case SHIFT:                                     \
    SIMPLE_SCAN(THIS, SHIFT, OFF);              \
    break

#define SIMPLE_SCAN_CASE_PUSH THIS,
SHIFT,
OFF   ) 
 

Value:

case SHIFT:                                     \
    SIMPLE_SCAN_PUSH(THIS, SHIFT, OFF);         \
    break

#define SIMPLE_SCAN_PUSH THIS,
SHIFT,
OFF   ) 
 

Value:

do {                                                            \
    PIKE_CONCAT(p_wchar, SHIFT) *s =                            \
      PIKE_CONCAT(STR,SHIFT)(THIS->buffer);                     \
    while((OFF < THIS->buffer->len) &&                          \
          s[OFF] != THIS->split_set[0]) {                       \
      OFF++;                                                    \
    }                                                           \
    push_string(PIKE_CONCAT(make_shared_binary_string, SHIFT)   \
      (s+offset, OFF-offset));                                  \
  } while(0)

#define SIMPLE_SKIP THIS,
SHIFT,
OFF   ) 
 

Value:

do {                                            \
    PIKE_CONCAT(p_wchar, SHIFT) *s =            \
      PIKE_CONCAT(STR,SHIFT)(THIS->buffer);     \
    while((OFF < THIS->buffer->len) &&          \
          s[OFF] == THIS->split_set[0]) {       \
      OFF++;                                    \
    }                                           \
  } while(0)

#define SIMPLE_SKIP_CASE THIS,
SHIFT,
OFF   ) 
 

Value:

case SHIFT:                                     \
    SIMPLE_SKIP(THIS, SHIFT, OFF);              \
    break

#define sp   Pike_sp
 

#define string_iterator_event_handler_defined
 

#define string_iterator_event_handler_defined
 

#define string_split_iterator_event_handler_defined
 

#define string_split_iterator_event_handler_defined
 

#define string_split_iterator_optimize_callback_defined
 

#define THIS   ((struct string_split_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
 

#define THIS   ((struct file_line_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
 

#define THIS   ((struct string_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
 

#define THIS   ((struct multiset_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
 

#define THIS   ((struct array_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
 

#define THIS   ((struct mapping_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
 

#define THIS_ARRAY_ITERATOR   ((struct array_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
 

#define THIS_FILE_LINE_ITERATOR   ((struct file_line_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
 

#define THIS_MAPPING_ITERATOR   ((struct mapping_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
 

#define THIS_MULTISET_ITERATOR   ((struct multiset_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
 

#define THIS_STRING_ITERATOR   ((struct string_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
 

#define THIS_STRING_SPLIT_ITERATOR   ((struct string_split_iterator_struct *)(Pike_interpreter.frame_pointer->current_storage))
 

#define tObjImpl_ARRAY_ITERATOR   tObj
 

#define tObjImpl_FILE_LINE_ITERATOR   tObj
 

#define tObjImpl_MAPPING_ITERATOR   tObj
 

#define tObjImpl_MULTISET_ITERATOR   tObj
 

#define tObjImpl_STRING_ITERATOR   tObj
 

#define tObjImpl_STRING_SPLIT_ITERATOR   tObj
 

#define var_a_array_iterator_defined
 

#define var_bucket_mapping_iterator_defined
 

#define var_buffer_file_line_iterator_defined
 

#define var_buffer_string_split_iterator_defined
 

#define var_current_file_line_iterator_defined
 

#define var_current_mapping_iterator_defined
 

#define var_current_string_split_iterator_defined
 

#define var_feed_file_line_iterator_defined
 

#define var_feed_string_split_iterator_defined
 

#define var_flags_string_split_iterator_defined
 

#define var_index_file_line_iterator_defined
 

#define var_index_string_split_iterator_defined
 

#define var_l_multiset_iterator_defined
 

#define var_lock_index_multiset_iterator_defined
 

#define var_m_mapping_iterator_defined
 

#define var_md_mapping_iterator_defined
 

#define var_nodepos_multiset_iterator_defined
 

#define var_offset_file_line_iterator_defined
 

#define var_offset_string_split_iterator_defined
 

#define var_pos_array_iterator_defined
 

#define var_pos_string_iterator_defined
 

#define var_s_string_iterator_defined
 

#define var_split_set_size_string_split_iterator_defined
 

#define var_split_set_string_split_iterator_defined
 


Function Documentation

void exit_iterators void   ) 
 

void f_array_iterator_cq__backtick_21 INT32  args  ) 
 

void f_array_iterator_cq__backtick_2D INT32  args  ) 
 

void f_array_iterator_cq__backtick_add INT32  args  ) 
 

void f_array_iterator_cq__backtick_add_eq INT32  args  ) 
 

void f_array_iterator_cq__random INT32  args  ) 
 

void f_array_iterator_create INT32  args  ) 
 

void f_array_iterator_first INT32  args  ) 
 

void f_array_iterator_index INT32  args  ) 
 

void f_array_iterator_next INT32  args  ) 
 

void f_array_iterator_set_index INT32  args  ) 
 

void f_array_iterator_value INT32  args  ) 
 

void f_file_line_iterator_cq__backtick_21 INT32  args  ) 
 

void f_file_line_iterator_cq__backtick_add INT32  args  ) 
 

void f_file_line_iterator_cq__backtick_add_eq INT32  args  ) 
 

void f_file_line_iterator_create INT32  args  ) 
 

void f_file_line_iterator_index INT32  args  ) 
 

void f_file_line_iterator_next INT32  args  ) 
 

void f_file_line_iterator_value INT32  args  ) 
 

void f_get_iterator INT32  args  ) 
 

void f_mapping_iterator_cq__backtick_21 INT32  args  ) 
 

void f_mapping_iterator_cq__backtick_add INT32  args  ) 
 

void f_mapping_iterator_cq__backtick_add_eq INT32  args  ) 
 

void f_mapping_iterator_cq__random INT32  args  ) 
 

void f_mapping_iterator_create INT32  args  ) 
 

void f_mapping_iterator_first INT32  args  ) 
 

void f_mapping_iterator_index INT32  args  ) 
 

void f_mapping_iterator_next INT32  args  ) 
 

void f_mapping_iterator_value INT32  args  ) 
 

void f_multiset_iterator_cq__backtick_21 INT32  args  ) 
 

void f_multiset_iterator_cq__backtick_2D INT32  args  ) 
 

void f_multiset_iterator_cq__backtick_add INT32  args  ) 
 

void f_multiset_iterator_cq__backtick_add_eq INT32  args  ) 
 

void f_multiset_iterator_cq__random INT32  args  ) 
 

void f_multiset_iterator_create INT32  args  ) 
 

void f_multiset_iterator_first INT32  args  ) 
 

void f_multiset_iterator_index INT32  args  ) 
 

void f_multiset_iterator_lock_index INT32  args  ) 
 

void f_multiset_iterator_next INT32  args  ) 
 

void f_multiset_iterator_unlock_index INT32  args  ) 
 

void f_multiset_iterator_value INT32  args  ) 
 

void f_string_iterator_cq__backtick_21 INT32  args  ) 
 

void f_string_iterator_cq__backtick_2D INT32  args  ) 
 

void f_string_iterator_cq__backtick_add INT32  args  ) 
 

void f_string_iterator_cq__backtick_add_eq INT32  args  ) 
 

void f_string_iterator_cq__random INT32  args  ) 
 

void f_string_iterator_cq__search INT32  args  ) 
 

void f_string_iterator_create INT32  args  ) 
 

void f_string_iterator_first INT32  args  ) 
 

void f_string_iterator_index INT32  args  ) 
 

void f_string_iterator_next INT32  args  ) 
 

void f_string_iterator_set_index INT32  args  ) 
 

void f_string_iterator_value INT32  args  ) 
 

void f_string_split_iterator_cq__backtick_21 INT32  args  ) 
 

void f_string_split_iterator_cq__backtick_add INT32  args  ) 
 

void f_string_split_iterator_cq__backtick_add_eq INT32  args  ) 
 

void f_string_split_iterator_cq__sizeof INT32  args  ) 
 

void f_string_split_iterator_create INT32  args  ) 
 

void f_string_split_iterator_index INT32  args  ) 
 

void f_string_split_iterator_next INT32  args  ) 
 

void f_string_split_iterator_value INT32  args  ) 
 

int foreach_iterate struct object o,
int  do_step
 

void init_iterators void   ) 
 


Variable Documentation

struct program* array_iterator_program = NULL
 

ptrdiff_t f_array_iterator_cq__backtick_21_fun_num = 0
 

ptrdiff_t f_array_iterator_cq__backtick_2D_fun_num = 0
 

ptrdiff_t f_array_iterator_cq__backtick_add_eq_fun_num = 0
 

ptrdiff_t f_array_iterator_cq__backtick_add_fun_num = 0
 

ptrdiff_t f_array_iterator_cq__random_fun_num = 0
 

ptrdiff_t f_array_iterator_create_fun_num = 0
 

ptrdiff_t f_array_iterator_first_fun_num = 0
 

ptrdiff_t f_array_iterator_index_fun_num = 0
 

ptrdiff_t f_array_iterator_next_fun_num = 0
 

ptrdiff_t f_array_iterator_set_index_fun_num = 0
 

ptrdiff_t f_array_iterator_value_fun_num = 0
 

ptrdiff_t f_file_line_iterator_cq__backtick_21_fun_num = 0
 

ptrdiff_t f_file_line_iterator_cq__backtick_add_eq_fun_num = 0
 

ptrdiff_t f_file_line_iterator_cq__backtick_add_fun_num = 0
 

ptrdiff_t f_file_line_iterator_create_fun_num = 0
 

ptrdiff_t f_file_line_iterator_index_fun_num = 0
 

ptrdiff_t f_file_line_iterator_next_fun_num = 0
 

ptrdiff_t f_file_line_iterator_value_fun_num = 0
 

ptrdiff_t f_Iterator_cq__backtick_21_fun_num = 0
 

ptrdiff_t f_Iterator_cq__backtick_2D_fun_num = 0
 

ptrdiff_t f_Iterator_cq__backtick_add_eq_fun_num = 0
 

ptrdiff_t f_Iterator_cq__backtick_add_fun_num = 0
 

ptrdiff_t f_Iterator_cq__random_fun_num = 0
 

ptrdiff_t f_Iterator_cq__sizeof_fun_num = 0
 

ptrdiff_t f_Iterator_create_fun_num = 0
 

ptrdiff_t f_Iterator_first_fun_num = 0
 

ptrdiff_t f_Iterator_index_fun_num = 0
 

ptrdiff_t f_Iterator_next_fun_num = 0
 

ptrdiff_t f_Iterator_set_index_fun_num = 0
 

ptrdiff_t f_Iterator_value_fun_num = 0
 

ptrdiff_t f_mapping_iterator_cq__backtick_21_fun_num = 0
 

ptrdiff_t f_mapping_iterator_cq__backtick_add_eq_fun_num = 0
 

ptrdiff_t f_mapping_iterator_cq__backtick_add_fun_num = 0
 

ptrdiff_t f_mapping_iterator_cq__random_fun_num = 0
 

ptrdiff_t f_mapping_iterator_create_fun_num = 0
 

ptrdiff_t f_mapping_iterator_first_fun_num = 0
 

ptrdiff_t f_mapping_iterator_index_fun_num = 0
 

ptrdiff_t f_mapping_iterator_next_fun_num = 0
 

ptrdiff_t f_mapping_iterator_value_fun_num = 0
 

ptrdiff_t f_multiset_iterator_cq__backtick_21_fun_num = 0
 

ptrdiff_t f_multiset_iterator_cq__backtick_2D_fun_num = 0
 

ptrdiff_t f_multiset_iterator_cq__backtick_add_eq_fun_num = 0
 

ptrdiff_t f_multiset_iterator_cq__backtick_add_fun_num = 0
 

ptrdiff_t f_multiset_iterator_cq__random_fun_num = 0
 

ptrdiff_t f_multiset_iterator_create_fun_num = 0
 

ptrdiff_t f_multiset_iterator_first_fun_num = 0
 

ptrdiff_t f_multiset_iterator_index_fun_num = 0
 

ptrdiff_t f_multiset_iterator_lock_index_fun_num = 0
 

ptrdiff_t f_multiset_iterator_next_fun_num = 0
 

ptrdiff_t f_multiset_iterator_unlock_index_fun_num = 0
 

ptrdiff_t f_multiset_iterator_value_fun_num = 0
 

ptrdiff_t f_string_iterator_cq__backtick_21_fun_num = 0
 

ptrdiff_t f_string_iterator_cq__backtick_2D_fun_num = 0
 

ptrdiff_t f_string_iterator_cq__backtick_add_eq_fun_num = 0
 

ptrdiff_t f_string_iterator_cq__backtick_add_fun_num = 0
 

ptrdiff_t f_string_iterator_cq__random_fun_num = 0
 

ptrdiff_t f_string_iterator_cq__search_fun_num = 0
 

ptrdiff_t f_string_iterator_create_fun_num = 0
 

ptrdiff_t f_string_iterator_first_fun_num = 0
 

ptrdiff_t f_string_iterator_index_fun_num = 0
 

ptrdiff_t f_string_iterator_next_fun_num = 0
 

ptrdiff_t f_string_iterator_set_index_fun_num = 0
 

ptrdiff_t f_string_iterator_value_fun_num = 0
 

ptrdiff_t f_string_split_iterator_cq__backtick_21_fun_num = 0
 

ptrdiff_t f_string_split_iterator_cq__backtick_add_eq_fun_num = 0
 

ptrdiff_t f_string_split_iterator_cq__backtick_add_fun_num = 0
 

ptrdiff_t f_string_split_iterator_cq__sizeof_fun_num = 0
 

ptrdiff_t f_string_split_iterator_create_fun_num = 0
 

ptrdiff_t f_string_split_iterator_index_fun_num = 0
 

ptrdiff_t f_string_split_iterator_next_fun_num = 0
 

ptrdiff_t f_string_split_iterator_value_fun_num = 0
 

struct program* file_line_iterator_program = NULL
 

struct program* Iterator_program = NULL
 

struct program* mapping_iterator_program = NULL
 

struct program* multiset_iterator_program = NULL
 

struct program* string_iterator_program = NULL
 

struct program* string_split_iterator_program = NULL
 


Generated on Fri Jul 22 23:44:29 2005 for Pike by  doxygen 1.3.9.1