dune-fem  2.4.1-rc
idprovider.hh
Go to the documentation of this file.
1 #ifndef DUNE_FEM_IDPROVIDER_HH
2 #define DUNE_FEM_IDPROVIDER_HH
3 
4 #include <cstdlib>
5 
6 namespace Dune
7 {
8 
9  namespace Fem
10  {
11 
13  class IdProvider
14  {
15  public:
17  inline static IdProvider& instance()
18  {
19  static IdProvider idProvider;
20  return idProvider;
21  }
22 
25  size_t newId() { return lowestFreeId_++; }
26 
27  private:
29  IdProvider() :
30  lowestFreeId_(0)
31  {}
32 
33  IdProvider(const IdProvider&);
34  IdProvider& operator=(const IdProvider&);
35 
36  private:
37  size_t lowestFreeId_;
38  };
39 
40  } // namespace Fem
41 
42 } // namespace Dune
43 
44 #endif // #ifndef DUNE_FEM_IDPROVIDER_HH
static IdProvider & instance()
Access to the singleton object.
Definition: idprovider.hh:17
Singleton that manages a globally unique identifier.
Definition: idprovider.hh:13
size_t newId()
Definition: idprovider.hh:25
Definition: coordinate.hh:4