~njansson/dolfin/hpc

« back to all changes in this revision

Viewing changes to sandbox/ilmarw/AssemblyFactory.h

  • Committer: Niclas Jansson
  • Date: 2010-10-17 10:21:52 UTC
  • Revision ID: njansson@csc.kth.se-20101017102152-e6u3c9uwxa4z19c8
Minor fixes in configure.ac

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// Copyright (C) 2007 Ilmar Wilbers.
2
 
// Licensed under the GNU LGPL Version 2.1.
3
 
//
4
 
// Modified by Garth N. Wells, 2008.
5
 
//
6
 
// First added:  2008-05-21
7
 
// Last changed: 2008-05-21
8
 
 
9
 
#ifndef __ASSEMBLY_FACTORY_H
10
 
#define __ASSEMBLY_FACTORY_H
11
 
 
12
 
#include "AssemblyMatrix.h"
13
 
#include "uBlasVector.h"
14
 
#include "SparsityPattern.h"
15
 
#include "LinearAlgebraFactory.h"
16
 
 
17
 
 
18
 
namespace dolfin
19
 
{
20
 
 
21
 
  class AssemblyFactory : public LinearAlgebraFactory
22
 
  {
23
 
  public:
24
 
 
25
 
    /// Destructor
26
 
    virtual ~AssemblyFactory() {}
27
 
 
28
 
    /// Create empty matrix
29
 
    AssemblyMatrix* createMatrix() const
30
 
    { return new AssemblyMatrix(); }
31
 
 
32
 
    /// Create empty vector
33
 
    uBlasVector* createVector() const
34
 
    { return new uBlasVector(); }
35
 
 
36
 
    /// Create empty sparsity pattern 
37
 
    SparsityPattern* createPattern() const
38
 
    { return new SparsityPattern(); }
39
 
 
40
 
    /// Return singleton instance
41
 
    static AssemblyFactory& instance() 
42
 
    { return factory; }
43
 
 
44
 
  private:
45
 
 
46
 
    /// Private Constructor
47
 
    AssemblyFactory() {}
48
 
 
49
 
    // Singleton instance
50
 
    static AssemblyFactory factory;
51
 
  };
52
 
}
53
 
 
54
 
// Initialise static data
55
 
AssemblyFactory AssemblyFactory::factory;
56
 
 
57
 
#endif