1
#pragma once
2

            
3
#include <memory>
4

            
5
namespace Envoy {
6
namespace Singleton {
7

            
8
/**
9
 * All singletons must derive from this type.
10
 */
11
class Instance {
12
public:
13
152701
  virtual ~Instance() = default;
14
};
15

            
16
using InstanceSharedPtr = std::shared_ptr<Instance>;
17

            
18
} // namespace Singleton
19
} // namespace Envoy