/[escript]/trunk/escript/src/AbstractDomain.h
ViewVC logotype

Diff of /trunk/escript/src/AbstractDomain.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1801 by ksteube, Fri Sep 19 01:37:09 2008 UTC revision 1877 by ksteube, Tue Oct 14 02:58:39 2008 UTC
# Line 1  Line 1 
1    
 /* $Id$ */  
   
2  /*******************************************************  /*******************************************************
3   *  *
4   *           Copyright 2003-2007 by ACceSS MNRF  * Copyright (c) 2003-2008 by University of Queensland
5   *       Copyright 2007 by University of Queensland  * Earth Systems Science Computational Center (ESSCC)
6   *  * http://www.uq.edu.au/esscc
7   *                http://esscc.uq.edu.au  *
8   *        Primary Business: Queensland, Australia  * Primary Business: Queensland, Australia
9   *  Licensed under the Open Software License version 3.0  * Licensed under the Open Software License version 3.0
10   *     http://www.opensource.org/licenses/osl-3.0.php  * http://www.opensource.org/licenses/osl-3.0.php
11   *  *
12   *******************************************************/  *******************************************************/
13    
14    
15  #if !defined escript_AbstractDomain_20040609_H  #if !defined escript_AbstractDomain_20040609_H
16  #define escript_AbstractDomain_20040609_H  #define escript_AbstractDomain_20040609_H
# Line 24  Line 23 
23  #include <boost/python/list.hpp>  #include <boost/python/list.hpp>
24  #include "paso/Paso_MPI.h"  #include "paso/Paso_MPI.h"
25    
26    
27    #include "Pointers.h"
28    
29  namespace escript {  namespace escript {
30  // class forward declarations  // class forward declarations
31  class Data;  class Data;
# Line 35  class Data; Line 37  class Data;
37     Base class for all escript domains.     Base class for all escript domains.
38  */  */
39    
40  class AbstractDomain {  class AbstractDomain;
41    
42    typedef POINTER_WRAPPER_CLASS(AbstractDomain) Domain_ptr;
43    typedef POINTER_WRAPPER_CLASS(const AbstractDomain) const_Domain_ptr;
44    
45    class AbstractDomain : public REFCOUNT_BASE_CLASS(AbstractDomain){
46    
47   public:   public:
48    
49    /**
50    \brief Returns smart pointer which is managing this object.
51    If one does not exist yet it creates one.
52    
53    Note: This is _not_ equivalent to weak_ptr::lock.
54    */
55       ESCRIPT_DLL_API
56       Domain_ptr getPtr();
57       ESCRIPT_DLL_API
58       const_Domain_ptr getPtr() const;
59    
60     // structure holding values for X, size and normal     // structure holding values for X, size and normal
61     typedef int StatusType;     typedef int StatusType;
# Line 101  class AbstractDomain { Line 118  class AbstractDomain {
118    ESCRIPT_DLL_API    ESCRIPT_DLL_API
119    virtual int getMPIRank() const;    virtual int getMPIRank() const;
120    
121      /**
122         \brief
123         If compiled for MPI then execute an MPI_Barrier, else do nothing
124      */
125    
126      ESCRIPT_DLL_API
127      virtual void MPIBarrier() const;
128      /**
129         \brief
130         Return true if on MPI master, else false
131      */
132    
133      ESCRIPT_DLL_API
134      virtual bool onMasterProcessor() const;
135    
136    
137    
138    /**    /**
# Line 388  class AbstractDomain { Line 420  class AbstractDomain {
420    ESCRIPT_DLL_API    ESCRIPT_DLL_API
421    virtual int* borrowListOfTagsInUse(int functionSpaceCode) const;    virtual int* borrowListOfTagsInUse(int functionSpaceCode) const;
422    
423      /**
424        \brief Checks if this domain allows tags for the specified functionSpaceCode.
425      */
426      ESCRIPT_DLL_API
427      virtual bool canTag(int functionspacecode) const;
428    
429   protected:   protected:
430    

Legend:
Removed from v.1801  
changed lines
  Added in v.1877

  ViewVC Help
Powered by ViewVC 1.1.26