UserBufferList.hpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //==============================================================================
  2. //
  3. // Copyright (c) 2019 Qualcomm Technologies, Inc.
  4. // All Rights Reserved.
  5. // Confidential and Proprietary - Qualcomm Technologies, Inc.
  6. //
  7. //==============================================================================
  8. #ifndef PSNPE_USERBUFFERLIST_HPP
  9. #define PSNPE_USERBUFFERLIST_HPP
  10. #include <vector>
  11. #include "DlSystem/UserBufferMap.hpp"
  12. #include "DlSystem/ZdlExportDefine.hpp"
  13. namespace zdl {
  14. namespace PSNPE
  15. {
  16. /** @addtogroup c_plus_plus_apis C++
  17. @{ */
  18. /**
  19. * @brief .
  20. *
  21. * The class for creating a UserBufferMap container.
  22. *
  23. */
  24. class ZDL_EXPORT UserBufferList final
  25. {
  26. public:
  27. UserBufferList();
  28. UserBufferList(const size_t size);
  29. void push_back(const zdl::DlSystem::UserBufferMap &userBufferMap);
  30. zdl::DlSystem::UserBufferMap& operator[](const size_t index);
  31. UserBufferList& operator =(const UserBufferList &other);
  32. size_t size() const noexcept;
  33. size_t capacity() const noexcept;
  34. void clear() noexcept;
  35. ~UserBufferList() = default;
  36. private:
  37. void swap(const UserBufferList &other);
  38. std::vector<zdl::DlSystem::UserBufferMap> m_userBufferMaps;
  39. };
  40. /** @} */ /* end_addtogroup c_plus_plus_apis C++ */
  41. } // namespace PSNPE
  42. } // namespace zdl
  43. #endif //PSNPE_USERBUFFERLIST_HPP