Cortex 6.0.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

IECore::FileSystemIndexedIO Class Reference

#include <FileSystemIndexedIO.h>

Inheritance diagram for IECore::FileSystemIndexedIO:

List of all members.

Public Member Functions

 IE_CORE_DECLAREMEMBERPTR (FileSystemIndexedIO)
 FileSystemIndexedIO (const std::string &path, const IndexedIO::EntryID &root, IndexedIO::OpenMode mode)
 Open an existing device or create a new one.
virtual IndexedIO::OpenMode openMode () const
 Returns the mode with which the interface was created.
IndexedIOInterfacePtr resetRoot () const
 Returns a new interface with the root set to the current directory.
void chdir (const IndexedIO::EntryID &name)
void mkdir (const IndexedIO::EntryID &name)
IndexedIO::EntryID pwd ()
 Retrieve the current directorys, relative to the root.
IndexedIO::EntryList ls (IndexedIOFilterPtr f=0)
IndexedIO::Entry ls (const IndexedIO::EntryID &name)
 Return details of a specific entry.
unsigned long rm (const IndexedIO::EntryID &name)
void write (const IndexedIO::EntryID &name, const float *x, unsigned long arrayLength)
void write (const IndexedIO::EntryID &name, const double *x, unsigned long arrayLength)
void write (const IndexedIO::EntryID &name, const half *x, unsigned long arrayLength)
void write (const IndexedIO::EntryID &name, const int *x, unsigned long arrayLength)
void write (const IndexedIO::EntryID &name, const int64_t *x, unsigned long arrayLength)
void write (const IndexedIO::EntryID &name, const uint64_t *x, unsigned long arrayLength)
void write (const IndexedIO::EntryID &name, const unsigned int *x, unsigned long arrayLength)
void write (const IndexedIO::EntryID &name, const char *x, unsigned long arrayLength)
void write (const IndexedIO::EntryID &name, const unsigned char *x, unsigned long arrayLength)
void write (const IndexedIO::EntryID &name, const short *x, unsigned long arrayLength)
void write (const IndexedIO::EntryID &name, const unsigned short *x, unsigned long arrayLength)
void write (const IndexedIO::EntryID &name, const std::string *x, unsigned long arrayLength)
void write (const IndexedIO::EntryID &name, const float &x)
void write (const IndexedIO::EntryID &name, const double &x)
void write (const IndexedIO::EntryID &name, const half &x)
void write (const IndexedIO::EntryID &name, const int &x)
void write (const IndexedIO::EntryID &name, const int64_t &x)
void write (const IndexedIO::EntryID &name, const uint64_t &x)
void write (const IndexedIO::EntryID &name, const std::string &x)
void write (const IndexedIO::EntryID &name, const unsigned int &x)
void write (const IndexedIO::EntryID &name, const char &x)
void write (const IndexedIO::EntryID &name, const unsigned char &x)
void write (const IndexedIO::EntryID &name, const short &x)
void write (const IndexedIO::EntryID &name, const unsigned short &x)
void read (const IndexedIO::EntryID &name, float *&x, unsigned long arrayLength)
void read (const IndexedIO::EntryID &name, double *&x, unsigned long arrayLength)
void read (const IndexedIO::EntryID &name, half *&x, unsigned long arrayLength)
void read (const IndexedIO::EntryID &name, int *&x, unsigned long arrayLength)
void read (const IndexedIO::EntryID &name, int64_t *&x, unsigned long arrayLength)
void read (const IndexedIO::EntryID &name, uint64_t *&x, unsigned long arrayLength)
void read (const IndexedIO::EntryID &name, unsigned int *&x, unsigned long arrayLength)
void read (const IndexedIO::EntryID &name, char *&x, unsigned long arrayLength)
void read (const IndexedIO::EntryID &name, unsigned char *&x, unsigned long arrayLength)
void read (const IndexedIO::EntryID &name, std::string *&x, unsigned long arrayLength)
void read (const IndexedIO::EntryID &name, short *&x, unsigned long arrayLength)
void read (const IndexedIO::EntryID &name, unsigned short *&x, unsigned long arrayLength)
void read (const IndexedIO::EntryID &name, float &x)
void read (const IndexedIO::EntryID &name, double &x)
void read (const IndexedIO::EntryID &name, half &x)
void read (const IndexedIO::EntryID &name, int &x)
void read (const IndexedIO::EntryID &name, int64_t &x)
void read (const IndexedIO::EntryID &name, uint64_t &x)
void read (const IndexedIO::EntryID &name, std::string &x)
void read (const IndexedIO::EntryID &name, unsigned int &x)
void read (const IndexedIO::EntryID &name, char &x)
void read (const IndexedIO::EntryID &name, unsigned char &x)
void read (const IndexedIO::EntryID &name, short &x)
void read (const IndexedIO::EntryID &name, unsigned short &x)

