00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00026 #ifndef __PDF_FILE_HEADER_INCLUDED__
00027 #define __PDF_FILE_HEADER_INCLUDED__
00028
00029 #include <boost/smart_ptr.hpp>
00030 #include <vector>
00031
00032 #ifndef __PDF_OBJECT_HEADER_INCLUDED__
00033 #include "Object.hh"
00034 #endif
00035
00036 namespace pdf { namespace core {
00037
00046 class CFile
00047 {
00048 private :
00050 typedef std::vector<boost::shared_ptr<CRefObj> > CObjVec ;
00051
00053 CObjVec m_objects ;
00054
00055 public :
00056 typedef CObjVec::const_iterator iterator ;
00057 typedef CObjVec::value_type value_type ;
00058
00059 public :
00060 CFile( ) ;
00061 ~CFile( ) ;
00062
00063 const CObjRef AddObj( CObject *object ) ;
00064
00065 std::ostream& Write( std::ostream& file, const CObjRef& catalog,
00066 const CObjRef *doc_info ) const ;
00067
00068 CObject* operator[]( const CObjRef& ref ) ;
00069 const CObject* operator[]( const CObjRef& ref ) const ;
00070 } ;
00071
00072 } }
00073
00074 #endif