Botan 1.10.17

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
Botan::Algorithm::~Algorithm
virtual ~Algorithm()
Definition: algo_base.h:34
Botan::Algorithm::Algorithm
Algorithm()
Definition: algo_base.h:33
Botan
Definition: algo_base.h:14
Botan::Algorithm
Definition: algo_base.h:19