Static Public Member Functions

static IndexedIOInterfacePtr create (const std::string &path, const IndexedIO::EntryID &root, IndexedIO::OpenMode mode)
 Attempt to open the given device for read operations. Must throw an exception if unable to.

Protected Member Functions

template<typename T >
void write (const IndexedIO::EntryID &name, const T *x, unsigned long arrayLength)
template<typename T >
void read (const IndexedIO::EntryID &name, T *&x, unsigned long arrayLength) const
template<typename T >
void write (const IndexedIO::EntryID &name, const T &x)
template<typename T >
void read (const IndexedIO::EntryID &name, T &x) const

Protected Attributes

IndexedIOPath m_currentDirectory
IndexedIO::OpenMode m_mode
 The mode this device was opened with.

Detailed Description

An implementation of IndexedIOInterface which operates as an actual file system on disk


Member Function Documentation

void IECore::FileSystemIndexedIO::chdir ( const IndexedIO::EntryID &  name) [virtual]

Relocate to a different directory within the current device. Attempting to navigate above the current root directory will throw an exception.

Parameters:
nameThe directory to relocate to. Can be an absolute or relative path. Special directory names such as ".", "..", and "/" are supported.

Implements IECore::IndexedIOInterface.

IndexedIO::EntryList IECore::FileSystemIndexedIO::ls ( IndexedIOFilterPtr  f = 0) [virtual]

Find file and/or directory names contained within the current index. Short names to the files/directories are always returned.

Parameters:
fA subclass of IndexedIOFilter to allow removal of entries which are of no conern.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::mkdir ( const IndexedIO::EntryID &  name) [virtual]

Create a new directory. Automatically creates parent directories if needed.

Parameters:
nameThe directory to create.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
char &  x 
) [virtual]

Read a char from an existing file

Parameters:
nameThe name of the file to be read
xReturns the data read.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
float *&  x,
unsigned long  arrayLength 
) [virtual]

Read a float array from an existing file.

Parameters:
nameThe name of the file to be read
xThe buffer to fill. If 0 is passed, then memory is allocated and should be freed by the caller.
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
double *&  x,
unsigned long  arrayLength 
) [virtual]

Read a double array from an existing file.

Parameters:
nameThe name of the file to be read
xThe buffer to fill. If 0 is passed, then memory is allocated and should be freed by the caller.
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
half *&  x,
unsigned long  arrayLength 
) [virtual]

Read a half array from an existing file.

Parameters:
nameThe name of the file to be read
xThe buffer to fill. If 0 is passed, then memory is allocated and should be freed by the caller.
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
int *&  x,
unsigned long  arrayLength 
) [virtual]

Read an int array from an existing file.

Parameters:
nameThe name of the file to be read
xThe buffer to fill. If 0 is passed, then memory is allocated and should be freed by the caller.
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
int64_t *&  x,
unsigned long  arrayLength 
) [virtual]

Read a long array from an existing file.

