CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM::PTLeaf< T > Class Template Reference

#include <PolyTrie.hh>

+ Inheritance diagram for CASM::PTLeaf< T >:

Detailed Description

template<typename T>
class CASM::PTLeaf< T >

Definition at line 31 of file PolyTrie.hh.

Public Types

typedef
ComparePTLeaf::ByMonomialOrder 
CompareByMonomialOrder
 

Public Member Functions

 PTLeaf (PTNode< T > *_up, const Array< Index > &_key, const T &_val)
 
 ~PTLeaf ()
 
const Array< Index > & key () const
 
T & val_ref ()
 
const T & val_ref () const
 
PTLeaf< T > * next ()
 
PTLeaf< T > const * next () const
 
PTLeaf< T > * remove_and_next ()
 
void swap_after_prev (PTLeaf< T > *other)
 
void insert_at (PTLeaf< T > *&insertion_ptr)
 List insertion methods. More...
 
void insert_after (PTLeaf< T > *prev)
 
void insert_before (PTLeaf< T > *next)
 
void make_tail ()
 
const T & val () const
 
virtual void remove ()
 

Protected Types

typedef Array< PTNode< T > * > X1
 
typedef Array< X1X2
 
typedef Array< X2X3
 
typedef Array< X3X4
 
typedef Array< X4X5
 
typedef Array< X5X6
 
typedef Array< X6X7
 
typedef Array< X7X8
 
typedef Array< X8X9
 
typedef PTNode< T > * value_type
 
typedef Index size_type
 
typedef PTNode< T > ** iterator
 
typedef const PTNode< T > ** const_iterator
 

Protected Member Functions

PTNode< T > * valid_node_at (Index i)
 
PTNode< T > * valid_leaf_at (PolyTrie< T > &home_trie, const Array< Index > &ind)
 
void remove (Index ind)
 
Index size () const
 
void swap (Array< PTNode< T > * > &RHS)
 
PTNode< T > *& at (Index ind)
 
const PTNode< T > *& at (Index ind) const
 
const PTNode< T > *& operator[] (Index ind) const
 
PTNode< T > *& operator[] (Index ind)
 
PTNode< T > *& back ()
 
const PTNode< T > *& back () const
 
PTNode< T > *const * begin () const
 
PTNode< T > ** begin ()
 
PTNode< T > *const * cbegin () const
 
PTNode< T > *const * end () const
 
PTNode< T > ** end ()
 
PTNode< T > *const * cend () const
 
void push_back (const PTNode< T > *&toPush)
 
void pop_back ()
 
void clear ()
 
void resize (Index new_N)
 
void resize (Index new_N, const PTNode< T > *&fill_val)
 
void reserve (Index new_max)
 
void sort (const CompareType &comp)
 
void sort (Array< Index > &ind_order)
 
void sort ()
 
Arrayappend (const Array &new_tail)
 
Arrayappend_unique (const Array &new_tail)
 
void swap_elem (Index i, Index j)
 
Arraypermute (const Array< Index > &perm_array)
 
Arrayipermute (const Array< Index > &perm_array)
 
bool next_permute ()
 
ReturnArray< Indexas_perm_inverse () const
 
ReturnArray< Indexas_perm_transform_by (const Array< Index > &trans_perm) const
 
const PTNode< T > *& max () const
 
const PTNode< T > *& min () const
 
ReturnArray< PTNode< T > * > sub_array (Index ind_begin, Index ind_end) const
 
PTNode< T > * sum () const
 
bool is_ascending () const
 
bool is_descending () const
 
bool is_constant () const
 
bool is_permute () const
 
bool has_fixed_points () const
 Checks whether any values are equal to their index – only valid for Array<Index> More...
 
bool operator== (const Array< PTNode< T > * > &RHS) const
 
bool operator!= (const Array< PTNode< T > * > &RHS) const
 
bool operator< (const Array< PTNode< T > * > &RHS) const
 
bool operator> (const Array< PTNode< T > * > &RHS) const
 
bool operator<= (const Array< PTNode< T > * > &RHS) const
 
bool operator>= (const Array< PTNode< T > * > &RHS) const
 
bool all_in (const Array &superset) const
 
Index coincidence (const Array &superset) const
 
Index incidences (const PTNode< T > *&test_elem) const
 
Index find (const PTNode< T > *&test_elem) const
 
Index reverse_find (const PTNode< T > *&test_elem) const
 Same as find, but starts from the last element of the Array. More...
 
Index almost_find (const PTNode< T > *&test_elem, double tol_val=TOL) const
 
Index almost_reverse_find (const PTNode< T > *&test_elem, double tol_val=TOL) const
 Same as almost_find, but start from the last element of the Array. More...
 
