CryptoParametersBase.h 893 B

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