Poster of Linux kernelThe best gift for a Linux geek
Predicates::abstract_multi_predicate

Predicates::abstract_multi_predicate

Section: C Library Functions (3) Updated: Thu Apr 7 2011
Local index Up
 

NAME

Predicates::abstract_multi_predicate -  

SYNOPSIS


#include <multi_predicates.h>

Inherits Predicates::multi_predicate.

Inherited by Predicates::Active< T >, Predicates::ActiveLocal< T >, Predicates::ActiveLocalSubdomain< T >, Predicates::ActiveNotLocal< T >, Predicates::ActiveOnBoundary< T >, Predicates::ActivePID< T >, Predicates::ActiveType< T >, Predicates::Ancestor< T >, Predicates::BoundarySide< T >, Predicates::IsNull< T >, Predicates::Level< T >, Predicates::Local< T >, Predicates::LocalLevel< T >, Predicates::LocalNotLevel< T >, Predicates::NotActive< T >, Predicates::NotAncestor< T >, Predicates::NotLevel< T >, Predicates::NotLocal< T >, Predicates::NotNull< T >, Predicates::NotPID< T >, Predicates::NotSubActive< T >, Predicates::PID< T >, Predicates::SubActive< T >, and Predicates::Type< T >.  

Public Member Functions


virtual ~abstract_multi_predicate ()

abstract_multi_predicate & operator= (const abstract_multi_predicate &rhs)

virtual bool operator() (const T &it) const
 

Protected Member Functions


abstract_multi_predicate ()

abstract_multi_predicate (const abstract_multi_predicate &rhs)

void deep_copy (const abstract_multi_predicate &rhs)
 

Protected Attributes


std::vector< predicate< T > * > _predicates
 

Detailed Description

 

template<typename T> struct Predicates::abstract_multi_predicate< T >

Definition at line 44 of file multi_predicates.h.  

Constructor & Destructor Documentation

 

template<typename T > virtual Predicates::abstract_multi_predicate< T >::~abstract_multi_predicate () [inline, virtual]

Definition at line 47 of file multi_predicates.h.

References Predicates::abstract_multi_predicate< T >::_predicates.

    {
      // Clean-up vector
      for (unsigned int i=0; i<_predicates.size(); ++i)
        delete _predicates[i];
    }
 

template<typename T > Predicates::abstract_multi_predicate< T >::abstract_multi_predicate () [inline, protected]

Definition at line 85 of file multi_predicates.h.

{}
 

template<typename T > Predicates::abstract_multi_predicate< T >::abstract_multi_predicate (const abstract_multi_predicate< T > &rhs) [inline, protected]

Definition at line 88 of file multi_predicates.h.

References Predicates::abstract_multi_predicate< T >::deep_copy().

    {
      this->deep_copy(rhs);
    }
 

Member Function Documentation

 

template<typename T > void Predicates::abstract_multi_predicate< T >::deep_copy (const abstract_multi_predicate< T > &rhs) [inline, protected]

Definition at line 96 of file multi_predicates.h.

References Predicates::abstract_multi_predicate< T >::_predicates.

Referenced by Predicates::abstract_multi_predicate< T >::abstract_multi_predicate(), and Predicates::abstract_multi_predicate< T >::operator=().

    {
      for (unsigned int i=0; i<rhs._predicates.size(); ++i)
        _predicates.push_back(rhs._predicates[i]->clone());
    }
 

template<typename T > virtual bool Predicates::abstract_multi_predicate< T >::operator() (const T &it) const [inline, virtual]

Definition at line 68 of file multi_predicates.h.

References Predicates::abstract_multi_predicate< T >::_predicates.

    {
      for (unsigned int i=0; i<_predicates.size(); ++i)
        {
          const predicate<T>* pred = _predicates[i];

          libmesh_assert (pred != NULL);
          
          if ( ! (*pred)(it) )
            return false;
        }
      
      return true;
    }
 

template<typename T > abstract_multi_predicate& Predicates::abstract_multi_predicate< T >::operator= (const abstract_multi_predicate< T > &rhs) [inline]

Definition at line 55 of file multi_predicates.h.

References Predicates::abstract_multi_predicate< T >::_predicates, and Predicates::abstract_multi_predicate< T >::deep_copy().

    {
      // First clear out the predicates vector
      for (unsigned int i=0; i<_predicates.size(); ++i)
        delete _predicates[i];

      // Now copy over the information from the rhs.
      this->deep_copy(rhs);
      
      return *this;
    }
 

Member Data Documentation

 

template<typename T > std::vector<predicate<T>*> Predicates::abstract_multi_predicate< T >::_predicates [protected]

Definition at line 103 of file multi_predicates.h.

Referenced by Predicates::Active< T >::Active(), Predicates::ActiveLocal< T >::ActiveLocal(), Predicates::ActiveLocalSubdomain< T >::ActiveLocalSubdomain(), Predicates::ActiveNotLocal< T >::ActiveNotLocal(), Predicates::ActiveOnBoundary< T >::ActiveOnBoundary(), Predicates::ActivePID< T >::ActivePID(), Predicates::ActiveType< T >::ActiveType(), Predicates::Ancestor< T >::Ancestor(), Predicates::BoundarySide< T >::BoundarySide(), Predicates::abstract_multi_predicate< T >::deep_copy(), Predicates::IsNull< T >::IsNull(), Predicates::Level< T >::Level(), Predicates::Local< T >::Local(), Predicates::LocalLevel< T >::LocalLevel(), Predicates::LocalNotLevel< T >::LocalNotLevel(), Predicates::NotActive< T >::NotActive(), Predicates::NotAncestor< T >::NotAncestor(), Predicates::NotLevel< T >::NotLevel(), Predicates::NotLocal< T >::NotLocal(), Predicates::NotNull< T >::NotNull(), Predicates::NotPID< T >::NotPID(), Predicates::NotSubActive< T >::NotSubActive(), Predicates::abstract_multi_predicate< T >::operator()(), Predicates::abstract_multi_predicate< T >::operator=(), Predicates::PID< T >::PID(), Predicates::SubActive< T >::SubActive(), Predicates::Type< T >::Type(), and Predicates::abstract_multi_predicate< T >::~abstract_multi_predicate().

 

Author

Generated automatically by Doxygen for libMesh from the source code.


 

Index

NAME
SYNOPSIS
Public Member Functions
Protected Member Functions
Protected Attributes
Detailed Description
template<typename T> struct Predicates::abstract_multi_predicate< T >
Constructor & Destructor Documentation
template<typename T > virtual Predicates::abstract_multi_predicate< T >::~abstract_multi_predicate () [inline, virtual]
template<typename T > Predicates::abstract_multi_predicate< T >::abstract_multi_predicate () [inline, protected]
template<typename T > Predicates::abstract_multi_predicate< T >::abstract_multi_predicate (const abstract_multi_predicate< T > &rhs) [inline, protected]
Member Function Documentation
template<typename T > void Predicates::abstract_multi_predicate< T >::deep_copy (const abstract_multi_predicate< T > &rhs) [inline, protected]
template<typename T > virtual bool Predicates::abstract_multi_predicate< T >::operator() (const T &it) const [inline, virtual]
template<typename T > abstract_multi_predicate& Predicates::abstract_multi_predicate< T >::operator= (const abstract_multi_predicate< T > &rhs) [inline]
Member Data Documentation
template<typename T > std::vector<predicate<T>*> Predicates::abstract_multi_predicate< T >::_predicates [protected]
Author

This document was created by man2html, using the manual pages.
Time: 21:52:58 GMT, April 16, 2011