droplet
1.3.0
A multipurpose Discord bot with the hacker in mind
Toggle main menu visibility
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
12
template
<
typename
DTO>
13
class
IRepositoryReader
{
14
public
:
15
virtual
~IRepositoryReader
() =
default
;
16
17
[[nodiscard]]
virtual
DTO
get
(
size_t
id
)
const
noexcept
= 0;
18
};
19
20
template
<
typename
DTO>
21
class
IRepositoryWriter
{
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
35
template
<
typename
DTO>
36
class
IRepository
:
public
IRepositoryReader
<DTO>,
public
IRepositoryWriter
<DTO> {};
IRepositoryReader
Definition
IRepository.hpp:13
IRepositoryReader::get
virtual DTO get(size_t id) const noexcept=0
IRepositoryReader::~IRepositoryReader
virtual ~IRepositoryReader()=default
IRepositoryWriter
Definition
IRepository.hpp:21
IRepositoryWriter::create
virtual bool create(const DTO &object) noexcept=0
IRepositoryWriter::remove
virtual bool remove(size_t index) noexcept=0
IRepositoryWriter::~IRepositoryWriter
virtual ~IRepositoryWriter()=default
IRepositoryWriter::update
virtual bool update(const DTO &object) noexcept=0
IRepository
Definition
IRepository.hpp:36
src
bot_library
bot
core
interfaces
include
IRepository.hpp
Generated by
1.18.0