MDL SDK API nvidia_logo_transpbg.gif Up
ireader.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IREADER_H
8#define MI_NEURAYLIB_IREADER_H
9
11
12namespace mi {
13
14namespace neuraylib {
15
24class IReader :
25 public base::Interface_declare<0xc03de0cf,0x5a03,0x4e8f,0xa1,0x59,0x6c,0xad,0xd6,0xf8,0xae,0x58,
26 neuraylib::IReader_writer_base>
27{
28public:
35 virtual Sint64 read( char* buffer, Sint64 size) = 0;
36
47 virtual bool readline( char* buffer, Sint32 size) = 0;
48
50
51
55 virtual bool supports_lookahead() const = 0;
56
72 virtual Sint64 lookahead( Sint64 size, const char** buffer) const = 0;
73
75
76};
77 // end group mi_neuray_impexp
79
80} // namespace neuraylib
81
82} // namespace mi
83
84#endif // MI_NEURAYLIB_IREADER_H
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
A reader supports binary block reads and string-oriented line reads that zero-terminate the result.
Definition: ireader.h:27
virtual bool supports_lookahead() const =0
Indicates whether lookahead is (in principle) supported.
virtual Sint64 read(char *buffer, Sint64 size)=0
Reads a number of bytes from the stream.
virtual bool readline(char *buffer, Sint32 size)=0
Reads a line from the stream.
virtual Sint64 lookahead(Sint64 size, const char **buffer) const =0
Gives access to the lookahead data.
long long Sint64
64-bit signed integer.
Definition: types.h:61
signed int Sint32
32-bit signed integer.
Definition: types.h:46
Base interface common for readers and writers.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: example_derivatives.dox:5