bool contains (const PTNode< T > *&test_elem) const
 
bool almost_contains (const PTNode< T > *&test_elem, double tol_val=TOL) const
 
void print_column (std::ostream &stream, const std::string &indent="") const
 

Static Protected Member Functions

static double PT_TOL ()
 
static ReturnArray< PTNode< T > * > sequence (const PTNode< T > *&initial, const PTNode< T > *&final)
 Returns an array with the sequence (initial, ++initial, ..., final), inclusive. More...
 
static ReturnArray< PTNode< T > * > sequence (const PTNode< T > *&initial, const PTNode< T > *&increment, const PTNode< T > *&final)
 

Protected Attributes

PTNode< T > * up_node
 
m_val
 

Private Attributes

PTLeaf< T > * next_leaf
 
PTLeaf< T > ** prev_leaf_addr
 
Array< Indexm_key
 

Friends

class PolyTrie< T >
 

Member Typedef Documentation

Definition at line 86 of file PolyTrie.hh.

typedef const PTNode< T > * * CASM::Array< PTNode< T > * >::const_iterator
inherited

Definition at line 76 of file Array.hh.

typedef PTNode< T > * * CASM::Array< PTNode< T > * >::iterator
inherited

Definition at line 75 of file Array.hh.

typedef Index CASM::Array< PTNode< T > * >::size_type
inherited

Definition at line 74 of file Array.hh.

typedef PTNode< T > * CASM::Array< PTNode< T > * >::value_type
inherited

Definition at line 73 of file Array.hh.

typedef Array<PTNode< T > * > CASM::Array< PTNode< T > * >::X1
inherited

Definition at line 63 of file Array.hh.

typedef Array<X1> CASM::Array< PTNode< T > * >::X2
inherited

Definition at line 64 of file Array.hh.

typedef Array<X2> CASM::Array< PTNode< T > * >::X3
inherited

Definition at line 65 of file Array.hh.

typedef Array<X3> CASM::Array< PTNode< T > * >::X4
inherited

Definition at line 66 of file Array.hh.

typedef Array<X4> CASM::Array< PTNode< T > * >::X5
inherited

Definition at line 67 of file Array.hh.

typedef Array<X5> CASM::Array< PTNode< T > * >::X6
inherited

Definition at line 68 of file Array.hh.

typedef Array<X6> CASM::Array< PTNode< T > * >::X7
inherited

Definition at line 69 of file Array.hh.

typedef Array<X7> CASM::Array< PTNode< T > * >::X8
inherited

Definition at line 70 of file Array.hh.

typedef Array<X8> CASM::Array< PTNode< T > * >::X9
inherited

Definition at line 71 of file Array.hh.

Constructor & Destructor Documentation

template<typename T>
CASM::PTLeaf< T >::PTLeaf ( PTNode< T > *  _up,
const Array< Index > &  _key,
const T &  _val 
)
inline

Definition at line 81 of file PolyTrie.hh.

Member Function Documentation

bool CASM::Array< PTNode< T > * >::all_in ( const Array< PTNode< T > * > &  superset) const
inherited
bool CASM::Array< PTNode< T > * >::almost_contains ( const PTNode< T > * &  test_elem,
double  tol_val = TOL 
) const
inlineinherited

Definition at line 284 of file Array.hh.

Index CASM::Array< PTNode< T > * >::almost_find ( const PTNode< T > * &  test_elem,
double  tol_val = TOL 
) const
inherited
Index CASM::Array< PTNode< T > * >::almost_reverse_find ( const PTNode< T > * &  test_elem,
double  tol_val = TOL 
) const
inherited

Same as almost_find, but start from the last element of the Array.

Array& CASM::Array< PTNode< T > * >::append ( const Array< PTNode< T > * > &  new_tail)
inherited
Array& CASM::Array< PTNode< T > * >::append_unique ( const Array< PTNode< T > * > &  new_tail)
inherited
ReturnArray<Index> CASM::Array< PTNode< T > * >::as_perm_inverse ( ) const
inherited

Construct permutation that undoes the permutation performed by 'this' Inverse operation is calculated the same, regardless of permutation convention

ReturnArray<Index> CASM::Array< PTNode< T > * >::as_perm_transform_by ( const Array< Index > &  trans_perm) const
inherited

Given N distinct objects labeled from 0 to N-1, a permutation 'P_permute' that physically permutes the objects (with labels) in terms of their labels, and a permutation 'L_permute' that permutes their labels only, rewrite 'P_permute' in terms of the relabeling induced by 'L_permute' Rearrange 'this' permutation to form an equivalent permutation for any list that has already been permuted by trans_perm. Does not (nearly certain of this) depend on permutation convention