Parameters:
nameThe name of the file to be read
xThe buffer to fill. If 0 is passed, then memory is allocated and should be freed by the caller.
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
uint64_t *&  x,
unsigned long  arrayLength 
) [virtual]

Read a long array from an existing file.

Parameters:
nameThe name of the file to be read
xThe buffer to fill. If 0 is passed, then memory is allocated and should be freed by the caller.
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
unsigned int *&  x,
unsigned long  arrayLength 
) [virtual]

Read an unsigned int array from an existing file.

Parameters:
nameThe name of the file to be read
xThe buffer to fill. If 0 is passed, then memory is allocated and should be freed by the caller.
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
float &  x 
) [virtual]

Read a float from an existing file.

Parameters:
nameThe name of the file to be read
xReturns the data read.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
char *&  x,
unsigned long  arrayLength 
) [virtual]

Read a char array from an existing file.

Parameters:
nameThe name of the file to be read
xThe buffer to fill. If 0 is passed, then memory is allocated and should be freed by the caller.
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
unsigned char *&  x,
unsigned long  arrayLength 
) [virtual]

Read an unsigned char array from an existing file.

Parameters:
nameThe name of the file to be read
xThe buffer to fill. If 0 is passed, then memory is allocated and should be freed by the caller.
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
std::string *&  x,
unsigned long  arrayLength 
) [virtual]

Read a string array from an existing file.

Parameters:
nameThe name of the file to be read
xThe buffer to fill. If 0 is passed, then memory is allocated and should be freed by the caller.
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
short *&  x,
unsigned long  arrayLength 
) [virtual]

Read a short array from an existing file.

Parameters:
nameThe name of the file to be read
xThe buffer to fill. If 0 is passed, then memory is allocated and should be freed by the caller.
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
unsigned short *&  x,
unsigned long  arrayLength 
) [virtual]

Read an unsigned short array from an existing file.

Parameters:
nameThe name of the file to be read
xThe buffer to fill. If 0 is passed, then memory is allocated and should be freed by the caller.
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
double &  x 
) [virtual]

Read a double from an existing file

Parameters:
nameThe name of the file to be read
xReturns the data read.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
half &  x 
) [virtual]

Read a half from an existing file

Parameters:
nameThe name of the file to be read
xReturns the data read.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
int &  x 
) [virtual]

Read an int from an existing file

Parameters:
nameThe name of the file to be read
xReturns the data read.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
int64_t &  x 
) [virtual]

Read a long from an existing file

Parameters:
nameThe name of the file to be read
xReturns the data read.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
uint64_t &  x 
) [virtual]

Read a long from an existing file

Parameters:
nameThe name of the file to be read
xReturns the data read.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
std::string &  x 
) [virtual]

Read a string from an existing file

Parameters:
nameThe name of the file to be read
xReturns the data read.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
unsigned int &  x 
) [virtual]

Read an unsigned int from an existing file

Parameters:
nameThe name of the file to be read
xReturns the data read.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
unsigned char &  x 
) [virtual]

Read an unsigned char from an existing file

Parameters:
nameThe name of the file to be read
xReturns the data read.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
short &  x 
) [virtual]

Read a short from an existing file

Parameters:
nameThe name of the file to be read
xReturns the data read.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::read ( const IndexedIO::EntryID &  name,
unsigned short &  x 
) [virtual]

Read an unsigned char from an existing file

Parameters:
nameThe name of the file to be read
xReturns the data read.

Implements IECore::IndexedIOInterface.

unsigned long IECore::FileSystemIndexedIO::rm ( const IndexedIO::EntryID &  name) [virtual]

Remove a specified file or directory. If an attempt is made to delete the current directory, the operation is permitted but the current directory is then undefined and must be reset using chdir with an absolute path.

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const unsigned char *  x,
unsigned long  arrayLength 
) [virtual]

Create a new file containing the specified unsigned char array contents

