NuSMV/code/nusmv/core/utils/DLlist.h File Reference

#include "nusmv/core/utils/StreamMgr.h"
#include "nusmv/core/utils/defs.h"

Go to the source code of this file.

Data Structures

struct  DLiter

Defines

#define DL_LIST(x)   ((DLlist_ptr) x)
#define DL_LIST_CHECK_INSTANCE(x)   ( nusmv_assert(DL_LIST(x) != DL_LIST(NULL)) )
#define DL_LIST_FOREACH(list, iter)   for (iter = DLlist_first(list); !DLiter_is_end(iter); iter = DLiter_next(iter))

Typedefs

typedef struct DLlist_TAG * DLlist_ptr
typedef struct DLnode_TAG * DLnode_ptr

Functions

void dl_list_testing_function (StreamMgr_ptr streams)
 This is a test function.
void * DLiter_element (DLiter iter)
 Returns a value of a list element pointed by a provided iterator.
boolean DLiter_is_end (DLiter iter)
 Returns true iff an iterator points past the last element of a list.
boolean DLiter_is_first (DLiter iter)
 Returns true iff an iterator points to the first element of a list.
DLiter DLiter_next (DLiter iter)
 Returns an iterator pointing to the next element of a list w.r.t. the element pointed by a provided iterator.
DLiter DLiter_prev (DLiter iter)
 Returns an iterator pointing to the previous element of a list w.r.t. the element pointed by a provided iterator.

Define Documentation

#define DL_LIST (  )     ((DLlist_ptr) x)
Todo:
Missing synopsis
Todo:
Missing description
#define DL_LIST_CHECK_INSTANCE (  )     ( nusmv_assert(DL_LIST(x) != DL_LIST(NULL)) )
Todo:
Missing synopsis
Todo:
Missing description
#define DL_LIST_FOREACH ( list,
iter   )     for (iter = DLlist_first(list); !DLiter_is_end(iter); iter = DLiter_next(iter))
Todo:
Missing synopsis
Todo:
Missing description

Typedef Documentation

typedef struct DLlist_TAG* DLlist_ptr
typedef struct DLnode_TAG* DLnode_ptr

Function Documentation

void dl_list_testing_function ( StreamMgr_ptr  streams  ) 

This is a test function.

Prototype of this function is not defined anywhere. Thus to use it define the prototype where you want and then invoke this function. [MD] I do think this is a good idea. Functions must have a prototype. I added the declaration in the header.

void* DLiter_element ( DLiter  iter  ) 

Returns a value of a list element pointed by a provided iterator.

Precondition: this function can be applied only if DLiter_is_end(iter) returns false

See also:
DLlist_first, DLlist_end, DLiter_is_end, DLiter_prev, DLiter_next
boolean DLiter_is_end ( DLiter  iter  ) 

Returns true iff an iterator points past the last element of a list.

The iterator must have been created with function DLlist_first, DLlist_end, DLlist_prev or DLlist_next

See also:
DLlist_first, DLlist_end, DLiter_next, DLiter_prev, DLiter_element
boolean DLiter_is_first ( DLiter  iter  ) 

Returns true iff an iterator points to the first element of a list.

The iterator must have been created with function DLlist_first, DLlist_end, DLlist_next or DLlist_prev. If a list is empty then for any of its iterators this function will return false.

See also:
DLlist_first, DLlist_last, DLiter_next, DLlist_prev, DLiter_element
DLiter DLiter_next ( DLiter  iter  ) 

Returns an iterator pointing to the next element of a list w.r.t. the element pointed by a provided iterator.

Precondition: this function can be applied only if DLiter_is_end(iter) returns false

See also:
DLiter_prev, ,DLiter_is_end, DLiter_element
DLiter DLiter_prev ( DLiter  iter  ) 

Returns an iterator pointing to the previous element of a list w.r.t. the element pointed by a provided iterator.

Precondition: this function can be applied only if DLiter_is_first(iter) returns false

See also:
DLiter_next, ,DLiter_is_end, DLiter_element
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 14 Oct 2015 for NuSMV Developers Manual by  doxygen 1.6.1