Concepts.h trio/Defs.h cstddef cstdint Concepts.cpp Stream.h trio::Readable trio::Writable trio::Seekable trio::Openable trio::Closeable trio::Controllable trio::Bounded trio::Buffered trio::Resizable trio //CopyrightEpicGames,Inc.AllRightsReserved. #pragmaonce #include"trio/Defs.h" #include<cstddef> #include<cstdint> namespacetrio{ classWritable; classTRIOAPIReadable{ public: virtualstd::size_tread(char*destination,std::size_tsize)=0; virtualstd::size_tread(Writable*destination,std::size_tsize)=0; protected: virtual~Readable(); }; classTRIOAPIWritable{ public: virtualstd::size_twrite(constchar*source,std::size_tsize)=0; virtualstd::size_twrite(Readable*source,std::size_tsize)=0; protected: virtual~Writable(); }; classTRIOAPISeekable{ public: virtualstd::uint64_ttell()=0; virtualvoidseek(std::uint64_tposition)=0; protected: virtual~Seekable(); }; classTRIOAPIOpenable{ public: virtualvoidopen()=0; protected: virtual~Openable(); }; classTRIOAPICloseable{ public: virtualvoidclose()=0; protected: virtual~Closeable(); }; classTRIOAPIControllable:publicOpenable,publicCloseable{ protected: virtual~Controllable(); }; classTRIOAPIBounded{ public: virtualstd::uint64_tsize()=0; protected: virtual~Bounded(); }; classTRIOAPIBuffered{ public: virtualvoidflush()=0; protected: virtual~Buffered(); }; classTRIOAPIResizable{ public: virtualvoidresize(std::uint64_tsize)=0; protected: virtual~Resizable(); }; }//namespacetrio