neuray API Programmer's Manual

ireader_writer_base.h File Reference

Description

Base interface common for readers and writers.

Code Example

ireader_writer_base.h

‎/***************************************************************************************************
 * Copyright 2024 NVIDIA Corporation. All rights reserved.
 **************************************************************************************************/

#ifndef MI_NEURAYLIB_IREADER_WRITER_BASE_H
#define MI_NEURAYLIB_IREADER_WRITER_BASE_H

#include <mi/base/interface_declare.h>

namespace mi {

namespace neuraylib {

class IStream_position;














































class IReader_writer_base :
    public base::Interface_declare<0x919370c2,0x2bb4,0x40db,0x81,0xff,0xd3,0x1c,0x52,0x10,0x54,0x64>
{
public:
    virtual Sint32 
               get_error_number() const = 0;

    virtual const char* get_error_message() const = 0;

    virtual bool eof() const = 0;

    virtual Sint32 
               get_file_descriptor() const = 0;



    virtual bool supports_recorded_access() const = 0;

    virtual const IStream_position* tell_position() const = 0;

    virtual bool seek_position( const IStream_position* stream_position) = 0;

    virtual bool rewind() = 0;




    virtual bool supports_absolute_access() const = 0;

    virtual Sint64 
               tell_absolute() const = 0;

    virtual bool seek_absolute(Sint64 pos) = 0;

    virtual Sint64 
               get_file_size() const = 0;

    virtual bool seek_end() = 0;

};
 // end group mi_neuray_impexp

} // namespace neuraylib

} // namespace mi

#endif // MI_NEURAYLIB_IREADER_WRITER_BASE_H

Namespaces

namespace 
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
namespace 
Namespace for the neuray API. More...

Classes

class 
Base interface for readers and writers. More...