droplet 1.3.0
A multipurpose Discord bot with the hacker in mind
Loading...
Searching...
No Matches
IRepository.hpp
Go to the documentation of this file.
1/*
2 * (c) Copyright erarnitox.de - All rights reserved
3 * Author: Erarnitox <david@erarnitox.de>
4 *
5 * License: MIT License
6 */
7
8#pragma once
9
10#include <cstddef>
11
12template <typename DTO>
14 public:
15 virtual ~IRepositoryReader() = default;
16
17 [[nodiscard]] virtual DTO get(size_t id) const noexcept = 0;
18};
19
20template <typename DTO>
22 public:
23 virtual ~IRepositoryWriter() = default;
24
25 [[nodiscard]] virtual bool create(const DTO& object) noexcept = 0;
26
27 [[nodiscard]] virtual bool remove(size_t index) noexcept = 0;
28
29 [[nodiscard]] virtual bool update(const DTO& object) noexcept = 0;
30};
31
35template <typename DTO>
36class IRepository : public IRepositoryReader<DTO>, public IRepositoryWriter<DTO> {};
Definition IRepository.hpp:13
virtual DTO get(size_t id) const noexcept=0
virtual ~IRepositoryReader()=default
Definition IRepository.hpp:21
virtual bool create(const DTO &object) noexcept=0
virtual bool remove(size_t index) noexcept=0
virtual ~IRepositoryWriter()=default
virtual bool update(const DTO &object) noexcept=0
Definition IRepository.hpp:36