2 // ********************************************************************
 
    3 // * License and Disclaimer                                           *
 
    5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
 
    6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
 
    7 // * conditions of the Geant4 Software License,  included in the file *
 
    8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
 
    9 // * include a list of copyright holders.                             *
 
   11 // * Neither the authors of this software system, nor their employing *
 
   12 // * institutes,nor the agencies providing financial support for this *
 
   13 // * work  make  any representation or  warranty, express or implied, *
 
   14 // * regarding  this  software system or assume any liability for its *
 
   15 // * use.  Please see the license in the file  LICENSE  and URL above *
 
   16 // * for the full disclaimer and the limitation of liability.         *
 
   18 // * This  code  implementation is the result of  the  scientific and *
 
   19 // * technical work of the GEANT4 collaboration.                      *
 
   20 // * By using,  copying,  modifying or  distributing the software (or *
 
   21 // * any work based  on the software)  you  agree  to acknowledge its *
 
   22 // * use  in  resulting  scientific  publications,  and indicate your *
 
   23 // * acceptance of all terms of the Geant4 Software license.          *
 
   24 // ********************************************************************
 
   27 // $Id: G4ProcessVector.icc 71231 2013-06-12 13:06:28Z gcosmo $
 
   29 inline G4bool G4ProcessVector::operator==(const G4ProcessVector &right) const
 
   31   return (this == (G4ProcessVector *) &right);
 
   34 inline G4int G4ProcessVector::entries() const
 
   36   return pProcVector->size();
 
   39 inline G4int G4ProcessVector::size() const
 
   41   return pProcVector->size();
 
   44 inline G4int G4ProcessVector::length() const
 
   46   return pProcVector->size();
 
   49 inline G4int G4ProcessVector::index(G4VProcess* aProcess) const
 
   51   G4ProcVector::iterator it;
 
   53   for (it=pProcVector->begin();it!=pProcVector->end(); ++j,it++) {
 
   54     if (*(*it)==*aProcess) return j;
 
   59 inline G4bool G4ProcessVector::contains(G4VProcess* aProcess) const
 
   61   G4ProcVector::iterator it;
 
   62   for (it=pProcVector->begin();it!=pProcVector->end(); it++) {
 
   63     if (*(*it)==*aProcess) return true;
 
   68 inline G4bool G4ProcessVector::insert(G4VProcess* aProcess)
 
   70   pProcVector->push_back(aProcess);
 
   74 inline G4bool G4ProcessVector::insertAt(G4int i,G4VProcess* aProcess)
 
   76   if ( (i<0) || (i>G4int(pProcVector->size())) ) return false;
 
   77   if (i==G4int(pProcVector->size())) {
 
   78     pProcVector->push_back(aProcess);
 
   80     G4ProcVector::iterator it=pProcVector->begin();
 
   82     for(j=0;j!=i;++j) it++;
 
   83     pProcVector->insert(it, aProcess);
 
   88 inline G4VProcess* G4ProcessVector::removeAt(G4int i)
 
   90   G4ProcVector::iterator it=pProcVector->begin();
 
   91   for(size_t j=0;j<pProcVector->size() && G4int(j)<i;++j) it++;
 
   92   G4VProcess* rValue = *it;
 
   93   pProcVector->erase(it);
 
   97 inline G4VProcess* G4ProcessVector::removeLast()
 
   99   G4VProcess* rValue = pProcVector->back();
 
  100   pProcVector->pop_back();
 
  104 inline void G4ProcessVector::clear()
 
  106   pProcVector->clear();
 
  109 inline G4VProcess* const& G4ProcessVector::operator[](G4int i) const
 
  111   return (*pProcVector)[i];
 
  114 inline G4VProcess* const& G4ProcessVector::operator()(G4int i) const
 
  116   return (*pProcVector)[i];
 
  119 inline G4VProcess* & G4ProcessVector::operator[](G4int i)
 
  121   return (*pProcVector)[i];
 
  124 inline G4VProcess* & G4ProcessVector::operator()(G4int i)
 
  126   return (*pProcVector)[i];