LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Member Functions | Public Attributes | List of all members
lsst.geom.geometry._SubList Class Reference
Inheritance diagram for lsst.geom.geometry._SubList:

Public Member Functions

def __init__
 
def append
 
def filter
 
def __len__
 
def __iter__
 

Public Attributes

 backingList
 
 active
 
 head
 
 tail
 
 freeTail
 
 len
 

Detailed Description

Class that maintains a sub-list of a backing list in
insertion order. Elements can be deleted in O(1) time.

Definition at line 1919 of file geometry.py.

Constructor & Destructor Documentation

def lsst.geom.geometry._SubList.__init__ (   self,
  backingList 
)

Member Function Documentation

def lsst.geom.geometry._SubList.__iter__ (   self)
Returns an iterator over all elements in the sub-list.

Definition at line 1976 of file geometry.py.

1977  def __iter__(self):
1978  """Returns an iterator over all elements in the sub-list.
1979  """
1980  h = self.head
1981  while h != -1:
1982  t = self.active[h]
1983  yield self.backingList[t[0]]
1984  h = t[2]
1985 
1986 
1987 # -- Spherical box partitioning scheme ----
def lsst.geom.geometry._SubList.__len__ (   self)

Definition at line 1973 of file geometry.py.

1974  def __len__(self):
1975  return self.len
def lsst.geom.geometry._SubList.append (   self,
  i 
)

Definition at line 1931 of file geometry.py.

1932  def append(self, i):
1933  if self.freeTail == -1:
1934  j = len(self.active)
1935  self.active.append([i, self.tail, -1])
1936  else:
1937  j = self.freeTail
1938  self.freeTail = self.active[self.freeTail][2]
1939  self.active[j] = [i, self.tail, -1]
1940  if self.tail != -1:
1941  self.active[self.tail][2] = j
1942  if self.head == -1:
1943  self.head = j
1944  self.tail = j
1945  self.len += 1
def lsst.geom.geometry._SubList.filter (   self,
  predicate 
)
Removes all elements E in the sub-list for which predicate(E)
evaluates to True.

Definition at line 1946 of file geometry.py.

1947  def filter(self, predicate):
1948  """Removes all elements E in the sub-list for which predicate(E)
1949  evaluates to True.
1950  """
1951  h = self.head
1952  while h != -1:
1953  t = self.active[h]
1954  if predicate(self.backingList[t[0]]):
1955  # Remove element h
1956  self.backingList[t[0]] = None
1957  self.len -= 1
1958  prev = t[1]
1959  next = t[2]
1960  if next != -1:
1961  self.active[next][1] = prev
1962  else:
1963  self.tail = prev
1964  if prev != -1:
1965  self.active[prev][2] = next
1966  else:
1967  self.head = next
1968  t[2] = self.freeTail
1969  self.freeTail = h
1970  h = next
1971  else:
1972  h = t[2]

Member Data Documentation

lsst.geom.geometry._SubList.active

Definition at line 1925 of file geometry.py.

lsst.geom.geometry._SubList.backingList

Definition at line 1924 of file geometry.py.

lsst.geom.geometry._SubList.freeTail

Definition at line 1928 of file geometry.py.

lsst.geom.geometry._SubList.head

Definition at line 1926 of file geometry.py.

lsst.geom.geometry._SubList.len

Definition at line 1929 of file geometry.py.

lsst.geom.geometry._SubList.tail

Definition at line 1927 of file geometry.py.


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