combin::combinations_base< T > Class Template Reference

#include <combinatorics.hh>

Inheritance diagram for combin::combinations_base< T >:

combin::combinations< T > combin::symm_helper< T > combin::symm_val_helper< T > List of all members.

Public Types

enum  weight_cond { weight_equals, weight_less, weight_greater }

Public Member Functions

 combinations_base ()
 combinations_base (const std::vector< T > &)
virtual ~combinations_base ()
void permute (long start=-1, long end=-1)
virtual void clear ()
virtual void clear_results ()
unsigned int sum_of_sublengths () const
void set_unit_sublengths ()
unsigned int multiplier (const std::vector< T > &) const
unsigned int total_permutations () const

Public Attributes

unsigned int block_length
std::vector< unsigned int > sublengths
range_vector_t input_asym
std::vector< T > original
bool multiple_pick
std::vector< weights_tweights
std::vector< int > max_weights
std::vector< weight_condweight_conditions
unsigned int sub_problem_blocksize

Protected Member Functions

virtual void vector_generated (const std::vector< unsigned int > &)=0
virtual bool entry_accepted (unsigned int current) const

Protected Attributes

std::vector< unsigned int > temparr
long start_
long end_
long vector_generated_called_
std::vector< int > current_weight

Private Member Functions

bool is_allowed_by_weight_constraints (unsigned int i)
bool final_weight_constraints_check () const
void update_weights (unsigned int i)
void restore_weights (unsigned int i)
void nextstep (unsigned int current, unsigned int fromalgehad, unsigned int groupindex, std::vector< bool > algehad)

template<class T>
class combin::combinations_base< T >


Member Enumeration Documentation

template<class T>
enum combin::combinations_base::weight_cond
 

Enumerator:
weight_equals 
weight_less 
weight_greater 


Constructor & Destructor Documentation

template<class T>
combin::combinations_base< T >::combinations_base  ) 
 

template<class T>
combin::combinations_base< T >::combinations_base const std::vector< T > &   ) 
 

template<class T>
combin::combinations_base< T >::~combinations_base  )  [virtual]
 


Member Function Documentation

template<class T>
void combin::combinations_base< T >::clear  )  [virtual]
 

Reimplemented in combin::combinations< T >, combin::symm_helper< T >, combin::symm_val_helper< T >, combin::combinations< unsigned int >, combin::combinations< iterator >, combin::symm_helper< unsigned int >, and combin::symm_val_helper< unsigned int >.

template<class T>
void combin::combinations_base< T >::clear_results  )  [virtual]
 

Reimplemented in combin::combinations< T >, combin::combinations< unsigned int >, and combin::combinations< iterator >.

template<class T>
bool combin::combinations_base< T >::entry_accepted unsigned int  current  )  const [protected, virtual]
 

template<class T>
bool combin::combinations_base< T >::final_weight_constraints_check  )  const [private]
 

template<class T>
bool combin::combinations_base< T >::is_allowed_by_weight_constraints unsigned int  i  )  [private]
 

template<class T>
unsigned int combin::combinations_base< T >::multiplier const std::vector< T > &   )  const
 

template<class T>
void combin::combinations_base< T >::nextstep unsigned int  current,
unsigned int  fromalgehad,
unsigned int  groupindex,
std::vector< bool >  algehad
[private]
 

template<class T>
void combin::combinations_base< T >::permute long  start = -1,
long  end = -1
 

template<class T>
void combin::combinations_base< T >::restore_weights unsigned int  i  )  [private]
 

template<class T>
void combin::combinations_base< T >::set_unit_sublengths  ) 
 

template<class T>
unsigned int combin::combinations_base< T >::sum_of_sublengths  )  const
 

template<class T>
unsigned int combin::combinations_base< T >::total_permutations  )  const
 

template<class T>
void combin::combinations_base< T >::update_weights unsigned int  i  )  [private]
 

template<class T>
virtual void combin::combinations_base< T >::vector_generated const std::vector< unsigned int > &   )  [protected, pure virtual]
 

Implemented in combin::combinations< T >, combin::symm_helper< T >, combin::symm_val_helper< T >, combin::combinations< unsigned int >, combin::combinations< iterator >, combin::symm_helper< unsigned int >, and combin::symm_val_helper< unsigned int >.


Member Data Documentation

template<class T>
unsigned int combin::combinations_base< T >::block_length
 

template<class T>
std::vector<int> combin::combinations_base< T >::current_weight [protected]
 

template<class T>
long combin::combinations_base< T >::end_ [protected]
 

template<class T>
range_vector_t combin::combinations_base< T >::input_asym
 

template<class T>
std::vector<int> combin::combinations_base< T >::max_weights
 

template<class T>
bool combin::combinations_base< T >::multiple_pick
 

template<class T>
std::vector<T> combin::combinations_base< T >::original
 

template<class T>
long combin::combinations_base< T >::start_ [protected]
 

template<class T>
unsigned int combin::combinations_base< T >::sub_problem_blocksize
 

template<class T>
std::vector<unsigned int> combin::combinations_base< T >::sublengths
 

template<class T>
std::vector<unsigned int> combin::combinations_base< T >::temparr [protected]
 

template<class T>
long combin::combinations_base< T >::vector_generated_called_ [protected]
 

template<class T>
std::vector<weight_cond> combin::combinations_base< T >::weight_conditions
 

template<class T>
std::vector<weights_t> combin::combinations_base< T >::weights
 


The documentation for this class was generated from the following file:
Generated on Sat Jul 18 23:03:19 2009 for cadabra by  doxygen 1.4.6