CppAD: A C++ Algorithmic Differentiation Package  20171217
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CppAD::local::sparse_sizevec Class Reference

Vector of sets of positive integers, each set stored as a size_t vector. More...

Public Types

typedef
sparse_sizevec_const_iterator 
const_iterator
 declare a const iterator More...
 

Public Member Functions

void add_element (size_t i, size_t element)
 Add one element to a set. More...
 
void assignment (size_t this_target, size_t other_source, const sparse_sizevec &other)
 Assign one set equal to another set. More...
 
void binary_intersection (size_t this_target, size_t this_left, size_t other_right, const sparse_sizevec &other)
 Assign a set equal to the intersection of two other sets. More...
 
void binary_union (size_t this_target, size_t this_left, size_t other_right, const sparse_sizevec &other)
 Assign a set equal to the union of two other sets. More...
 
void clear (size_t target)
 Assign the empty set to one of the sets. More...
 
size_t end (void) const
 Fetch end for this vector of sets object. More...
 
bool is_element (size_t i, size_t element) const
 Check if an element is in a set. More...
 
size_t memory (void) const
 Amount of memory used by this vector of sets. More...
 
size_t n_set (void) const
 Fetch n_set for vector of sets object. More...
 
size_t number_elements (size_t i) const
 Return number of elements in a set. More...
 
void operator= (const sparse_sizevec &other)
 Assignement operator. More...
 
void post_element (size_t i, size_t element)
 Post an element for delayed addition to a set. More...
 
void print (void) const
 Print the vector of sets (used for debugging) More...
 
void process_post (size_t i)
 process post entries for a specific set. More...
 
void resize (size_t n_set, size_t end)
 Start a new vector of sets. More...
 
 sparse_sizevec (void)
 Default constructor (no sets) More...
 
 sparse_sizevec (const sparse_sizevec &v)
 Using copy constructor is a programing (not user) error. More...
 
 ~sparse_sizevec (void)
 Destructor. More...
 

Private Member Functions

void binary_union (size_t target, size_t left, const pod_vector< size_t > &right)
 Assign a set equal to the union of a set and a vector;. More...
 
void check_data_structure (void)
 Checks data structure (effectively const, but modifies and restores values) More...
 
void collect_garbage (void)
 Does garbage collection when indicated. More...
 
size_t drop (size_t i)
 drop a set. More...
 
size_t is_subset (size_t one_this, size_t two_other, const sparse_sizevec &other) const
 Check if one of two sets is a subset of the other set. More...
 
size_t reference_count (size_t i) const
 Counts references to a set. More...
 

Private Attributes

pod_vector< size_t > data_
 The data for all the singly linked lists. More...
 
size_t data_not_used_
 number of elements in data_ that have been allocated and are no longer being used. More...
 
size_t end_
 Possible elements in each set are 0, 1, ..., end_ - 1;. More...
 
pod_vector< size_t > post_
 Vectors of elements that have not yet been added to corresponding sets. More...
 
pod_vector< size_t > start_
 Starting point for i-th set is start_[i]. More...
 

Friends

class sparse_sizevec_const_iterator
 

Detailed Description

Vector of sets of positive integers, each set stored as a size_t vector.

All the public members for this class are also in the sparse_pack and sparse_list classes. This defines the CppAD vector_of_sets concept.

Definition at line 34 of file sparse_sizevec.hpp.


The documentation for this class was generated from the following file: