libdl
0.0.1
Simple yet powerful deep learning
Loading...
Searching...
No Matches
memorydataloader.hpp
1
#ifndef DL_LEARNING_DATALOADERS_MEMORYDATALOADER_HPP
2
#define DL_LEARNING_DATALOADERS_MEMORYDATALOADER_HPP
3
4
#include "../../utils/generic_iterator.hpp"
5
#include "../dataloader.hpp"
6
7
#include <vector>
8
9
namespace
dl {
10
11
template
<
typename
>
12
class
MemoryDataloader
;
13
14
template
<
typename
R,
typename
... Args>
15
class
MemoryDataloader
<R(Args...)> :
public
Dataloader
<R(Args...)> {
16
private
:
17
using
Instance =
typename
std::tuple<R, std::remove_reference_t<Args>
...>;
18
using
Iterator =
typename
dl::utils::GenericIterator<Instance>
;
19
std::vector<Instance>
data;
20
21
public
:
22
explicit
MemoryDataloader
(
std::vector<Instance>
data) : data(data) {}
23
virtual
~MemoryDataloader
() =
default
;
24
25
Iterator begin()
override
{
return
Iterator(data.
begin
()); }
26
Iterator end()
override
{
return
Iterator(data.
end
()); }
27
};
28
29
}
// namespace dl
30
31
#endif
std::vector::begin
T begin(T... args)
dl::Dataloader
Definition
dataloader.hpp:10
dl::MemoryDataloader
Definition
memorydataloader.hpp:12
dl::utils::GenericIterator
Represents a generic iterator that can be initialized to hold any other class instance that satisfies...
Definition
generic_iterator.hpp:24
std::vector::end
T end(T... args)
std::tuple
std::vector
dl
learning
dataloaders
memorydataloader.hpp
Generated by
1.9.8