00001 #ifndef xmogInc_javautilIterator
00002 #define xmogInc_javautilIterator
00003
00004 # if !defined(JMS_DECLSPEC )
00005 # if defined(_MSC_VER)
00006 # pragma message( "Relying on default definition of JMS_DECLSPEC " )
00007 # endif
00008
00009
00010 # define JMS_DECLSPEC
00011 # endif
00012
00013 namespace java
00014 {
00015 namespace lang
00016 {
00017 class Object;
00018 }
00019 namespace util
00020 {
00021 class Iterator;
00022 }
00023 }
00024
00025 # include "java_lang_Object.h"
00026
00027
00028 # if (XMOG_UNDEFINE_MEM_OPERATORS==1)
00029 # if defined(new)
00030 # undef new
00031 # endif
00032 # if defined(delete)
00033 # undef delete
00034 # endif
00035 # endif
00036
00058 class JMS_DECLSPEC java::util::Iterator :
00059 public virtual ::java::lang::Object
00060 {
00061 public:
00062 enum
00063 {
00064 xmogDefaultFlags = xmog_base::GLOBAL,
00065 xmogMajorVersion = 3,
00066 xmogMinorVersion = 2,
00067 xmogPatchVersion = 9,
00068 xmogBuildNumber = 2047
00069 };
00070
00071 public:
00072
00073 typedef ::xmog_java_array_template< ::java::util::Iterator > array1D;
00074
00075 typedef ::xmog_java_array_template< ::xmog_java_array_template< ::java::util::Iterator > > array2D;
00076
00078
00095 Iterator( );
00096
00109 Iterator( const ::java::util::Iterator & _rhs );
00110
00123 Iterator( jobject _local, xmog_flags f_xflags );
00124
00137 Iterator( const ::xmog_null & _null_instance );
00138
00149 Iterator( ::xmog_java_array * _arr, jint _index );
00150
00164 Iterator( const ::java::util::Iterator & _rhs, ::xmog_localenv * p_lxenv );
00165
00177 XMOG_EXPLICIT Iterator( ::xmog_base * _delegate, bool _owns_delegate = true );
00178
00192 Iterator( ::xmog_java_ref * _cra, ::xmog_java_dynamic * _dynamic, xmog_flags f_xflags = xmogDefaultFlags );
00193
00200 ~Iterator( );
00201
00214 java::util::Iterator operator =( const java::util::Iterator & _rhs );
00215
00230 void operator delete( void * _ptr );
00231
00232 # if (XMOG_SUPPORTS_PLACEMENT_DELETE==1)
00248 void operator delete( void * ptr, void * loc );
00249 # endif
00250
00265 void * operator new( size_t _size );
00266
00267 # if (XMOG_SUPPORTS_PLACEMENT_NEW==1)
00285 void * operator new( size_t _size, void * _ptr );
00286 # endif
00287
00308 static ::java::util::Iterator dyna_cast( const ::xmog_base & _rhs, ::xmog_localenv * p_lxenv = NULL, xmog_flags flags = xmogDefaultFlags );
00309
00323 static ::xmog_java_class * get_class( );
00324
00333 static ::xmog_java_class * get_element_class( );
00334
00336
00351 virtual bool hasNext( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00352
00363 virtual ::java::lang::Object next( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00364
00381 virtual void remove( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00382
00384
00403 virtual ::xmog_java_class * xmog_get_java_peer( ::xmog_localenv * p_lxenv = NULL );
00405
00406 };
00407 #endif
00408