Parameters:
nameThe name of the file to be written
xThe data to write
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const int64_t &  x 
) [virtual]

Create a new file containing the specified long

Parameters:
nameThe name of the file to be written
xThe data to write

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const char &  x 
) [virtual]

Create a new file containing the specified char

Parameters:
nameThe name of the file to be written
xThe data to write

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const std::string &  x 
) [virtual]

Create a new file containing the specified string

Parameters:
nameThe name of the file to be written
xThe data to write

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const float *  x,
unsigned long  arrayLength 
) [virtual]

Create a new file containing the specified float array contents

Parameters:
nameThe name of the file to be written
xThe data to write
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const float &  x 
) [virtual]

Create a new file containing the specified float

Parameters:
nameThe name of the file to be written
xThe data to write

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const double *  x,
unsigned long  arrayLength 
) [virtual]

Create a new file containing the specified double array contents

Parameters:
nameThe name of the file to be written
xThe data to write
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const double &  x 
) [virtual]

Create a new file containing the specified double

Parameters:
nameThe name of the file to be written
xThe data to write

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const half *  x,
unsigned long  arrayLength 
) [virtual]

Create a new file containing the specified half array contents

Parameters:
nameThe name of the file to be written
xThe data to write
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const unsigned int &  x 
) [virtual]

Create a new file containing the specified unsigned int

Parameters:
nameThe name of the file to be written
xThe data to write

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const uint64_t *  x,
unsigned long  arrayLength 
) [virtual]

Create a new file containing the specified unsigned long array contents

Parameters:
nameThe name of the file to be written
xThe data to write
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const unsigned char &  x 
) [virtual]

Create a new file containing the specified unsigned char

Parameters:
nameThe name of the file to be written
xThe data to write

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const unsigned short &  x 
) [virtual]

Create a new file containing the specified unsigned short

Parameters:
nameThe name of the file to be written
xThe data to write

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const short *  x,
unsigned long  arrayLength 
) [virtual]

Create a new file containing the specified short array contents

Parameters:
nameThe name of the file to be written
xThe data to write
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const std::string *  x,
unsigned long  arrayLength 
) [virtual]

Create a new file containing the specified string array contents

Parameters:
nameThe name of the file to be written
xThe data to write
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const half &  x 
) [virtual]

Create a new file containing the specified half

Parameters:
nameThe name of the file to be written
xThe data to write

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const int &  x 
) [virtual]

Create a new file containing the specified int

Parameters:
nameThe name of the file to be written
xThe data to write

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const uint64_t &  x 
) [virtual]

Create a new file containing the specified long

Parameters:
nameThe name of the file to be written
xThe data to write

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const short &  x 
) [virtual]

Create a new file containing the specified short

Parameters:
nameThe name of the file to be written
xThe data to write

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const char *  x,
unsigned long  arrayLength 
) [virtual]

Create a new file containing the specified char array contents

Parameters:
nameThe name of the file to be written
xThe data to write
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const unsigned int *  x,
unsigned long  arrayLength 
) [virtual]

Create a new file containing the specified unsigned int array contents

Parameters:
nameThe name of the file to be written
xThe data to write
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const unsigned short *  x,
unsigned long  arrayLength 
) [virtual]

Create a new file containing the specified unsigned short array contents

Parameters:
nameThe name of the file to be written
xThe data to write
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const int64_t *  x,
unsigned long  arrayLength 
) [virtual]

Create a new file containing the specified unsigned long array contents

Parameters:
nameThe name of the file to be written
xThe data to write
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.

void IECore::FileSystemIndexedIO::write ( const IndexedIO::EntryID &  name,
const int *  x,
unsigned long  arrayLength 
) [virtual]

Create a new file containing the specified unsigned int array contents

Parameters:
nameThe name of the file to be written
xThe data to write
arrayLengthThe number of elements in the array

Implements IECore::IndexedIOInterface.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends