NAMD
Public Member Functions | List of all members
UniqueSortedArray< Elem > Class Template Reference

#include <ResizeArrayRaw.h>

Inheritance diagram for UniqueSortedArray< Elem >:
SortedArray< Elem > SortableResizeArray< Elem > ResizeArray< Elem >

Public Member Functions

 UniqueSortedArray (int s=0)
 
 UniqueSortedArray (UniqueSortedArray< Elem > &ua)
 
 UniqueSortedArray (SortedArray< Elem > &sa)
 
UniqueSortedArray< Elem > & operator= (UniqueSortedArray< Elem > &ua)
 
UniqueSortedArray< Elem > & operator= (SortedArray< Elem > &sa)
 
int add (const Elem &elem)
 
int insert (const Elem &elem)
 
- Public Member Functions inherited from SortedArray< Elem >
 SortedArray (void)
 
 SortedArray (int s)
 
 SortedArray (SortedArray< Elem > &sa)
 
 SortedArray (SortableResizeArray< Elem > &ra)
 
SortedArray< Elem > & operator= (SortedArray< Elem > &sa)
 
SortedArray< Elem > & operator= (SortableResizeArray< Elem > &ra)
 
int load (const Elem &elem)
 
int add (const Elem &elem)
 
void del (const Elem &elem)
 
void sort (void)
 
int bsearch (const Elem &elem)
 
int insert (const Elem &elem)
 
int index (const Elem &elem)
 
Elem * find (const Elem &elem)
 
- Public Member Functions inherited from SortableResizeArray< Elem >
 SortableResizeArray (void)
 
 SortableResizeArray (int size)
 
 SortableResizeArray (ResizeArray< Elem > &ra)
 
 SortableResizeArray (SortableResizeArray< Elem > &ra)
 
 SortableResizeArray (const ResizeArray< Elem > *ra)
 
 SortableResizeArray (const SortableResizeArray< Elem > *ra)
 
 SortableResizeArray (Elem **const r, int numElem, int maxElem)
 
SortableResizeArray< Elem > & operator= (SortableResizeArray< Elem > &sa)
 
 ~SortableResizeArray (void)
 
void init (void)
 
void sort (void)
 
void sort (int bot, int top)
 
void uniq (void)
 
int bsearch (const Elem &elem) const
 
- Public Member Functions inherited from ResizeArray< Elem >
iterator begin (void)
 
iterator end (void)
 
const_iterator const_begin (void) const
 
const_iterator const_end (void) const
 
 ResizeArray (void)
 
 ResizeArray (int s)
 
void copy (ResizeArray< Elem > &ra)
 
void swap (ResizeArray< Elem > &ra)
 
bool shared () const
 
 ResizeArray (Elem **array, int arraySize, int allocSize=0)
 
 ~ResizeArray (void)
 
void resize (int i)
 
void reserve (int i)
 
void clear ()
 
void setall (const Elem &elem)
 
int add (const Elem &elem)
 
void del (int index, int num=1)
 
int insert (const Elem &elem, int index)
 
Elem & item (int i)
 
Elem & operator[] (int index)
 
const Elem & operator[] (int index) const
 
int size (void) const
 
int find (const Elem &e) const
 

Additional Inherited Members

- Public Types inherited from ResizeArray< Elem >
typedef Elem * iterator
 
typedef const Elem * const_iterator
 
- Protected Attributes inherited from SortedArray< Elem >
int isSorted
 
- Protected Attributes inherited from ResizeArray< Elem >
ResizeArrayRaw< Elem > rep
 

Detailed Description

template<class Elem>
class UniqueSortedArray< Elem >

Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved.

Definition at line 31 of file ResizeArrayRaw.h.

Constructor & Destructor Documentation

◆ UniqueSortedArray() [1/3]

template<class Elem>
UniqueSortedArray< Elem >::UniqueSortedArray ( int  s = 0)
inline

Definition at line 16 of file UniqueSortedArray.h.

◆ UniqueSortedArray() [2/3]

template<class Elem>
UniqueSortedArray< Elem >::UniqueSortedArray ( UniqueSortedArray< Elem > &  ua)
inline

Definition at line 18 of file UniqueSortedArray.h.

18  :
19  SortedArray<Elem>(ua) { }

◆ UniqueSortedArray() [3/3]

template<class Elem>
UniqueSortedArray< Elem >::UniqueSortedArray ( SortedArray< Elem > &  sa)
inline

Definition at line 21 of file UniqueSortedArray.h.

21  : SortedArray<Elem>(sa) {
22  this->uniq();
23  }

Member Function Documentation

◆ add()

template<class Elem>
int UniqueSortedArray< Elem >::add ( const Elem &  elem)
inline

Definition at line 50 of file UniqueSortedArray.h.

Referenced by ComputeHomePatches::initialize().

50 { return(insert(elem)); }
int insert(const Elem &elem)

◆ insert()

template<class Elem>
int UniqueSortedArray< Elem >::insert ( const Elem &  elem)
inline

Definition at line 58 of file UniqueSortedArray.h.

Referenced by UniqueSortedArray< PatchElem >::add().

58  {
59  int found = this->bsearch(elem);
60  if (found == -1) {
61  return ResizeArray<Elem>::insert(elem, 0);
62  }
63  if (found < this->size() && this->rep[found] == elem) {
64  return -2;
65  }
66  if (found == (this->size()-1) && this->rep[found] < elem) {
67  return ResizeArray<Elem>::insert(elem, this->size());
68  } else {
69  return ResizeArray<Elem>::insert(elem, found);
70  }
71 }
int insert(const Elem &elem, int index)
Definition: ResizeArray.h:113
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31
int size(void) const
Definition: ResizeArray.h:131
int bsearch(const Elem &elem)
Definition: SortedArray.h:68

◆ operator=() [1/2]

template<class Elem>
UniqueSortedArray<Elem>& UniqueSortedArray< Elem >::operator= ( UniqueSortedArray< Elem > &  ua)
inline

Definition at line 31 of file UniqueSortedArray.h.

31  {
33  return(*this);
34  }
SortedArray< Elem > & operator=(SortedArray< Elem > &sa)
Definition: SortedArray.h:38

◆ operator=() [2/2]

template<class Elem>
UniqueSortedArray<Elem>& UniqueSortedArray< Elem >::operator= ( SortedArray< Elem > &  sa)
inline

Definition at line 36 of file UniqueSortedArray.h.

36  {
38  this->uniq();
39  return(*this);
40  }
SortedArray< Elem > & operator=(SortedArray< Elem > &sa)
Definition: SortedArray.h:38

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