tc::AccessViolationException - The exception that is thrown when there is an attempt to read or write protected memory.
tc::ArgumentException - The exception that is thrown when one of the arguments provided to a method is not valid.
tc::ArgumentNullException - The exception that is thrown when a null reference is passed to a method that does not accept it as a valid argument.
tc::ArgumentOutOfRangeException - The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method.
tc::ArithmeticException - The exception that is thrown for errors in an arithmetic, casting, or conversion operation.
tc::OverflowException - The exception that is thrown when an arithmetic, casting, or conversion operation in a checked context results in an overflow.
tc::InvalidOperationException - The exception that is thrown when a method call is invalid for the object's current state.
tc::ObjectDisposedException - The exception that is thrown when an operation is performed on a disposed object.
tc::NotImplementedException - The exception that is thrown when a requested method or operation is not implemented.
tc::NotSupportedException - The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality.
tc::OutOfMemoryException - The exception that is thrown when there is not enough memory to continue the execution of a program.
tc::UnauthorisedAccessException - The exception that is thrown when the operating system denies access because of an I/O error or a specific type of security error.
tc::io::IOException - The exception that is thrown when an I/O error occurs.
tc::io::DirectoryNotEmptyException - The exception that is thrown when a directory is not empty.
tc::io::DirectoryNotFoundException - he exception that is thrown when part of a file or directory cannot be found.
tc::io::FileExistsException - The exception that is thrown when an attempt to overwrite/remove a file that exists on disk fails.
tc::io::FileNotFoundException - The exception that is thrown when an attempt to access a file that does not exist on disk fails.
tc::io::PathTooLongException - The exception that is thrown when a path or fully qualified file name is longer than the system-defined maximum length.
Root namespace (tc):
class ByteData - A container of linear memory, used to hold raw data.
class PlatformErrorHandlingUtil - Platform specific error handling utilities.
enum FileAccess - Defines constants for read, write, or read/write access to a file.
enum FileMode - Specifies how the operating system should open a file.
enum SeekOrigin - Specifies the position in a stream to use for seeking.
class IOUtil - Utility functions for IO based classes.
class MemoryStream - A block of run-time memory wrapped as an IStream object.
class StreamUtil - Utility class for IStream objects.
class ISource - An interface defining a byte data source.
class MemorySource - A block of run-time memory wrapped as an ISource object.
class OverlayedSource - This will replaces regions within a base source with one or more other sources, so as to override those regions in the base source when pullData() is called.
class PaddingSource - A source that provides dummy/filler data.
class StreamSource - An IStream wrapped in an ISource.
class SubSource - A ISource that exposes a subset of a base ISource.
class ISink - An interface defining a byte data sink.
class StreamSink - An IStream wrapped in an ISink.
class SubSink - A ISink that exposes a subset of a base ISink.
class IReadableSink - An interface defining a byte data sink that can be also provide an ISource.
Removed
tc::SharedPtr
Use standard library std::unique_ptr or std::shared_ptr instead.
tc::fs::GenericFileObject
No longer required due to architecture change.
tc::fs::GenericFileSystem
No longer required due to architecture change.
tc::string::transcodeUTF8ToUTF32()
Now resides in tc::string::TranscodeUtil as static method UTF8ToUTF32()
tc::string::transcodeUTF16ToUTF32()
Now resides in tc::string::TranscodeUtil as static method UTF16ToUTF32()
tc::string::transcodeUTF32ToUTF8()
Now resides in tc::string::TranscodeUtil as static method UTF32ToUTF8()
tc::string::transcodeUTF32ToUTF16()
Now resides in tc::string::TranscodeUtil as static method UTF32ToUTF16()
tc::string::transcodeUTF8ToUTF16()
Now resides in tc::string::TranscodeUtil as static method UTF8ToUTF16()
tc::string::transcodeUTF16ToUTF8()
Now resides in tc::string::TranscodeUtil as static method UTF16ToUTF8()
tc::fs::GenericFileSystem & tc::fs::GenericFileObject have been removed, instead classes pass around std::shared_ptr pointers where objects need to be shared.
.copyInstance() & .moveInstance() removed from IStorage & IStream classes
tc::io::IStream (previously tc::fs::IFileObject) was redesigned:
.state() removed, in favour of three access check methods
.canRead() - Indicates whether the current stream supports reading.
.canWrite() - Indicates whether the current stream supports writing.
.canSeek() - Indicates whether the current stream supports seeking.
uint64_t size() -> int64_t length()
.close() has been replaced with two new methods:
.flush() - Clears all buffers for this stream and causes any buffered data to be written to the underlying device.
.dispose() - Releases all resources used by the Stream.
Changes since v0.2.0
Added
Exception Specialisations
tc::AccessViolationException
- The exception that is thrown when there is an attempt to read or write protected memory.tc::ArgumentException
- The exception that is thrown when one of the arguments provided to a method is not valid.tc::ArgumentNullException
- The exception that is thrown when a null reference is passed to a method that does not accept it as a valid argument.tc::ArgumentOutOfRangeException
- The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method.tc::ArithmeticException
- The exception that is thrown for errors in an arithmetic, casting, or conversion operation.tc::OverflowException
- The exception that is thrown when an arithmetic, casting, or conversion operation in a checked context results in an overflow.tc::InvalidOperationException
- The exception that is thrown when a method call is invalid for the object's current state.tc::ObjectDisposedException
- The exception that is thrown when an operation is performed on a disposed object.tc::NotImplementedException
- The exception that is thrown when a requested method or operation is not implemented.tc::NotSupportedException
- The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality.tc::OutOfMemoryException
- The exception that is thrown when there is not enough memory to continue the execution of a program.tc::UnauthorisedAccessException
- The exception that is thrown when the operating system denies access because of an I/O error or a specific type of security error.tc::io::IOException
- The exception that is thrown when an I/O error occurs.tc::io::DirectoryNotEmptyException
- The exception that is thrown when a directory is not empty.tc::io::DirectoryNotFoundException
- he exception that is thrown when part of a file or directory cannot be found.tc::io::FileExistsException
- The exception that is thrown when an attempt to overwrite/remove a file that exists on disk fails.tc::io::FileNotFoundException
- The exception that is thrown when an attempt to access a file that does not exist on disk fails.tc::io::PathTooLongException
- The exception that is thrown when a path or fully qualified file name is longer than the system-defined maximum length.Root namespace (
tc
):class ByteData
- A container of linear memory, used to hold raw data.class PlatformErrorHandlingUtil
- Platform specific error handling utilities.Input/Output namespace (
tc::io
) (previouslytc::fs
):enum FileAccess
- Defines constants for read, write, or read/write access to a file.enum FileMode
- Specifies how the operating system should open a file.enum SeekOrigin
- Specifies the position in a stream to use for seeking.class IOUtil
- Utility functions for IO based classes.class MemoryStream
- A block of run-time memory wrapped as an IStream object.class StreamUtil
- Utility class for IStream objects.class ISource
- An interface defining a byte data source.class MemorySource
- A block of run-time memory wrapped as an ISource object.class OverlayedSource
- This will replaces regions within a base source with one or more other sources, so as to override those regions in the base source when pullData() is called.class PaddingSource
- A source that provides dummy/filler data.class StreamSource
- An IStream wrapped in an ISource.class SubSource
- A ISource that exposes a subset of a base ISource.class ISink
- An interface defining a byte data sink.class StreamSink
- An IStream wrapped in an ISink.class SubSink
- A ISink that exposes a subset of a base ISink.class IReadableSink
- An interface defining a byte data sink that can be also provide an ISource.Removed
tc::SharedPtr
std::unique_ptr
orstd::shared_ptr
instead.tc::fs::GenericFileObject
tc::fs::GenericFileSystem
tc::string::transcodeUTF8ToUTF32()
tc::string::TranscodeUtil
as static methodUTF8ToUTF32()
tc::string::transcodeUTF16ToUTF32()
tc::string::TranscodeUtil
as static methodUTF16ToUTF32()
tc::string::transcodeUTF32ToUTF8()
tc::string::TranscodeUtil
as static methodUTF32ToUTF8()
tc::string::transcodeUTF32ToUTF16()
tc::string::TranscodeUtil
as static methodUTF32ToUTF16()
tc::string::transcodeUTF8ToUTF16()
tc::string::TranscodeUtil
as static methodUTF8ToUTF16()
tc::string::transcodeUTF16ToUTF8()
tc::string::TranscodeUtil
as static methodUTF16ToUTF8()
Renamed
tc::ResourceState
->tc::ResourceStatus
tc:: ResourceStateFlag
->tc::ResourceStatusFlag
tc::fs
) -> Input/Output namespace (tc::io
)IFileObject
->IStream
IFileSystem
->IStorage
LocalFileObject
->FileStream
LocalFileSystem
->LocalStorage
PartitionedFileObject
->SubStream
SandboxedFileSystem
->SubStorage
PathUtils
->PathUtil
Changes
tc::fs::GenericFileSystem
&tc::fs::GenericFileObject
have been removed, instead classes pass aroundstd::shared_ptr
pointers where objects need to be shared..copyInstance()
&.moveInstance()
removed fromIStorage
&IStream
classestc::io::IStream
(previouslytc::fs::IFileObject
) was redesigned:.state()
removed, in favour of three access check methods.canRead()
- Indicates whether the current stream supports reading..canWrite()
- Indicates whether the current stream supports writing..canSeek()
- Indicates whether the current stream supports seeking.uint64_t size()
->int64_t length()
.close()
has been replaced with two new methods:.flush()
- Clears all buffers for this stream and causes any buffered data to be written to the underlying device..dispose()
- Releases all resources used by the Stream.void seek(uint64_t)
->int64_t seek(int64_t offset, SeekOrigin origin)
uint64_t pos()
->int64_t position()
void read(byte_t* data, size_t len)
->size_t read(byte_t* ptr, size_t count)
void write(const byte_t* data, size_t len)
->size_t write(const byte_t* ptr, size_t count)
tc::io::FileStream
(previouslytc::fs::LocalFileObject
) was changed:void open(const Path& path, FileAccessMode mode)
deleted, opening stream only available via constructorFileStream(const Path& path, FileAccessMode mode)
->FileStream(const Path& path, FileMode mode, FileAccess access)
tc::io::IStorage
(previouslytc::fs::IFileSystem
) was redesigned:tc::ResourceState getFsState()
->tc::ResourceStatus state()
closeFs()
->dispose()
openFile(const Path& path, FileAccessMode mode, GenericFileObject& file)
->openFile(const Path& path, FileMode mode, FileAccess access, std::shared_ptr<IStream>& stream)