25 #ifndef __SYNFIG_FILESYSTEM_H 
   26 #define __SYNFIG_FILESYSTEM_H 
   49         typedef etl::handle< FileSystem > 
Handle;
 
   51         class Stream : 
public etl::rshared_object
 
   63             private std::streambuf,
 
   75                 { 
return read((
char*)buffer, size).gcount(); }
 
   86             private std::streambuf,
 
   92             virtual size_t internal_write(
const void *buffer, 
size_t size) = 0;
 
   97                 for(
size_t i = 0; i < size; i++)
 
   98                     if (!put(((
const char*)buffer)[i]).good())
 
  105                 { 
return (*
this << &streambuf).good(); }
 
  122                 file_system(file_system), filename(filename) { }
 
  125             operator bool ()
 const { 
return !
empty(); }
 
  136                 { 
return other < *
this; }
 
  138                 { 
return *
this > other || other < *
this; }
 
  140                 { 
return !(*
this != other); }