Botan  1.10.9
algo_base.h
Go to the documentation of this file.
1 /*
2 * Algorithm Base Class
3 * (C) 2010 Jack Lloyd
4 *
5 * Distributed under the terms of the Botan license
6 */
7 
8 #ifndef BOTAN_ALGO_BASE_CLASS_H__
9 #define BOTAN_ALGO_BASE_CLASS_H__
10 
11 #include <botan/build.h>
12 #include <string>
13 
14 namespace Botan {
15 
16 /**
17 * This class represents an algorithm of some kind
18 */
19 class BOTAN_DLL Algorithm
20  {
21  public:
22 
23  /**
24  * Zeroize internal state
25  */
26  virtual void clear() = 0;
27 
28  /**
29  * @return name of this algorithm
30  */
31  virtual std::string name() const = 0;
32 
33  Algorithm() {}
34  virtual ~Algorithm() {}
35  private:
36  Algorithm(const Algorithm&) {}
37  Algorithm& operator=(const Algorithm&) { return (*this); }
38  };
39 
40 }
41 
42 #endif
virtual ~Algorithm()
Definition: algo_base.h:34