PTNode< T > * & CASM::Array< PTNode< T > * >::at ( Index  ind)
inlineinherited

Definition at line 157 of file Array.hh.

const PTNode< T > * & CASM::Array< PTNode< T > * >::at ( Index  ind) const
inlineinherited

Definition at line 162 of file Array.hh.

PTNode< T > * & CASM::Array< PTNode< T > * >::back ( )
inlineinherited

Definition at line 177 of file Array.hh.

const PTNode< T > * & CASM::Array< PTNode< T > * >::back ( ) const
inlineinherited

Definition at line 180 of file Array.hh.

PTNode< T > * const* CASM::Array< PTNode< T > * >::begin ( ) const
inlineinherited

Definition at line 185 of file Array.hh.

PTNode< T > * * CASM::Array< PTNode< T > * >::begin ( )
inlineinherited

Definition at line 192 of file Array.hh.

PTNode< T > * const* CASM::Array< PTNode< T > * >::cbegin ( ) const
inlineinherited

Definition at line 189 of file Array.hh.

PTNode< T > * const* CASM::Array< PTNode< T > * >::cend ( ) const
inlineinherited

Definition at line 201 of file Array.hh.

void CASM::Array< PTNode< T > * >::clear ( )
inlineinherited

Definition at line 216 of file Array.hh.

Index CASM::Array< PTNode< T > * >::coincidence ( const Array< PTNode< T > * > &  superset) const
inherited
bool CASM::Array< PTNode< T > * >::contains ( const PTNode< T > * &  test_elem) const
inlineinherited

Definition at line 281 of file Array.hh.

PTNode< T > * const* CASM::Array< PTNode< T > * >::end ( ) const
inlineinherited

Definition at line 197 of file Array.hh.

PTNode< T > * * CASM::Array< PTNode< T > * >::end ( )
inlineinherited

Definition at line 204 of file Array.hh.

Index CASM::Array< PTNode< T > * >::find ( const PTNode< T > * &  test_elem) const
inherited
bool CASM::Array< PTNode< T > * >::has_fixed_points ( ) const
inherited

Checks whether any values are equal to their index – only valid for Array<Index>

Index CASM::Array< PTNode< T > * >::incidences ( const PTNode< T > * &  test_elem) const
inherited
Array& CASM::Array< PTNode< T > * >::ipermute ( const Array< Index > &  perm_array)
inherited
bool CASM::Array< PTNode< T > * >::is_ascending ( ) const
inherited
bool CASM::Array< PTNode< T > * >::is_constant ( ) const
inherited
bool CASM::Array< PTNode< T > * >::is_descending ( ) const
inherited
bool CASM::Array< PTNode< T > * >::is_permute ( ) const
inherited

Checks that Array contains values from 0 to perm_array.size()-1 and that no value is repeated does not depend on definition of permutation convention

template<typename T>
const Array<Index>& CASM::PTLeaf< T >::key ( ) const
inline

virtual from PTNode<T>::remove removes from list

Definition at line 94 of file PolyTrie.hh.

template<typename T>
void CASM::PTLeaf< T >::make_tail ( )
inline

Definition at line 128 of file PolyTrie.hh.

const PTNode< T > * & CASM::Array< PTNode< T > * >::max ( ) const
inherited
const PTNode< T > * & CASM::Array< PTNode< T > * >::min ( ) const
inherited
template<typename T>
PTLeaf<T>* CASM::PTLeaf< T >::next ( )
inline

Definition at line 106 of file PolyTrie.hh.

template<typename T>
PTLeaf<T> const* CASM::PTLeaf< T >::next ( ) const
inline

Definition at line 109 of file PolyTrie.hh.

bool CASM::Array< PTNode< T > * >::next_permute ( )
inherited
bool CASM::Array< PTNode< T > * >::operator!= ( const Array< PTNode< T > * > &  RHS) const
inlineinherited

Definition at line 260 of file Array.hh.

bool CASM::Array< PTNode< T > * >::operator< ( const Array< PTNode< T > * > &  RHS) const
inherited
bool CASM::Array< PTNode< T > * >::operator<= ( const Array< PTNode< T > * > &  RHS) const
inlineinherited

Definition at line 265 of file Array.hh.

bool CASM::Array< PTNode< T > * >::operator== ( const Array< PTNode< T > * > &  RHS) const
inherited
bool CASM::Array< PTNode< T > * >::operator> ( const Array< PTNode< T > * > &  RHS) const
inherited
bool CASM::Array< PTNode< T > * >::operator>= ( const Array< PTNode< T > * > &  RHS) const
inlineinherited

