ipfs-chromium
algorithm.h
1 #pragma once
2 
3 // LCOV_EXCL_START
4 
5 #include <string>
6 
7 namespace multibase {
10 class algorithm {
11  public:
13  class block_tag {};
14 
16  class stream_tag {};
17 
18  virtual ~algorithm() = default;
19 
21  virtual std::size_t block_size() { return 0; }
22 
24  virtual std::size_t output_size() { return 0; }
25 
27  virtual std::string process(std::string_view input) = 0;
28 };
29 
30 } // namespace multibase
31 
32 // LCOV_EXCL_STOP
Definition: algorithm.h:13
Definition: algorithm.h:16
Definition: algorithm.h:10
virtual std::string process(std::string_view input)=0
virtual std::size_t output_size()
Definition: algorithm.h:24
virtual std::size_t block_size()
Definition: algorithm.h:21