First
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
|
||||
#include "fs/IStreamSink.h"
|
||||
#include "tl/flag_set2.h"
|
||||
#include "fs/Api.h"
|
||||
|
||||
namespace fs
|
||||
{
|
||||
|
||||
class FS_API ISink : public IStreamSink
|
||||
{
|
||||
public:
|
||||
enum class Flag
|
||||
{
|
||||
};
|
||||
typedef tl::flag_set2<Flag> Flags;
|
||||
|
||||
ISink() = default;
|
||||
~ISink() override = default;
|
||||
|
||||
ISink(ISink&&) = default;
|
||||
ISink& operator=(ISink&&) = default;
|
||||
|
||||
//changes the sink cursor either to an absolute offset or relative one
|
||||
//NOTE!!! if the cursor is moved beyond the sink size, the size is increased to fit it.
|
||||
virtual void seekBeg(uint64_t offset) = 0;
|
||||
virtual void seekRel(int64_t offset) = 0;
|
||||
|
||||
//returns the sink cursor. Always between 0 and size
|
||||
virtual uint64_t tell() const = 0;
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user