CryptoParametersBase.h 909 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include "openfhe/core/lattice/hal/lat-backend.h"
  3. #include <memory>
  4. namespace lbcrypto
  5. {
  6. template <class Element>
  7. class CryptoParametersBase;
  8. } // lbcrypto
  9. namespace openfhe
  10. {
  11. using CryptoParametersBase = lbcrypto::CryptoParametersBase<lbcrypto::DCRTPoly>;
  12. class CryptoParametersBaseDCRTPoly final
  13. {
  14. std::shared_ptr<CryptoParametersBase> m_cryptoParametersBase;
  15. public:
  16. CryptoParametersBaseDCRTPoly() = default;
  17. explicit CryptoParametersBaseDCRTPoly(
  18. const std::shared_ptr<CryptoParametersBase>& cryptoParametersBase);
  19. CryptoParametersBaseDCRTPoly(const CryptoParametersBaseDCRTPoly&) = delete;
  20. CryptoParametersBaseDCRTPoly(CryptoParametersBaseDCRTPoly&&) = delete;
  21. CryptoParametersBaseDCRTPoly& operator=(const CryptoParametersBaseDCRTPoly&) = delete;
  22. CryptoParametersBaseDCRTPoly& operator=(CryptoParametersBaseDCRTPoly&&) = delete;
  23. };
  24. } // openfhe