roar
Loading...
Searching...
No Matches
file_source.hpp
Go to the documentation of this file.
1#pragma once
2
4
5#include <cstddef>
6#include <filesystem>
7#include <fstream>
8#include <optional>
9
10namespace Roar::Curl
11{
12 class FileSource : public Source
13 {
14 public:
15 explicit FileSource(std::filesystem::path const& filename);
16
17 std::size_t fetch(char* buffer, std::size_t amount) override;
18 std::size_t size() override;
19
20 private:
21 std::ifstream reader_;
22 std::optional<std::size_t> memoizedFileSize_;
23 };
24}
Definition file_source.hpp:13
std::size_t size() override
Definition file_source.cpp:18
std::optional< std::size_t > memoizedFileSize_
Definition file_source.hpp:22
std::ifstream reader_
Definition file_source.hpp:21
std::size_t fetch(char *buffer, std::size_t amount) override
Definition file_source.cpp:13
Sublass this source class to provide your own Source. A source provides data to upload to servers.
Definition source.hpp:12
Definition curl_error.hpp:9