Definition at line 268 of file Array.hh.

const PTNode< T > * & CASM::Array< PTNode< T > * >::operator[] ( Index  ind) const
inlineinherited

Definition at line 167 of file Array.hh.

PTNode< T > * & CASM::Array< PTNode< T > * >::operator[] ( Index  ind)
inlineinherited

Definition at line 172 of file Array.hh.

Array& CASM::Array< PTNode< T > * >::permute ( const Array< Index > &  perm_array)
inherited
void CASM::Array< PTNode< T > * >::pop_back ( )
inlineinherited

Definition at line 212 of file Array.hh.

void CASM::Array< PTNode< T > * >::print_column ( std::ostream &  stream,
const std::string &  indent = "" 
) const
inherited
template<typename T>
static double CASM::PTNode< T >::PT_TOL ( )
inlinestaticprotectedinherited

Definition at line 42 of file PolyTrie.hh.

void CASM::Array< PTNode< T > * >::push_back ( const PTNode< T > * &  toPush)
inherited
void CASM::Array< PTNode< T > * >::remove ( Index  ind)
inherited
void CASM::Array< PTNode< T > * >::reserve ( Index  new_max)
inherited
void CASM::Array< PTNode< T > * >::resize ( Index  new_N)
inherited
void CASM::Array< PTNode< T > * >::resize ( Index  new_N,
const PTNode< T > * &  fill_val 
)
inherited
Index CASM::Array< PTNode< T > * >::reverse_find ( const PTNode< T > * &  test_elem) const
inherited

Same as find, but starts from the last element of the Array.

static ReturnArray<PTNode< T > * > CASM::Array< PTNode< T > * >::sequence ( const PTNode< T > * &  initial,
const PTNode< T > * &  final 
)
staticinherited

Returns an array with the sequence (initial, ++initial, ..., final), inclusive.

Returns an array with the sequence (initial, ++initial, ..., final), inclusive requires that operator<() and operator++() are defined on type T

static ReturnArray<PTNode< T > * > CASM::Array< PTNode< T > * >::sequence ( const PTNode< T > * &  initial,
const PTNode< T > * &  increment,
const PTNode< T > * &  final 
)
staticinherited

Returns an array with the sequence (initial, initial+increment, ..., final?), inclusive if final is in the sequence requires that operator<() and operator+=() are defined on type T

Returns an array with the sequence (initial, initial+increment, ..., final?), inclusive if final is in the sequence

Index CASM::Array< PTNode< T > * >::size ( ) const
inlineinherited

Definition at line 145 of file Array.hh.

void CASM::Array< PTNode< T > * >::sort ( const CompareType &  comp)
inherited
void CASM::Array< PTNode< T > * >::sort ( Array< Index > &  ind_order)
inherited
void CASM::Array< PTNode< T > * >::sort ( )
inherited
ReturnArray<PTNode< T > * > CASM::Array< PTNode< T > * >::sub_array ( Index  ind_begin,
Index  ind_end 
) const
inherited
PTNode< T > * CASM::Array< PTNode< T > * >::sum ( ) const
inherited
void CASM::Array< PTNode< T > * >::swap ( Array< PTNode< T > * > &  RHS)
inherited
void CASM::Array< PTNode< T > * >::swap_elem ( Index  i,
Index  j 
)
inlineinherited

Definition at line 231 of file Array.hh.

template<typename T>
const T& CASM::PTNode< T >::val ( ) const
inlineinherited

Definition at line 61 of file PolyTrie.hh.

template<typename T>
T& CASM::PTLeaf< T >::val_ref ( )
inline

Definition at line 98 of file PolyTrie.hh.

template<typename T>
const T& CASM::PTLeaf< T >::val_ref ( ) const
inline

Definition at line 101 of file PolyTrie.hh.

Friends And Related Function Documentation

template<typename T>
friend class PolyTrie< T >
friend

Definition at line 78 of file PolyTrie.hh.

Member Data Documentation

template<typename T>
Array<Index> CASM::PTLeaf< T >::m_key
private

Definition at line 75 of file PolyTrie.hh.

template<typename T>
T CASM::PTNode< T >::m_val
protectedinherited

Definition at line 47 of file PolyTrie.hh.

template<typename T>
PTLeaf<T>* CASM::PTLeaf< T >::next_leaf
private

Definition at line 73 of file PolyTrie.hh.

template<typename T>
PTLeaf<T>** CASM::PTLeaf< T >::prev_leaf_addr
private

Definition at line 74 of file PolyTrie.hh.

template<typename T>
PTNode<T>* CASM::PTNode< T >::up_node
protectedinherited

Definition at line 46 of file PolyTrie.hh.


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