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
14namespace Botan {
15
16/**
17* This class represents an algorithm of some kind
18*/
19class 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
34 virtual ~Algorithm() {}
35 private:
36 Algorithm(const Algorithm&) {}
37 Algorithm& operator=(const Algorithm&) { return (*this); }
38 };
39
40}
41
42#endif
virtual std::string name() const =0
virtual ~Algorithm()
Definition algo_base.h:34
virtual void clear()=0